Advertisement
Iceek

Uprajnenie na strukturi

Apr 4th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.11 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct Ocenka
  5. {
  6.     int nomer;
  7.     float ocenka;
  8. };
  9.  
  10. int main()
  11. {
  12.     struct Ocenka *masiv;
  13.     int i;
  14.     int count=0;
  15.  
  16.     masiv=(struct Ocenka*) malloc(sizeof(struct Ocenka)*5);
  17.  
  18.     for(i=0;i<5;i++)
  19.     {
  20.         printf("Nomer: ");
  21.         scanf(" %d", &(masiv+i)->nomer);
  22.         printf("Ocenka: ");
  23.         scanf(" %f", &(masiv+i)->ocenka);
  24.     }
  25.  
  26.     printf("Information: ");
  27.  
  28.     for(i=0;i<5;i++)
  29.     {
  30.         printf("\nNomer: ");
  31.         printf(" %d", (masiv+i)->nomer);
  32.         printf("\nOcenka: ");
  33.         printf(" %0.2f", (masiv+i)->ocenka);
  34.     }
  35.  
  36.     FILE *text1;
  37.     text1 = fopen("Ocenka.bin", "wb");
  38.  
  39.     if(text1==NULL)
  40.     {
  41.         printf("Error with opening file for writing! ");
  42.         return -1;
  43.     }
  44.  
  45.     while (1)
  46.     {
  47.  
  48.         if(fwrite(&(masiv+count)->nomer,sizeof(int),1,text1)!=1)
  49.         {
  50.             printf("Error1!");
  51.             exit(4);
  52.             break;
  53.         }
  54.  
  55.         if(fwrite(&(masiv+count)->ocenka,4,1,text1)!=1)
  56.         {
  57.             printf("Error1!");
  58.             exit(4);
  59.             break;
  60.         }
  61.  
  62.         count++;
  63.         if(count>4)
  64.         {
  65.             break;
  66.         }
  67.     }
  68.     fclose(text1);
  69.     free(masiv);
  70.  
  71.  
  72.     FILE *text2;
  73.     text2 = fopen("Ocenka.bin", "rb");
  74.  
  75.     if(text2==NULL)
  76.     {
  77.         printf("Error! ");
  78.         return -2;
  79.     }
  80.  
  81.     FILE *tekstovUkazatel;
  82.     tekstovUkazatel = fopen("Richi.txt", "w");
  83.  
  84.     if(tekstovUkazatel==NULL)
  85.     {
  86.         printf("Error! ");
  87.         return -3;
  88.     }
  89.  
  90.     int number;
  91.     float mark;
  92.  
  93.     while (1)              
  94.     {
  95.  
  96.  
  97.         if(fread(&number,sizeof(int),1,text2)!=1)
  98.         {
  99.             printf("\nSuccessful reading!");
  100.             break;
  101.         }
  102.  
  103.  
  104.         fprintf(tekstovUkazatel, "\nNomer: %d", number);
  105.  
  106.         if(fread(&mark,4,1,text2)!=1)
  107.         {
  108.             printf("\nSuccessful reading!");
  109.             break;
  110.         }
  111.  
  112.         fprintf(tekstovUkazatel, "\nOcenka: %0.2f", mark);
  113.  
  114.     }
  115.  
  116.     fclose(text2);
  117.     fclose(tekstovUkazatel);
  118.  
  119.     return 0;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement