Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
markotron Forumaš(ica)

Pridružen/a: 26. 10. 2008. (12:07:29) Postovi: (95)16
Spol: 
Lokacija: Umag
|
Postano: 19:20 čet, 25. 6. 2009 Naslov: |
|
|
nisam nisguran ni dal sam dobro zadatak shvatio a kamoli dal sam dobro rijesio.
[code:1]
typedef struct {
char JMBAG[10];
char ime_prezime[40];
int rezultati[5];
int ukupno;
} student;
student zbroj ( student x ) {
int i;
for ( i = 0; i < 5; ++i )
x.ukupno += x.rezultati[i];
return x;
}
int prosli ( const char *ulaz, const char* izlaz ) {
FILE *in, *out;
student s;
int brstud = 0;
if ( (in = fopen( ulaz, "r" )) == NULL )
return -1;
if ( (out = fopen( izlaz, "w" )) == NULL )
return -1;
while ( 1 ) {
if (!fread( s.JMBAG, sizeof(char), 10, in ))
return brstud;
fread( s.ime_prezime, sizeof(char), 40, in );
fread( s.rezultati, sizeof(int), 5, in );
s = zbroj ( s );
if ( s.ukupno >= 45 ) {
fwrite( s.JMBAG, sizeof(char), 10, out );
fwrite( s.ime_prezime, sizeof(char), 40, out );
fwrite( s.rezultati, sizeof(int), 5, out );
brstud++;
}
}
}[/code:1]
moze netko pogledat i prijavit pogreske :D
[size=9][color=#999999]Added after 12 minutes:[/color][/size]
ja sam ucitavao svaki dio strukture posebno.. mogao sam to sve odjednom???
nisam nisguran ni dal sam dobro zadatak shvatio a kamoli dal sam dobro rijesio.
Kod: |
typedef struct {
char JMBAG[10];
char ime_prezime[40];
int rezultati[5];
int ukupno;
} student;
student zbroj ( student x ) {
int i;
for ( i = 0; i < 5; ++i )
x.ukupno += x.rezultati[i];
return x;
}
int prosli ( const char *ulaz, const char* izlaz ) {
FILE *in, *out;
student s;
int brstud = 0;
if ( (in = fopen( ulaz, "r" )) == NULL )
return -1;
if ( (out = fopen( izlaz, "w" )) == NULL )
return -1;
while ( 1 ) {
if (!fread( s.JMBAG, sizeof(char), 10, in ))
return brstud;
fread( s.ime_prezime, sizeof(char), 40, in );
fread( s.rezultati, sizeof(int), 5, in );
s = zbroj ( s );
if ( s.ukupno >= 45 ) {
fwrite( s.JMBAG, sizeof(char), 10, out );
fwrite( s.ime_prezime, sizeof(char), 40, out );
fwrite( s.rezultati, sizeof(int), 5, out );
brstud++;
}
}
} |
moze netko pogledat i prijavit pogreske
Added after 12 minutes:
ja sam ucitavao svaki dio strukture posebno.. mogao sam to sve odjednom???
_________________ reductio ad absurdum
|
|
[Vrh] |
|
Gino Forumaš(ica)

Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16
Lokacija: Pula
|
|
[Vrh] |
|
markotron Forumaš(ica)

Pridružen/a: 26. 10. 2008. (12:07:29) Postovi: (95)16
Spol: 
Lokacija: Umag
|
|
[Vrh] |
|
ddduuu Forumaš(ica)

Pridružen/a: 16. 11. 2008. (12:31:48) Postovi: (109)16
|
Postano: 2:27 pet, 26. 6. 2009 Naslov: |
|
|
[code:1]while ( 1 ) {
if (!fread( s.JMBAG, sizeof(char), 10, in ))
return brstud;
fread( s.ime_prezime, sizeof(char), 40, in );
fread( s.rezultati, sizeof(int), 5, in );
s = zbroj ( s );
if ( s.ukupno >= 45 ) {
fwrite( s.JMBAG, sizeof(char), 10, out );
fwrite( s.ime_prezime, sizeof(char), 40, out );
fwrite( s.rezultati, sizeof(int), 5, out );
brstud++;
}
}
}[/code:1]
Nije mi jasno zasto provjerava (!fread( s.JMBAG, sizeof(char), 10, in )) ??
i ali ne bi treba nakon s=zbroj(s) prvo "procitat" ukupan rezultat pa ga onda koristit??
Kod: | while ( 1 ) {
if (!fread( s.JMBAG, sizeof(char), 10, in ))
return brstud;
fread( s.ime_prezime, sizeof(char), 40, in );
fread( s.rezultati, sizeof(int), 5, in );
s = zbroj ( s );
if ( s.ukupno >= 45 ) {
fwrite( s.JMBAG, sizeof(char), 10, out );
fwrite( s.ime_prezime, sizeof(char), 40, out );
fwrite( s.rezultati, sizeof(int), 5, out );
brstud++;
}
}
} |
Nije mi jasno zasto provjerava (!fread( s.JMBAG, sizeof(char), 10, in )) ??
i ali ne bi treba nakon s=zbroj(s) prvo "procitat" ukupan rezultat pa ga onda koristit??
|
|
[Vrh] |
|
Gino Forumaš(ica)

Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16
Lokacija: Pula
|
Postano: 6:54 pet, 26. 6. 2009 Naslov: |
|
|
provjerava jmbag cisto jer je to prvo na redu za citanje, ako nema sta citat dosao je do kraja datoteke
ukupnog rezultata nema, te ga on treba sam izracunat i upisat u ulaznu datoteku, ako se ne varam(sto mi se cini nije napravio), zatim ako je veci od ili jednak 45 bodova treba to jos prepisat u izlaz
i s obzirom da treba upisivat i u ulaznu datoteku treba ju otvorit sa necim za citanje i pisanje a ne za citanje, al neznam sta je to :D :D
provjerava jmbag cisto jer je to prvo na redu za citanje, ako nema sta citat dosao je do kraja datoteke
ukupnog rezultata nema, te ga on treba sam izracunat i upisat u ulaznu datoteku, ako se ne varam(sto mi se cini nije napravio), zatim ako je veci od ili jednak 45 bodova treba to jos prepisat u izlaz
i s obzirom da treba upisivat i u ulaznu datoteku treba ju otvorit sa necim za citanje i pisanje a ne za citanje, al neznam sta je to
_________________ Mario Berljafa
|
|
[Vrh] |
|
mycky1111 Forumaš(ica)

Pridružen/a: 26. 05. 2008. (11:59:07) Postovi: (D4)16
Spol: 
|
|
[Vrh] |
|
|