Guest User

Untitled

a guest
Apr 20th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <conio.h>
  5. #include <ctype.h>
  6.  
  7.  
  8. ZAMESTNANEC *Nacitaj(FILE *fr,ZAMESTNANEC *zam)
  9. {
  10.     int c,dlzka,n=0;
  11.     ZAMESTNANEC *prvy = (ZAMESTNANEC *) malloc (sizeof(ZAMESTNANEC));
  12.     char x;
  13.     if (zam != NULL){
  14.             prvy = zam;
  15.             while(zam){
  16.                 prvy=prvy->dalsi;
  17.                 free(zam);
  18.                 zam=prvy;
  19.             }
  20.     }
  21.  
  22.     while ((c = getc(fr)) != EOF) {
  23.         ungetc(c, fr);
  24.         ZAMESTNANEC *p = (ZAMESTNANEC *) malloc (sizeof(ZAMESTNANEC));
  25.         fgets(p->meno,32,*fr);
  26.         dlzka = strlen(p->meno);
  27.         if (p->meno[dlzka - 1] == '\n')
  28.             p->meno[dlzka - 1] = '\0';
  29.         fgets(p->priezvisko,32,fr);
  30.         dlzka = strlen(p->priezvisko);
  31.         if (p->priezvisko[dlzka - 1] == '\n')
  32.             p->priezvisko[dlzka - 1] = '\0';
  33.         fscanf(fr,"%d\n",&p->typ);
  34.         fscanf(fr,"%lf\n",&p->mzda);
  35.         fscanf(fr,"%d\n",&p->datum);
  36.         fscanf(fr,"%c\n",&x);
  37.         if (zam != NULL){             // akt uz ukazuje na nejaky prvok
  38.             p->dalsi = zam->dalsi;
  39.             zam->dalsi = p;
  40.             zam=p;
  41.         }
  42.         else (zam == NULL) { // ak sa vklada prvy zaznam
  43.             prvy=p;
  44.             zam = p;
  45.         }
  46.         n++;
  47.     }
  48.     zam->dalsi=NULL;            //koniec zoznamu
  49.     printf("Nacitalo sa %d zaznamov.\n",n);
  50.     rewind(fr);
  51.     return prvy;
  52. }
  53.      
  54.    
  55.  
  56. int main()
  57.     {
  58.         FILE *fr=NULL;
  59.         ZAMESTNANEC *zam = NULL;
  60.         while(1){
  61.         switch(getchar()){
  62.     default:
  63.      
  64.      
  65.     break;
  66.      
  67.     case 'N':{
  68.         if ((fr = fopen("zamestnanci.txt", "r")) == NULL){
  69.             printf("Zaznamy neboli nacitane\n");
  70.             break;
  71.             }
  72.      
  73.     zam=Nacitaj(zam);
  74.      
  75.      
  76.     break;
  77.      
  78.      
  79.      
  80.      }
  81.         case 'V':{
  82.      
  83.     Vypis(zam);
  84.      
  85.      
  86.     break;
  87.      
  88.      
  89.      
  90.      }
  91.         case 'A':{
  92.      
  93.     Aktualizacia(zam);
  94.      
  95.      
  96.     break;
  97.      
  98.      
  99.      
  100.      }
  101.         case 'Z':{
  102.      
  103.     Zmazanie(zam);
  104.      
  105.      
  106.     break;
  107.      
  108.      
  109.      
  110.      }
  111.         case 'P':{
  112.      
  113.     zam=Pridaj(zam);
  114.      
  115.      
  116.     break;
  117.      
  118.      
  119.      
  120.      }
  121.         case 'K':{
  122.             ZAMESTNANEC *prvy = (ZAMESTNANEC *) malloc (sizeof(ZAMESTNANEC));
  123.             if (zam != NULL){
  124.             prvy = zam;
  125.             while(zam){
  126.                 prvy=prvy->dalsi;
  127.                 free(zam);
  128.                 zam=prvy;
  129.             }
  130.         }
  131.             fclose(fr);
  132.      
  133.     return 0;
  134.      
  135.     break;
  136.      
  137.      
  138.      
  139.      }
  140.         }
  141.         }
  142.     }
Add Comment
Please, Sign In to add comment