Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.585 pregleda

Najnovija ↓

Problem sa class-om 10.06.2008. u 11:23 · pre 223 meseca #1
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 !!
Re: Problem sa class-om 10.06.2008. u 17:10 · pre 223 meseca #2
Moguce je da sam bas nejasan bio :)

Kako da u string name ubacim ':' ako u stringu naidjem na ':'... znaci da od ':' odradim string ':'':'....

Probao sam sa ... string& insert(size_type pos,const char* a) a i druge metode ali ne ide :(
Re: Problem sa class-om 11.06.2008. u 03:27 · pre 223 meseca #3
Mozes ovako (nisam ubacio u klasu jer mislim da to znas i sam)
Pretvara Test:name u Test::name
Code:

#include <iostream>
using namespace std;

int main()
{
    char name[256]="Test:name";
    // odavde
    int n=0;
    char tempbuffer[256];
    while(name[n]!=0) // nula je na kraju svakog stringa
    {
        if(name[n]==':' && name[n-1]!=':') // ako je trenutni znak : i nije i predhodni :
        {
            strcpy(tempbuffer,&name[n+1]); // kopiramo sve posle : u tempbuffer
            name[n+1]=':'; // stavljamo : posle prvog : , sad imamo ::
            strcpy(&name[n+2],tempbuffer); // i kopiramo tekst ponovo ovde, posle ::
        }
        n++; // inkrementiramo n
    }
    // dovde
    cout << name << endl;
    return 0;
}
Potpis
HomePage http://www.eurora3d.com
Re: Problem sa class-om 23.06.2008. u 16:22 · pre 223 meseca #5
Citat:
Eurora3D Team:
Code:

...
    int n=0;
...

    if(name[n]==':' && name[n-1]!=':') 
    {
      ...
    }
}


Khm...
Re: Problem sa class-om 23.06.2008. u 18:31 · pre 223 meseca #6
Tja, to će da crkne samo ako string počinje sa ":", a ko normalan još počinje reči dvotačkom :D
Potpis
IOCC
Re: Problem sa class-om 23.06.2008. u 18:36 · pre 223 meseca #7
^ Onaj ko voli da brlja po $PATH-u? :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme