Advertisement
dzindara

z2

Jan 17th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct Student {
  5.     char prezime[20];
  6.     char ime[15];
  7.     int broj_bodova1;
  8.     int broj_bodova2;
  9. };
  10.  
  11.  
  12. int main() {    
  13.    
  14.     struct Student studenti[300], tmp;
  15.     FILE *ulaz, *izlaz;
  16.     int i, j, vel, max;
  17.    
  18.     /* Otvaranje datoteka */
  19.    
  20.     if ((ulaz = fopen("ispiti.txt","r")) == NULL ) {
  21.         printf("Greska pri otvaranju datoteke ispit.txt");
  22.         exit(1);
  23.     }
  24.    
  25.     if ((izlaz = fopen("usmeni.txt","w")) == NULL) {
  26.         fclose(ulaz);
  27.         printf("Greska pri otvaranju datoteke ispit_sortiran.txt");
  28.         exit(1);
  29.     }
  30.    
  31.     i=0;
  32.    
  33.     while (fscanf(ulaz,"%20s%15s%2d%2d\n", studenti[i].prezime, studenti[i].ime, &studenti[i].broj_bodova1, &studenti[i].broj_bodova2) == 4 && i < 300  )
  34.         i++;
  35.     vel=i;
  36.        
  37.         /* Sortiranje niza po broju bodova */  
  38.    
  39.     for (i=0; i<vel; i++) {
  40.         max=i;
  41.         for (j=i+1; j<vel; j++) {
  42.             if (studenti[j].broj_bodova1+studenti[j].broj_bodova2 > studenti[i].broj_bodova1+studenti[i].broj_bodova2)
  43.             {
  44.             max=j;
  45.            
  46.             tmp = studenti[i];
  47.             studenti[i]=studenti[max];
  48.             studenti[max]=tmp;
  49.             }
  50.         }  
  51.     }  
  52.        
  53.         /* Upis niza u datoteku */
  54.        
  55.     for (i=0; i<vel; i++) {
  56.         if(studenti[i].broj_bodova1 >= 10 && studenti[i].broj_bodova2 >= 10)
  57.         fprintf(izlaz, "%-20s%-15s%2d\n", studenti[i].prezime, studenti[i].ime, studenti[i].broj_bodova1+studenti[i].broj_bodova2);
  58.     }
  59.    
  60.     printf("Izlazna datoteka usmeni.txt je kreirana\n");
  61.     fclose(ulaz);
  62.     fclose(izlaz);
  63.    
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement