Advertisement
Guest User

Untitled

a guest
Feb 11th, 2020
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.00 KB | None | 0 0
  1. /*
  2. KREIRAJTE DATOTEKU temperature.txt i ispunite je podacima ovog formata:
  3.  
  4. 15 6 8 13 24 2 1 5 1 6 2 6 2 56 2 1 3 5 2 -2,Sarajevo
  5. 63 75 92 18 29 47 -2 4 -12,Banja Luka
  6. 59 2 12 -21 5 24 125 53,Mostar
  7.  
  8.  
  9. */
  10.  
  11.  
  12.  
  13. #include <stdio.h>
  14.  
  15. struct Mjerenje {
  16.     char grad[20];
  17.     double temp[100];
  18.     int br_temp;
  19. };
  20. int je_cifra(char znak)
  21. {
  22.     if(znak>='0'&& znak<='9') return 1;
  23.     return 0;
  24. }
  25. int ucitaj(struct Mjerenje* mjerenja,int kap)
  26. {
  27.     int vel=0,j;
  28.     char znak;
  29.  
  30.     FILE* ulaz;
  31.     ulaz=fopen("temperature.txt","r");
  32.     if(ulaz==NULL) return 0;
  33.     while(vel<kap) {
  34.         //unos temepratura
  35.         j=0;
  36.         while(fscanf(ulaz,"%lf",&mjerenja[vel].temp[j])==1) {
  37.             j++;
  38.         }
  39.         mjerenja[vel].br_temp=j;
  40.         //unos imena grada
  41.         j=0;
  42.         //zarez
  43.         znak=fgetc(ulaz);
  44.        
  45.        
  46.         znak=fgetc(ulaz);
  47.         while(znak!='\n'&& znak!=EOF) {
  48.             mjerenja[vel].grad[j]=znak;
  49.             j++;
  50.             znak=fgetc(ulaz);
  51.         }
  52.         mjerenja[vel].grad[j]='\0';
  53.         vel++;
  54.         if(znak==EOF)  break;
  55.     }
  56.     fclose(ulaz);
  57.     return vel;
  58.  
  59. }
  60.  
  61. void upisi(struct Mjerenje* mjerenja, int vel)
  62. {
  63.     FILE* izlaz;
  64.     int i,j;
  65.     double suma=0, prosjek;
  66.     izlaz=fopen("prosjeci.txt", "w");
  67.     if(izlaz==NULL) {
  68.         printf("Greska pri otvaranju!\n");
  69.         return;
  70.     }
  71.     for(i=0; i<vel; i++) {
  72.         suma=0;
  73.         for(j=0; j<mjerenja[i].br_temp; j++) {
  74.             suma+=mjerenja[i].temp[j];
  75.         }
  76.         prosjek=suma/j;
  77.         fprintf(izlaz, "%.2lf°C - %s\n", prosjek, mjerenja[i].grad);
  78.     }
  79.     fclose(izlaz);
  80. }
  81.  
  82.  
  83.  
  84. int main()
  85. {
  86.     struct Mjerenje mjerenja[50];
  87.     int vel = ucitaj(mjerenja,50),i,j;
  88.     for(i=0; i<vel; i++) {
  89.         printf("_%s_ ", mjerenja[i].grad);
  90.         for(j=0; j<mjerenja[i].br_temp; j++) {
  91.             printf("%g ",mjerenja[i].temp[j]);
  92.         }
  93.         printf("\n");
  94.     }
  95.     upisi(mjerenja,vel);
  96.     return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement