Advertisement
Adijata

Klub 5+

Sep 8th, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.30 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct Beba
  5. {
  6.     char Ime[15] ;
  7.     char Prezime[15] ;
  8.     float prosjek;
  9. };
  10.  
  11. struct Beba * sort_po_prosjeku(struct Beba niz[], int vel)
  12. {
  13.     int i,j;
  14.     for (i = 0 ; i < ( vel - 1 ); i++)
  15.     {
  16.         for (j = 0 ; j < vel - i - 1; j++)
  17.         {
  18.             if (niz[i].prosjek > niz[i+1].prosjek)
  19.             {
  20.  
  21.                 struct Beba temp = niz[i];
  22.                 niz[i]   = niz[j+1];
  23.                 niz[j+1] = temp;
  24.             }
  25.         }
  26.     }
  27.  
  28.     return niz;
  29. };
  30.  
  31. struct Beba * sort_po_prezimenu(struct Beba niz[], int vel)
  32. {
  33.     int i, j;
  34.     char *p, *s;
  35.     for(i=0; i<vel; i++)
  36.     {
  37.         for(j=i; j<vel; j++)
  38.         {
  39.             p=niz[i].Prezime;
  40.             s=niz[j].Ime;
  41.             if(*p > *s)
  42.             {
  43.                 struct Beba temp=niz[i];
  44.                 niz[i]=niz[j];
  45.                 niz[j]=temp;
  46.             }
  47.         }
  48.     }
  49.  
  50. };
  51.  
  52. float zajednicki_prosjek(struct Beba niz[], int vel)
  53. {
  54.     float prosjek=0;
  55.     int i;
  56.     for(i=0; i<vel; i++)
  57.         prosjek+=niz[i].prosjek;
  58.  
  59.  
  60.     return prosjek/vel;
  61. }
  62.  
  63. void dodaj_clan(char ime[], char prezime[], float prosjek)
  64. {
  65.    FILE* izlaz;
  66.    izlaz=fopen("datoteka.txt", "a");
  67.    fprintf(izlaz, "%s %s %.1f\n", ime, prezime, prosjek);
  68. }
  69.  
  70. void izbrisi_bebu(char ime[], struct Beba niz[],int vel)
  71. {
  72.     FILE* izlaz;
  73.     int i;
  74.     izlaz=fopen("datoteka.txt", "w");
  75.  
  76.     for(i=0; i<vel; i++)
  77.     {
  78.         if(niz[i].Ime==ime)
  79.         {
  80.             i++;
  81.             vel--;
  82.         }
  83.         else
  84.         fprintf(izlaz, "%s %s %.1f\n", niz[i].Ime, niz[i].Prezime, niz[i].prosjek);
  85.  
  86.     }
  87. }
  88.  
  89. int main()
  90. {
  91.     FILE* ulaz;
  92.     ulaz=fopen("datoteka.txt", "r");
  93.     if(ulaz==NULL)
  94.     {
  95.         printf("Neuspjesno otvarannje datoteke");
  96.         exit(1);
  97.     }
  98.  
  99.     char znak;
  100.     int vel=0, i;
  101.     float prosjek;
  102.     struct Beba niz_beba[10];
  103.  
  104.     struct Beba *p=niz_beba;
  105.  
  106.     while(fscanf(ulaz, "%s%c%s%c%f\n", &niz_beba[vel].Ime, &znak, &niz_beba[vel].Prezime, &znak, &niz_beba[vel++].prosjek)!=EOF);
  107.  
  108.  
  109.  
  110.  
  111.     sort_po_prosjeku(niz_beba,vel);
  112.     sort_po_prezimenu(niz_beba, vel);
  113.     prosjek=zajednicki_prosjek(niz_beba, vel);
  114.  
  115.     dodaj_clan("Nova", "Beba", 8.3);
  116.     izbrisi_bebu("Nova", niz_beba, vel);
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement