[ Kushwais @ 10.06.2008. 10:23 ] @
Imam sledeci problem , class Person sastoji se iz jedne "instanzvariable" instanz promenljive ?? koja treba Ime , Prezime i Password da prihvati. Resio sam to tako da posle Imena stavim " : ", Prezimena isto " : " i naravno po zelji metoda print da ispise , Ime , Prezime , password ili sve zajedno . Evo ga kod i za sada to funkcionise ... Code: class Person { char name [160]; public: Person (char *a); void print(void); void print_vorname(); void print_nachname(); void print_kennwort(); }; Person::Person(char *a){ strcpy(name,a); for (int i=0;i<=strlen(name);i++){ if(name[i]== ' ') name[i]=':'; } } void Person::print(void) {// Ime ,prezime , pass for(int i=0;i<=strlen(name);i++){ if (name[i]==':') cout<<' '; else cout<<name[i]; } cout<<endl; } void Person::print_vorname(){// Ime cout<< "Vorname lautet "; for (int i=0;i<=strlen(name);i++){ if (name[i]!=':') cout<<name[i]; if (name[i]==':') break; } cout<<endl; } void Person::print_nachname(){// Prezime cout<< "Nachname lautet "; int start; for (int i=0;name[i]!=':';i++){ if (name[i]==':') start=i; } for (int a=start+1;name[a]!=':';a++){ cout<< name[a] ; } cout<<endl; } void Person::print_kennwort(){// Pass cout<< "Kennwort lautet "; int sta; for (int i=strlen(name);name[i]!=':';i--){ if(name[i]!=':')sta=i; } for(;name[sta]!='\0';sta++){ cout<< name[sta] ; } cout<<endl; Problem je u sledecem ... Ako bih probao np. John:Slavisa Markovich Agent:007 :) da koristim ! Resenje bi bilo da ako slucajno u stringu dodje do " : " bilo u Imenu ili Prezimenu ili vec u Passwordu da od ":" napravim "::" , tako da bi ":" i dalje razdvajalo Ime , prezime ... a "::" pokazivalo da se radi o recimo Imenu samo , i prilikom ispisa od "::" opet ispise samo jednostavno ":". A prilikom ispisa ":" koje razdvajaju Ime i np. Prezime ostane prazno Probao sam string& insert () ili samo insert () ali mi ne uspeva . Hvala unapred !! |