Ne mogu da rešim ovaj C++ problem ...

Ne mogu da rešim ovaj C++ problem ...

offline
  • Pridružio: 13 Maj 2005
  • Poruke: 41
  • Gde živiš: Čačak

Kako da snimim i učitam sve ove podatke strukture u "Podaci.txt" ?

  1. struct neki_tip { public:
  2.                           char ime[20];
  3.                          int data_one,data_two,
  4.                                data_tree,data_ext;               
  5.                            int data_array[5];
  6.                               }neki_niz_struktura[10];
  7. // Naravno u toku programa sve one dobijaju vrednosti...
Ovako sam ih sačuvao:
  1. int x=y=0;
  2. ofstream sacuvaj("Podaci.txt");   
  3.  
  4.    for(;y<10;y++){
  5.  
  6.                  sacuvaj    <<neki_niz_struktura[y].ime
  7.                        <<" "<<neki_niz_struktura[y].data_one
  8.                      <<" "<<klneki_niz_strukturaub1[y].data_two
  9.                      <<" "<<klneki_niz_strukturaub1[y].data_tree
  10.                      <<" "<<kluneki_niz_strukturab1[y].data_ext;
  11.    for(;x<5;x++){sacuvaj<<" "<<neki_niz_strukturab1[y].data_array[x];}                   
  12.                   sacuvaj<<"\n";
  13.            }
što bi u fajlu bilo:

stanislav 6 6 6 4 2 4 2 4 2 //znači zadnjih 5 su elementi niza data_array
rumenka 9 2 7 5 4 6 4 5 2
radovan 9 7 5 9 0 7 0 2 3
georgina 5 3 5 5 0 3 0 2 3
.
.
.
e sad kako da učitam ovo u program ?
ovako sam probao:
  1. int xk=0,i;
  2. ifstream ucitaj("Podaci.txt");
  3.       
  4. while(ucitaj>>neki_niz_struktura[y].ime){
  5.             
  6.                    ucitaj>>neki_niz_struktura[xk].data_one
  7.                          >>neki_niz_struktura[xk].data_two
  8.                         >>neki_niz_struktura[xk].data_tree
  9.                         >>neki_niz_struktura[xk].data_ext;
  10.         for(;i<5;i++){ucitaj>>neki_niz_struktura[xk].data_array[i];}                                        
  11.                   xk++;
  12.                          }

i neće, tj. učita samo neki_niz_struktura[0].ime

Ono, hvala unapred na svakoj pomoći i to...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • meka  Male
  • Počasni građanin
  • Pridružio: 06 Avg 2003
  • Poruke: 811
  • Gde živiš: Novi Sad / Vojvodina

Koristi while (!ucitaj.eof()) umesto tvog while-a. U for petrlji MORAŠ inicijalizovati i inače će ti samo prvi prolaz kroz while petrlju raditi kako treba.



offline
  • Pridružio: 13 Maj 2005
  • Poruke: 41
  • Gde živiš: Čačak

Ne, jesam inicijalizovao u for petlji (ne znam kako li sam uspeo ovde da izbrišem i=0), ali opet
i sa while (!ucitaj.eof()) imam probleme. Kada pokrenem program i tek kad dođe do učitavanja iskoči dijalog :

  1. The instruction at "0x00402936" referenced memory at "0x72463a6d". The memory could not be "read"
  2. OK to terminate program
  3. CANCEL to debug program

// pritisnem OK pojavi se drugi
  1. The instruction at "0x0012e8dc" referenced memory at "0x00000000". The memory could not be "writen"
  2. OK to terminate program
  3. CANCEL to debug program

// pritisnem OK
Dok nisam uveo niz data_array[5] u strukturu lepo je sve učitavao i sa mojom WHILE 5ljom.
Ali kako sam počeo učitavati ovaj niz ne ide (lepo se snimi ali ne mogu da ga učitam). Pokušao sam
sa for petljom neće, pokušao sam i ručno ono :
  1. ucitaj>>neki_niz_struktura[xk].data_array[0]
  2.       >>neki_niz_struktura[xk].data_array[1]
  3.       >>neki_niz_struktura[xk].data_array[2]
  4.       >>neki_niz_struktura[xk].data_array[3];
  5.       .
  6.       .
  7.       .

