Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- struct Student {
- char prezime[20];
- char ime[15];
- int broj_bodova1;
- int broj_bodova2;
- };
- struct Maxbr {
- char prezime[20];
- char ime[15];
- int ukupno;
- };
- int main() {
- struct Student studenti[300], tmp ;
- struct Maxbr nova[300];
- FILE *ispit, *usmeni;
- int i=0,j=0, max=0, vel=0;
- /* Otvaranje datoteka */
- if ((ispit = fopen("ispiti.txt","r")) == NULL) {
- printf("Greska pri otvaranju datoteke ispit.txt");
- exit(1);
- }
- if ((usmeni = fopen("usmeni.txt","w")) == NULL) {
- fclose(ispit);
- printf("Greska pri otvaranju datoteke ispit_sortiran.txt");
- exit(1);
- }
- /*Δitanje iz datoteke ispiti*/
- i=0;
- while (fscanf(ispit,"%20s%15s%2d%2d%\n", studenti[i].prezime, studenti[i].ime, &studenti[i].broj_bodova1, &studenti[i].broj_bodova2) == 4 && i<300){
- /*Provjera prolaznosti*/
- if(studenti[i].broj_bodova1 >= 10 && studenti[i].broj_bodova2 >= 10)
- nova.ukupno[i] = studenti[i].broj_bodova1 + studenti[i].broj_bodova2
- nova[i].prezime = studenti[i].prezime;
- nova[i].ime = studenti[i].ime;
- }
- i++;
- vel = i;
- /*Sortiranje*/
- for (i=0; i<vel; i++) {
- max = i;
- for (j=i+1; j<vel; j++)
- if (nova.ukupno[max] > nova.ukupno[j]);
- max = j;
- tmp = nova[i];
- nova[i] = nova[max];
- nova[max] = tmp;
- }
- /*Upis niza u datoteku*/
- for (i=0; i<vel; i++)
- fprintf(usmeni,"%-20s%-15s%2d\n", nova[i].prezime, nova[i].ime, nova.ukupno[i]);
- printf ("Izlazna datoteka usmeni.txt je kreirana\n");
- fclose(ispit);
- fclose(usmeni);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement