Advertisement
sellmmaahh

OR-tut12-zad4_2!!!

Aug 10th, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.08 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. struct Student
  4. {
  5.     int br_indexa, int predmet, ocjena;
  6. };
  7.  
  8. struct Predmet
  9. {
  10.     int br_predmeta;
  11.     char ime [30];
  12. };
  13.  
  14. void unos (char *s, int vel)
  15. {
  16.     int i=0;
  17.     char c;
  18.     do
  19.     {
  20.         c=getchar();
  21.         s[i]=c;
  22.         i++;
  23.     }
  24.     while (c!='\n' && i<vel);
  25.     s[i-1]='\0';
  26. }
  27.  
  28. int main ()
  29. {
  30.     FILE *ulaz;
  31.     ulaz=fopen("ispiti.txt","r");
  32.     if (ulaz==NULL)
  33.     {
  34.         printf("Greska prilikom otvaranja ulazne datoteke.");
  35.         exit(1);
  36.     }
  37.  
  38.     int i=0;
  39.     struct Student st[50];
  40.     while(fscanf("%5d %d %2d\n",&st[i].br_indexa,&st[i].predmet,&st[i].ocjena)!=EOF)
  41.         i++;
  42.     fclose(ulaz);
  43.  
  44.     FILE *ulaz=fopen("predmeti.txt","r");
  45.     if (ulaz==NULL)
  46.     {
  47.         printf("Greska prilikom otvaranja datoteke.");
  48.         exit(1);
  49.     }
  50.  
  51.     struct Predmet imena[6];
  52.     for (i=0; i<6; i++)
  53.     {
  54.         fscanf(ulaz,"%d",&imena[i].br_predmeta);
  55.         fgets(imena[i].ime,30,ulaz);
  56.         imena[i].ime[strlen(imena[i].ime)-1]='\0';
  57.  
  58.     }
  59.     fclose(ulaz);
  60.     char ime_pred[30];
  61.     int podudarnost=0,br_predmeta,k;
  62.     do
  63.     {  printf("Unesite ime predmeta: ");
  64.           unos(ime_pred,30);
  65.         for(k=0; k<j; k++) {
  66.                 if (strcmp(ime_pred,imena[k].ime)==0) {
  67.                         podudarnost=1;
  68.                 br_predmeta=imena[k].br_predmeta;
  69.                 }
  70.         }
  71.         if (podudarnost==0) printf("Nepostojeci predmet!\n");
  72.     }
  73.     while (podudarnost==0);
  74.            
  75.             struct Student osoba[50];
  76.         int j;
  77.         float suma_ocjena=0;
  78.         int polozili=0,izasli=0;
  79.         for (j=0; j<i; j++)
  80.         {
  81.             if (br_predmeta==osoba[j].predmet)
  82.             {
  83.                 if (st[j].ocjena>=6)
  84.                 {
  85.                     polozili++;
  86.                     suma_ocjena+=st[j].ocjena;
  87.                 }
  88.                 izasli++;
  89.             }
  90.         }
  91.  
  92.         printf("Prosjecna ocjena je: %.2f\n Prolaznost: %2d%",suma_ocjena/polozili, (polozili*100)/izasli);
  93.         fclose(ulaz);
  94.         return 0;
  95.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement