Professional Documents
Culture Documents
Laboratorijska vjeba 13
OSNOVE RAUNARSTVA
CILJ VJEBE
Cilj ove vjebe je savladavanje osnovnih operacija u radu sa formatiranim tekstualnim datotekama. Takoer se obrauje modifikovanje i sortiranje datoteka. Konkretno, naglasak je na unosu podataka iz datoteke u niz struktura i ispisu u datoteku.
1. UVOD
Potrebno je napraviti program koji uitava podatke iz dateoteke ih ispisuje u datoteku , sortira ih, i potom . Rjeenje ovog zadatka je dato ispod. Napravite
//Datoteka za ispis izlaz = fopen("C:\\ispit_sortiran.txt", "w"); if(izlaz == NULL) { fclose(ulaz); printf("Greska pri otvaranju datoteke ispit_sortiran.txt \n"); exit(1); }
//Unos podataka iz datoteke i = 0; while(fscanf(ulaz, "%20s%15s%2d\n", studenti[i].prezime, studenti[i].ime, &studenti[i].broj_bodova) == 3 && i < 300) i++; //Sortiranje niza po broju bodova //Varijabla i sadri duinu niza for(j = 0; j < i - 1; j++) for(k = j + 1; k < i; k++) if(studenti[k].broj_bodova > studenti[j].broj_bodova) { temp = studenti[j]; studenti[j] = studenti[k]; studenti[k] = temp; }
//Ispis niza u dateoteku for(j = 0; j < i; j++) fprintf(izlaz, "%-20s%-15s%2d\n", studenti[j].prezime, studenti[j].ime, studenti[j].broj_bodova);
fclose(ulaz); fclose(izlaz); printf("Izlazna datoteka ispit_sortiran.txt je kreirana. \n"); return 0; }
Potom: 1. Analizirajte program. 2. Kompajlirajte program. 3. Testirajte program tako to dete unositi razliite ulazne vrijednosti.
TESTIRANJE PROGRAMA
Da biste testirali program, potrebno je da napravite datoteku sljededi nain: formatiranu na
Pri tome: Kolona Kolona Kolona zauzima 15 mjesta. zauzima 10 mjesta. zauzima 2 mjesta
Pazite da svaki podatak u datoteci zauzima predvieni broj mjesta! Za prezime je potrebno rezervirati tano mjesta. Ako je prezime krade od slova, dopuniti ostatak prostora
razmacima. Ako je due, skratite ga. Pokrenite program. Ako ste sve dobro uradili (i postavili datoteku u odgovarajudi direktorij), na ekranu dete dobiti poruku da je kreirana izlazna datoteka. Potraite izlaznu datoteku otvorite je u tekst editoru i pogledajte njen sadraj. Otvorite datoteku pogledajte izlaznu datoteku i dodajte jo . studenata. Ponovo pokrenite program i
Potom je potrebno prepraviti program tako da: Struktura U datoteku sadri oba podatka za bodove. (obratite panju da se datoteka sada zove drugaije) upisuju
se studenti koji su poloili oba parcijalna ispita (na oba imaju 10 ili vie bodova). Datoteka ima sljededu strukturu:
Napomena: Najlaki nain za rjeavanje ovog zadatka je da se pri prvom pokretanju uita kompletan sadraj datoteke u niz struktura, a zatim se pri svakoj operaciji ispie nova datoteku preko postojede. 3.3. Dopuniti program sa tutorijala tako da podatke dri u datoteci. Cilj ove dopune je da se imena ne moraju ponovo unositi svaki put kada se pokrene program, nego da program pamti imena unesena posljednji put.