Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc za pocetnika

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoc za pocetnika

Strane: 1 2

[ Pregleda: 4897 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Pomoc za pocetnika30.07.2006. u 14:49 - pre 215 meseci
Citat:
android~paranoid: Uf, uopste nisam video da si stavio to u strukturu.
Radio sam sa listama, ono osnovno, dodavanje clana, brisanje, sortiranje...
ali ne u klasama, nego u obicnom C-u, tako da se sad malo gubim.

Hvala ti puno!!!


E, pa odlicno onda, ako si lepo skontao to u C-u, nema nikakvog razloga da ti stvara probleme ovde. Najteze si prosao, sad samo analogno sve primeni i nema frke za tebe.
Ja palim sad na nekih 10 dana, pa ti necu moci pomagati, ali valjda ce se naci neko ako zapnes... Pozdrav i javi kad nesto konkretno uradis!
De si Deda...
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.041net.co.yu.



Profil

icon Re: Pomoc za pocetnika05.08.2006. u 22:17 - pre 215 meseci
Code:
class Lista {
   public:
       struct Element {
             Covek covek;
             Element *levi, *desni;
       };
       Element *glava;
       Lista () {};
       Lista (const &Lista);
       void Add();
       friend Element* nadji(char ime[21],char prezime[26],int god, Element* pok);
};


...

struct Element {
          Covek covek;
          Element *levi, *desni;
};


int ind=0;

Element* nadji(char ime[21],char prezime[26],int god, Element* pokazivac)
{
    if ((stricmp(ime,pokazivac->covek.UzmiIme())==0) && (stricmp(prezime,pokazivac->covek.UzmiPrezime())==0)
      && (god==pokazivac->covek.UzmiGod()))
    {
      return(pokazivac);
    }
    nadji(ime,prezime,god,pokazivac->levi);
    nadji(ime,prezime,god,pokazivac->desni);
}

void Lista::Add()
{
      char ime[21],imeonog[21];
      char prezime[26],prezimeonog[26];
      int godrodjenje,godrodjenjaonog;
      int godsmrti;

   if (ind==0)
   {

    cout << "Unesi prvog clana porodicnog stabla: ";
    
    Element *pok = new Element;
    cout << "Unesi ime: ";
    cin >> ime;
    cout << "Unesi prezime: ";
    cin >> prezime;
    cout << "Unesi godinu rodjenja: ";
    cin >> godrodjenje;
    cout << "Unesi godinu smrti: ";
    cin >> godsmrti;
    
    pok->covek.StaviIme(ime);
    pok->covek.StaviPrezime(prezime);
    pok->covek.StaviGodRodj(godrodjenje);
    pok->covek.StaviGodSmrti(godsmrti);

    pok->levi=NULL;
    pok->desni=NULL;
    ind=1;
    glava=pok;
   }
   else if (ind==1)
   {
    
    cout << "Unesi ime onog cije roditelje unosite: ";
    cin >> imeonog;
    cout << "Unesi prezime onog cije roditelje unosite: ";
    cin >> prezimeonog;
    cout << "Unesi godinu rodjenja onog cije roditelje unosite: ";
    cin >> godrodjenjaonog;

    Element *pok=glava;

    pok = nadji(imeonog,prezimeonog,godrodjenjaonog,pok);
    
    cout << "Unesi njegovu majku: ";

    Element *pok1 = new Element;
    cout << "Unesi ime: ";
    cin >> ime;
    cout << "Unesi prezime: ";
    cin >> prezime;
    cout << "Unesi ime: ";
    cin >> godrodjenje;
    cout << "Unesi ime: ";
    cin >> godsmrti;

    pok1->covek.StaviIme(ime);
    pok1->covek.StaviPrezime(prezime);
    pok1->covek.StaviGodRodj(godrodjenje);
    pok1->covek.StaviGodSmrti(godsmrti);

    pok->levi=pok1;
    pok1->levi=NULL;
    pok1->desni=NULL;

    cout << "Unesi njegovog oca: ";

    Element *pok2 = new Element;
    cout << "Unesi ime: ";
    cin >> ime;
    cout << "Unesi prezime: ";
    cin >> prezime;
    cout << "Unesi ime: ";
    cin >> godrodjenje;
    cout << "Unesi ime: ";
    cin >> godsmrti;
    pok2->covek.StaviIme(ime);
    pok2->covek.StaviPrezime(prezime);
    pok2->covek.StaviGodRodj(godrodjenje);
    pok2->covek.StaviGodSmrti(godsmrti);

       pok->desni=pok2;
    pok2->levi=NULL;
    pok2->desni=NULL;

   }
}



OK, krenuo sam onako kako si mi rekao pa sam se skontao kako bi mogao
da realizujem i onako kako sam pomislito, tj. da za svaki unos novog
clana pitam za onog clana za kog treba uneti roditelje (nisam uzeo u obzir
bracu i sestre). Znaci hteo bih da realizujem rekurzivnu f-ju sa kojom bi
nasao tog clana liste, i onda obavio unos njegove majke i oca.
Problem je kod te rekurzivne f-je sto treba da mi vrati pokazivac tipa Element,
a on je u klasi, pa sam ga ja ponovo napisao (probao sam i sa razresenjem Lista::
ali to ne reaguje). Da li je to ok, i mogu li to nekako drugacije odraditi?

Ovde:
Element *pok=glava;

...zelim da prenesem pokazivac po vrednosti, tj. da f-ji uvek prenesem
pokazivac na glavu te liste, pa da odatle krene pretragu.
Ne funcionise sa pokazivacem na pokazivac. Znaci ptanje je kako da pokazivac prenesem
f-ji po vrednosti?

Ovaj kod mi prodje kompajler ali mi linker ispise:

predak.obj : error LNK2001: unresolved external symbol "struct Lista::Element * __cdecl nadji(char * const,char * const,int,struct Lista::Element *)" (?nadji@@YAPAUElement@Lista@@QAD0HPAU12@@Z)
Debug/Pretci.exe : fatal error LNK1120: 1 unresolved externals



[Ovu poruku je menjao android~paranoid dana 06.08.2006. u 22:33 GMT+1]
Mislim, šta reći !
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Pomoc za pocetnika06.08.2006. u 07:12 - pre 215 meseci
prebaci definicije u .cpp fajla ako su ti u .h.
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.041net.co.yu.



Profil

icon Re: Pomoc za pocetnika06.08.2006. u 15:48 - pre 215 meseci
Sem te dve klase u .hpp nemam nista od definicija f-ja,
samo imam inline f-je, ove za postavljanje i uzimanje vrednosti u klasi Covek.
Npr:
Code:
void StaviIme(char ime1[21]) { strcpy(ime,ime1);};

Mislim, šta reći !
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Pomoc za pocetnika06.08.2006. u 16:17 - pre 215 meseci
Tek sam sad bacio oko na kod i pogledaj ovo:

Tvoja definicija:
Code:
Element* nadji(char ime[21],char prezime[26],int god, Element* pokazivac);


Deklaracija prijatelja:
Code:
friend Element* nadji(char ime[21],char prezime[26],int god, Element* pok);


Linker error:
Code:
struct Lista::Element* nadji(char * const,char * const,int,struct Lista::Element*);

Usporedi ove tri stvari i pronasao si error.
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.041net.co.yu.



Profil

icon Re: Pomoc za pocetnika12.08.2006. u 00:16 - pre 215 meseci
Hvala NrmMyth, nikad se ne bi setio da stavim struct, ovako je proradilo.
Mislim, šta reći !
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: Pomoc za pocetnika12.08.2006. u 06:30 - pre 215 meseci
Ne nije to bilo bitno!
C++ ne zahtijeva da se explicitno pise struct svaki put do tipa.

Ovdje se radilo o rijesavanju (dodjeljivanju) scopea - Lista:: .
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Pomoc za pocetnika17.08.2006. u 18:53 - pre 215 meseci
I....???? Radi li to?
De si Deda...
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.041net.co.yu.



Profil

icon Re: Pomoc za pocetnika18.08.2006. u 21:47 - pre 215 meseci
Radi ovo sto sam uradio, samo me mrzi do kraja da ga sredim,
imam dosta tih stabala uradjenih u Javi, a presao sam sintaksu
pa cu u njoj da malo vezbam, lakse je nekako u Javi.
Verovatno cu se vratiti da ga sredim jednog dana :)

Jel ti mislis da nesto ne valja?
Mislim, šta reći !
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Pomoc za pocetnika19.08.2006. u 03:37 - pre 215 meseci
Kao sto me naucio najpametniji covek koga sam upoznao, savrseno je ono sto ne mora bolje! Znaci, ako ti radi posao - to je to. A sto se tice Jave, stoji da je malo lakse za ispisati, ali ima C++ neke svoje prednosti koje su nenadjebive. Ja bih ti savetovao da ne odustanes ni od jednog od tas dva jezika, jer nikad ne znas u kom smeru ces se kretati. Aj` uzdravlje...
De si Deda...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoc za pocetnika

Strane: 1 2

[ Pregleda: 4897 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.