кто может сказать почему не работает поиск
| Код | #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<string.h> int i,n=3;
struct PLANT { char rod[20]; char vid[20]; char naz[20]; PLANT*Next; }; PLANT *V_Nachalo(PLANT*First,PLANT x) { PLANT *Vsp; Vsp=new(PLANT); strcpy(Vsp->rod,x.rod); strcpy(Vsp->vid,x.vid); strcpy(Vsp->naz,x.naz); Vsp->Next=First; First=Vsp; return First; } PLANT *V_Spisok(PLANT*Pred,PLANT x) { PLANT*Vsp; Vsp=new(PLANT); strcpy(Vsp->rod,x.rod); strcpy(Vsp->vid,x.vid); strcpy(Vsp->naz,x.naz); Vsp->Next=Pred->Next; Pred->Next=Vsp; return Vsp; } void Print(PLANT *First) { PLANT *Vsp; //PLANT x; Vsp=First; cout<<"ROD | VID | NAZVANIE\n"; while(Vsp) { cout<<Vsp->rod<<" "<<Vsp->vid<<" "<<Vsp->naz<<" \n"; Vsp=Vsp->Next; } cout<<"\n"; } PLANT *Iz_Nachala(PLANT *First) { PLANT *Vsp; Vsp=First->Next; delete First; return Vsp; } int Pust(PLANT *First) { return !First; } PLANT *Ochistka(PLANT *First) { while(!Pust(First)) First=Iz_Nachala(First); return First; } void Poisk(PLANT *First) //????????????????????????????????? {PLANT *a; a=First; cout<<"poisk vyberete punkt\n 1.vidy\n2.rody\n"; int k,i; cin>>k; n=3; switch(k) { case 1:{ char vid[20]; cout<<"vvedite vid->"; cin>>vid; cout<<"ROD | VID | NAZVANIE\n"; for(i=0;i<n;i++) if(strcmp(a->vid,vid)==0) { cout.width(18);cout<<a->rod; cout.width(8);cout<<a->vid; cout.width(8);cout<<a->naz<<"\n"; } }break; case 2:{ char rod[20]; cout<<"vvedite rod->"; cin>>rod; cout<<"ROD | VID | NAZVANIE\n"; for(i=0;i<n;i++) if(strcmp(a->rod,rod)==0) { cout.width(18);cout<<a->rod; cout.width(18);cout<<a->vid; cout.width(18);cout<<a->naz<<"\n"; } } break; default:cout<<"net takogo punkt\n";break; } getch(); } int main() { PLANT p,*S1,*V1; // int i,n; clrscr(); S1=NULL; cout<<"vvedite rod"; cin>>p.rod; cout<<"vvedite vid"; cin>>p.vid; cout<<"vvedite naz"; cin>>p.naz; S1=V_Nachalo(S1,p); n=3; V1=S1; for(i=1;i<n;i++) { cout<<"vvedite rod"; cin>>p.rod; cout<<"vvedite vid"; cin>>p.vid; cout<<"vvedite naz"; cin>>p.naz; V1=V_Spisok(V1,p); clrscr(); } cout<<"Spisok\n"; Print(S1); V1=S1; Poisk(S1); S1=Ochistka(S1); getch(); }
|
надеюсь на скорую помощь |