neće ni ovo. Izgleda da mi je glavni problem u učitavanju ovog niza.
I Šta uopšte znače ovi dijalog prozori.

offline
  • meka  Male
  • Počasni građanin
  • Pridružio: 06 Avg 2003
  • Poruke: 811
  • Gde živiš: Novi Sad / Vojvodina

Nisam win programer, ali imam osečaj da to dodaje tvoj IDE. Što se tiče učitavanja, ajde probaj jednostavan primer, tipa samo ispiši ono što isčitaš iz ifstream-a. Možda ne učitava program kako treba!?

offline
  • Pridružio: 13 Maj 2005
  • Poruke: 41
  • Gde živiš: Čačak

Thanks for the tip (i s^am sam o tome razmišljao ali sam bio ubeđen da neću moći da učitam
onaj niz - i još jednom... nisam bio u pravu).Uradio sam predloženo i evo gde je bila greška :
Pošto sam želeo da podatke čuvam u ovom formatu ...
stanislav 6 6 6 4 2 4 2 4 2'\n'
rumenka 9 2 7 5 4 6 4 5 2'\n'
radovan 9 7 5 9 0 7 0 2 3'\n'
georgina 5 3 5 5 0 3 0 2 3'\n'
|_
... koristio sam naravno '\n' na kraju svake XK iteracije, znači da je on i prilikom zadnje
iteracije ubacio '\n' pa je prilikom učitavanja pokušao da ga učita u strukturu pa je valjda zbog toga
bio prvi dijalog prozor "can`t read", a s`obzirom da su u nizu struktura sva mesta već bila bukirana
dolazi do "can`t write" dijaloga. Samo sam ušao u "Podaci.txt" i izbrisao/povukao taj jedan "enter". Posle
toga je normalno učitavao, mada me i dalje buni što sam i ranije koristio isti format čuvanja pa nije
bilo problema... U svakom slučaju hvala na pomoći ! Baš sam lupao glavu oko ovoga.

offline
  • meka  Male
  • Počasni građanin
  • Pridružio: 06 Avg 2003
  • Poruke: 811
  • Gde živiš: Novi Sad / Vojvodina

Mislim da ne bi bilo loše da koristiš istream.peak() i gledaš da li je neki karakter blanko znak (postoji funkcija isblank() i isspace()). Tako preskačeš sve moguće gluposti.

Ko je trenutno na forumu
 

Ukupno su 1198 korisnika na forumu :: 117 registrovanih, 8 sakrivenih i 1073 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., Aleksej, ALEXV, amonsrb, Andy, armor, Asteker, Avalon015, Baba_Yagi_Antena, bbelic, bestguarder, bobomicek, bojan581, bokisha253, bolimejoli, boromir, BOXRR, bpop, branko87, brundo65, Car89, ccoogg123, Cicumile, cojapop, dak2, DalmatinacMF, damirZR, darionis, dekan.m, Dimitrise93, Djota1, dmrdc, Dovla 1980, Draganeli, Dzigy, EXIT78, Glavni Oružni, gomago, goran.vvv, GveX, HrcAk47, ivan_8282, jalos, Japidson, Kanader, kikisp, Kobrim, koliko, kovac9mm, Kubovac, larix, Lester Freamon, littlebunny, ljuba, lord sir giga, luka1978, Macalone, mane123, MarkoD, Martin543, maxim_von_burdengate, Mercury, metallac777, Metanoja, Miki01, Milan Miscevic, milanpb, milbos, MILJEVINAC, Mrav Obrad, N.e.m.a.nj.a., nelezele, Nemanja Opalić, nemkea71, NMNJ, Nobunaga, omen, OtacMakarije, Pale2025, Pancevac, Panter, Panzer88, Pilence, PlayerOne, Prašinar, Prečanin30, probisic, proka89, radionica1, Raso75, rednap, rokokoko, rovac, samo opusteno, sap, sasakrajina, Sava89, savuni, sekretar, Sir Budimir, sluga, Str2022, Tas011, Topaz9, UAV operator, Username1000, vensla, virked, voja64, Volkcho, VP6919, Wrangler, Yellow Pinky, zokizemun, Zorge, šumar bk2