[ god_of_thunder @ 09.05.2003. 01:18 ] @
Posle izvršavanja uspem da unesem samo ime 1 osobe, a ostalo samo ispiše.

Code:
for(i=0;i<n;i++) {
                printf("\nIme %i osobe? ",i+1);
                scanf("%s",niz_osoba[i].ime);
        
                printf("\nDatum rodjenja %i osobe? ",i+1);
                scanf("%s",niz_osoba[i].datum_rodjenja);
                printf("\n\n");

        }


Hvala.
[ 6544616a006e @ 09.05.2003. 02:03 ] @
Koje vrednosti ti ima promenljiva n?
[ god_of_thunder @ 09.05.2003. 13:02 ] @
bilo koju vrednost da stavim isto se desava.
[ zeco @ 20.06.2003. 18:50 ] @
Pa pošalji cijeli kod a ne samo dio možda nije problem tu.
[ zeero @ 22.06.2003. 11:34 ] @
da moguce je da nisi fulao u ovoj petlji koja se ponavlja mozda je greska ranije....stavi tu...
poz
[ filmil @ 22.06.2003. 11:55 ] @
Citat:
god_of_thunder:
Posle izvršavanja uspem da unesem samo ime 1 osobe, a ostalo samo ispiše.


To se često dešava ako format podataka koje si uneo ne odgovara formatu koje očekuju printf i scanf.

I printf i scanf vraćaju vrednosti koje su jednake broju polja koja su uspešno obrađena. Da bi video gde je problem moraš proveriti ove vrednosti posle svakog poziva printf i scanf. Problem je na onom mestu gde printf ili scanf prvi put vrate 0 (tj. nisu uspeli da obrade nijedno od polja). Ljudi obično zaborave na ovu osobinu printf i scanf i ne proveravaju vraćene vrednosti.

Ubuduće se potrudi da pošalješ ceo kod, biće lakše snaći se.

f
[ zeero @ 24.06.2003. 02:03 ] @
hmmm.... ok je to ako imas printf i scanf koji su ograniceni....na nekoliko slova brojeva cc.[15] al koliko vidim u ovom kodu toga nema...
zanimljivo...hhahah
sala...
[ BATE @ 26.06.2003. 18:01 ] @
printf("\nIme %i osobe? ",i+1);
scanf("%s",niz_osoba.ime);

printf("\nDatum rodjenja %i osobe? ",i+1);
scanf("%s",niz_osoba.datum_rodjenja);
printf("\n\n");

da li si dobro instancirao stukturu, posalji cijeli kod. da ti clan strukture ime nije definisan kao char *ime, trebalo bi da bude npr. char ime[255]...

[ milanche @ 02.07.2003. 19:03 ] @
Zasto se sve ostalo 'samo' ispise ?

Zato sto odnekuda posle ukucavanja imena imas zaostao 'newline' karakter (nastao pritiskom na <Enter>) u stream baferu. Sledeci scanf( ) koji naidje nece zateci potpuno prazan stream bafer, nego ce sadrzaj stream bafera biti prazan string, zavrsen sa \n. Posledica - sledeci scanf( ) ne ceka, posto ima sta da ucita, i tebe ostavlja u cudjenju.

Razlog ?

Ne znam zasto se desava - moguce je da si scanf( )-u (kao sto kazu ljudi) ponudio
premali bafer. Trebao bi da vidim ostatak koda.

Ovako, kao 'workaround' vidim ovo:
Probaj da ubacis jos jedan scanf( ) izmedju ucitavanja imena i datuma rodjenja. Taj bi trebalo da ocita zaostao sadrzaj bafera te da omoguci da te sledeci scanf( ) kulturno saceka da ukucas datum rodjenja.
[ filmil @ 02.07.2003. 19:09 ] @

Krajnje je vreme da OP lepo pošalje ceo kod programa koji ne radi, da ne bismo nagađali. Ili grešim?

f