Novo

Forum kao aplikacija na telefonu

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

  • 9 odgovora
  • 5.939 pregleda

Najnovija ↓

Zašto ovaj kod ne učitava podatke 09.05.2003. u 02:18 · pre 286 meseci #1
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.
Re: Zašto ovaj kod ne učitava podatke 22.06.2003. u 12:34 · pre 284 meseca #5
da moguce je da nisi fulao u ovoj petlji koja se ponavlja mozda je greska ranije....stavi tu...
poz
Potpis
Neznanje je neprijatelj!!
Re: Zašto ovaj kod ne učitava podatke 22.06.2003. u 12:55 · pre 284 meseca #6
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
Re: Zašto ovaj kod ne učitava podatke 24.06.2003. u 03:03 · pre 284 meseca #7
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...
Potpis
Neznanje je neprijatelj!!
Re: Zašto ovaj kod ne učitava podatke 26.06.2003. u 19:01 · pre 284 meseca #8
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]...

Re: Zašto ovaj kod ne učitava podatke 02.07.2003. u 20:03 · pre 284 meseca #9
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.
Re: Zašto ovaj kod ne učitava podatke 02.07.2003. u 20:09 · pre 284 meseca #10

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

f
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme