Guest User

Untitled

a guest
Apr 19th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct zoznam{
  6. char meno[30];
  7. char priezvisko[30];
  8. char pracovnik[10];
  9. char mzda[10];
  10. char datum[10];
  11. char mriezka[5];
  12. struct zoznam *p_dalsi;
  13. }ZOZNAM;
  14.  
  15. ZOZNAM *alok()
  16. {
  17. ZOZNAM *p_pom;
  18. p_pom = (ZOZNAM*)malloc(sizeof(ZOZNAM));
  19. if(p_pom == NULL){
  20. printf("Malo pamete");
  21. exit(1);
  22. }
  23. return(p_pom);
  24. }
  25.  
  26.  
  27. void **nacitaj()
  28. {
  29. FILE *fr = NULL;
  30. int i,c,pocitadlo=0;
  31. ZOZNAM *p_prvy,*p_aktualny,*p_pred;
  32. int pracovnik=0;
  33.  
  34. if((fr = fopen("zamestnanci.txt","r")) == NULL)
  35. {
  36. printf("Zaznamy neboli nacitane");
  37. return 0;
  38. }
  39.  
  40. while((c=getc(fr))!= EOF)
  41. {
  42. ungetc(c,fr);
  43. if (c=getc(fr)=='#')
  44. pocitadlo++;
  45. }
  46. //printf("%d",pocitadlo);
  47. rewind(fr);
  48. for (i=1;i<=pocitadlo;i++){
  49. p_prvy = alok();
  50. fgets(p_prvy->meno,15,fr) ;
  51. fgets(p_prvy->priezvisko,32,fr) ;
  52. fgets(p_prvy->pracovnik,10,fr) ;
  53. fgets(p_prvy->mzda,10,fr) ;
  54. fgets(p_prvy->datum,10,fr) ;
  55. fgets(p_prvy->mriezka,10,fr) ;
  56. p_prvy->p_dalsi = NULL;
  57. p_aktualny=p_prvy;
  58.  
  59. //printf("%d\n",i);
  60. //printf("meno: %s\n",p_aktualny->meno);
  61. //printf("priezvisko: %s\n",p_aktualny->priezvisko);
  62. //printf("pracovnik: %s\n",p_aktualny->pracovnik);
  63. //printf("mzda: %s\n",p_aktualny->mzda);
  64. //printf("datum: %s\n",p_aktualny->datum);
  65. //printf("mriezka: %s\n",p_aktualny->mriezka);
  66. p_aktualny->p_dalsi=NULL;
  67. }
  68.  
  69. /*for(p_aktualny=p_prvy;p_aktualny != NULL; p_aktualny=p_aktualny->p_dalsi){
  70. printf("%s\n",p_aktualny->meno);
  71. }*/
  72. }
  73.  
  74. void vypis()
  75. {
  76. ZOZNAM *p_prvy=0,*p_aktualny,*p_pred;
  77. nacitaj();
  78. for(p_aktualny=p_prvy;p_aktualny != NULL; p_aktualny=p_aktualny->p_dalsi){
  79. printf("%s\n",p_aktualny->meno);
  80. }
  81.  
  82.  
  83. }
  84.  
  85.  
  86. int main()
  87. {
  88. int c;
  89. FILE *fr = NULL;
  90.  
  91. while ((c=getchar()) != 'K'){
  92. switch(c){
  93. case 'N' :
  94. nacitaj();
  95. break;
  96. case 'V' :
  97. vypis(fr);
  98. break;
  99. }
  100. }
  101.  
  102. return 0;
  103. }
Add Comment
Please, Sign In to add comment