|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
20.4.2011, 23:01 | #1 |
Član
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
|
Citanje iz fajla. Don't Send :/
Kod:
char RedniBrojRacuna[5]; printf("\nUnesite redni broj racuna: "); scanf("%s", &RedniBrojRacuna); int k; for(k=0; k<=4; k++) filename[5+k] = RedniBrojRacuna[k]; printf("%s\n", filename); Racun pRacun; OpenForWriteing(filename); fscanf(logFile, "%s", pRacun.Datum); fscanf(logFile, "%s", pRacun.ImeRacuna); fscanf(logFile, "%d", pRacun.BrojProizvoda); // <-- Ova linija :/ // int i; // for(i=0; i<pRacun.BrojProizvoda; i++) // fscanf(logFile, "%s", pRacun.Proizvod[i]); // for(i=0; i<pRacun.BrojProizvoda; i++) // fscanf(logFile, "%f", pRacun.Cijena[i]); // fscanf(logFile, "%f", pRacun.Ukupno); printf("Datum: %s\n", pRacun.Datum); printf("Ime Racuna: %s\n", pRacun.ImeRacuna); Prva linija sadrzi datum , druga sadrzi ime, treca sadrzi broj proizvoda (neki N broj), pa onda ide N proizvoda a zatim N cijena i na kraju zbir cijena. Program mi izbaca Don't Send kada stigne do dijela kada treba da procitam ovaj broj N. kako moram da ga procitam kao integer, stavim "fscanf(logFile, "%d", pRacun.BrojProizvoda);" ali mi uvijek izbaci Don't Send kada krene da cita tu liniju. Mora da bude integer zato sto broj narednih linija zavisi od tog broja. Takodje sam promenljivu BrojProizvoda deklarisao kao integer u strukturi. A ako bih promjenio tu varijablu u string a zatim iz stringa dobijao broj onda bih trebao da prepravim jako mnogo linija, gde istu promenljivu tretiram (koristim) kao integer.. Ali mi to nekako dodje glupo da radim, ako vec mogu odmah da procitam kao integer... :/ Vjerovatno cu i za ove linije gdje treba da citam kao float da dobijam gresku, mada to nisam testirao... Takodje postoji drugi fajl koji izgleda ovako: Kod:
[settings] BrojRacuna=1 StanjeNovca=400.00 Help ps. Ostatak koda odlicno radi, samo me ovaj dio zeza. EDIT Provalio sam gresku zaboravio sam '&' znak da stavim ispred promenljive koju unosim Kod:
fscanf(logFile, "%d", &pRacun.BrojProizvoda); // <-- Ova linija :/ Poslednja ispravka: clzola (20.4.2011 u 23:11) |
20.4.2011, 23:53 | #2 |
Član
Član od: 30.10.2005.
Lokacija: Vancouver, BC
Poruke: 475
Zahvalnice: 48
Zahvaljeno 95 puta na 75 poruka
|
Re: Citanje iz fajla. Don't Send :/
Ako radi, odlicno, ali u prvom scanf-u je ampresand visak - RedniBrojRacuna je vec pokazivac, pa ti & nije potrebno.
|
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Java, tabela, TableModel i citanje iz baze | mcdhappy80 | Programiranje | 3 | 3.12.2010 6:14 |
Citanje stringova red po red iz .txt fajla - Visual C++ | Nenad Zivic | Programiranje | 4 | 6.11.2010 2:02 |
PHP i citanje iz baze | nepoverljiv | Serverske aplikacije i baze podataka | 1 | 1.3.2010 1:46 |
Java - čitanje | kizaPr | Programiranje | 10 | 29.7.2008 10:40 |
neresiv problem - izbacuje me iz igara | Drale | Kvarovi | 8 | 18.12.2006 17:09 |