Facebook
From Kamil, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 258
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<stdlib.h>
  4. #pragma warning (disable : 4996)
  5. struct data{
  6.         int dzien;
  7.         int miesiac;
  8.         int rok;
  9. };
  10. struct pracownik{
  11.         char nazwisko[30];
  12.         struct data data_u;
  13.         double pobory;
  14.         char plec;
  15. };
  16. void dodaj(void);
  17. double emeryci(void);
  18. void main()
  19. {
  20.         dodaj();
  21.         emeryci();
  22.  
  23.  
  24. }
  25.  
  26. void dodaj(void)
  27. {
  28.         FILE* plik;
  29.         struct pracownik prac;
  30.         plik = fopen("kadry.txt", "a+t");
  31.        
  32.         printf("\nPodaj nazwisko pracownia:");
  33.         scanf("%s", prac.nazwisko);
  34.         fflush(stdin);
  35.         printf("\nPodaj date urodzenia pracownika:");
  36.         printf("\nPodaj dzien:");
  37.         scanf("%d", &prac.data_u.dzien);
  38.         printf("\nPodaj miesiac:");
  39.         scanf("%d", &prac.data_u.miesiac);
  40.         printf("\nPodaj rok:");
  41.         scanf("%d", &prac.data_u.rok);
  42.         fflush(stdin);
  43.         printf("\nPodaj plec:");
  44.         scanf("%c", &prac.plec);
  45.         printf("\nPodaj place:");
  46.         scanf("%lf", &prac.pobory);
  47.        
  48.         fwrite(&prac, sizeof(struct pracownik), 1, plik);
  49.        
  50.                
  51.         fclose(plik);
  52.  
  53.        
  54.  
  55.  
  56. }
  57. double emeryci(void)
  58. {
  59.         FILE* plik = fopen("kadry.txt", "r");
  60.         FILE* plik1 = fopen("pliktymczas.txt", "w");
  61.         FILE* plik2 = fopen("emeryci.txt", "w");
  62.  
  63.         struct pracownik prac;
  64.         struct data dzis;
  65.         dzis.dzien = 22;
  66.         dzis.miesiac = 6;
  67.         dzis.rok = 2017;
  68.         int wiek;
  69.         double odprawa = 0;
  70.  
  71.         while (fread(&prac, sizeof(struct pracownik), 1, plik) == 1)
  72.         {
  73.                 if (prac.plec == 'k')
  74.                         wiek = 60;
  75.                 else wiek = 65;
  76.        
  77.                 if (dzis.rok - prac.data_u.rok > wiek)
  78.                 {
  79.                         fwrite(&prac, sizeof(struct pracownik), 1, plik1);
  80.                         odprawa += 6 * prac.pobory;
  81.                 }
  82.                 else if (dzis.rok - prac.data_u.rok == wiek && dzis.miesiac < prac.data_u.miesiac)
  83.                 {
  84.                         fwrite(&prac, sizeof(struct pracownik), 1, plik1);
  85.                         odprawa += 6 * prac.pobory;
  86.                 }
  87.                 else if (dzis.rok - prac.data_u.rok == wiek && dzis.dzien == prac.data_u.dzien)
  88.                 {
  89.                         fwrite(&prac, sizeof(struct pracownik), 1, plik1);
  90.                         odprawa += 6 * prac.pobory;
  91.                 }
  92.                 else fwrite(&prac, sizeof(struct pracownik), 1, plik2);
  93.                        
  94.         }
  95.         fclose(plik);
  96.         fclose(plik1);
  97.         fclose(plik2);
  98.  
  99.         remove("kadry,txt");
  100.         rename("pliktymczas.txt", "kadra.txt");
  101.        
  102.         return odprawa;
  103.  
  104.  
  105.  
  106. }
  107.  
  108.