Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.26 KB | None | 0 0
  1. //---------------------------Ime na programata
  2. program IzpitTest1;
  3.  
  4. //------------tip zapis s parametrite (TipSlujitel)
  5. type TipSlujitel = record
  6. Ime : string  [25];
  7. EGN : string  [10];
  8. SlujNomer : string  [10];
  9. BrChasoveZaVsekiDenOtMeseca : array [1..31] of integer;
  10. BrPrisustveniChasoveZaMesecaSUM : real;
  11. end;
  12.  
  13. //------------------------definirane na file ot zapis (FL)
  14. var FL file of TipSlujitel;
  15.  
  16. //definirane na textov file
  17. ft : text;
  18.  
  19.  //--defdefinirane na podhodqsh tip za edin slujitel (Slujitel)
  20. Slujitel : TipSlujitel;
  21.  
  22.  //---------------------------definirane na MenuButton
  23.  MenuButton : integer;
  24.  
  25. //definirane na ImeFL
  26. ImeFL : string [20];
  27.  
  28. //definirane na sum
  29. sum: real;
  30.  
  31. //definirane na neobhodim parametar za populvane na prisustviqta za dnite
  32. BrDniVMesec : integer;
  33.  
  34. //broqch na horata s < 160 chasa za meseca
  35. counter: integer;
  36.  
  37.     //------PROCEDURE CREATE FILE (SzdFile)
  38.   procedure SzdFile;
  39.   rewrite(FL);Close (FL);
  40.   writeln;writeln ('Failut e suzdaden.')
  41.  
  42. //-----Function za izchislqvane na obsht broi prisustveni chasove za meseca (SUM)
  43. Function PrisustviqZaMeseca : real;
  44.     Begin
  45.     with slujitel do
  46. sum:=0;
  47. for I:=1 to BrDniVMesec do begin
  48. sum := sum + BrChasoveZaVsekiDenOtMeseca[i] ;
  49. end;
  50. end;
  51.  
  52. //-----------Procedure dobavi danni za slujiteli
  53.   procedure Vuvejdane;
  54.   With Sjujitel do
  55.   Writeln('Vuvedete Ime : '); Readln (Ime);
  56.   Writeln('Vuvedete EGN : '); Readln(EGN);
  57.   Writeln('Vuvedete Slujeben Nomer : '); Readln(SlujNomer);
  58.  
  59. //---- procedure dobaviane
  60. procedure dobaviane;
  61. Begin
  62. reset(FL);
  63. repeat
  64. Seek(FL,FileSize(Fl));
  65. Vuvejdane; Write(Fl,Slujitel);
  66. writeln('Shte produljite li vuvejdaneto');
  67. until CH in ['n','N'];
  68. close(fl);
  69. end;
  70.  
  71. writeln('Vuvedete kolko dni e tozi mesec');
  72. readln(BrDniVMesec);
  73.  
  74. for i:=1 to BrDniVMesec do begin
  75.   Writeln('Vuvedete Broi prisustveni chasove za ',i, '-iq den ot meseca : ');
  76. Readln(BrChasoveZaVsekiDenOtMeseca[i]);
  77. slujitel.BrPrisustveniChasoveZaMesecaSUM := PrisustviqZaMeseca;
  78. end;
  79.  
  80.  
  81. //procedure za izvejdane
  82. Procedure izvedi;
  83. Begin
  84. reset(Fl);
  85. while not eof (FL) do
  86. with slujitel do begin
  87. read(Fl,Slujitel);
  88.  
  89. if slujitel.BrPrisustveniChasoveZaMesecaSUM<160 then do begin
  90. append(FT); writeln(FT,Ime);
  91. write(FT,EGN);
  92. write(FT,SlujNomer);
  93.  
  94.     writeln(' IME : ' ,Ime,);
  95.     Write(' EGN : ',EGN,);
  96.     Write (' SLUJEBEN NOMER : ',SlujNomer,);
  97.     counter := counter +1;
  98.  
  99.     end;
  100.     end;
  101.  
  102.     Writeln ('Broqt na horata s po malko ot 160 prisustveni chasa za tozi mesec e : ',counter,);
  103.     end;
  104. end;
  105.  
  106.  
  107. //---------------------------------GLAVNA PROGRAMA
  108.    
  109.   BEGIN
  110. repeat
  111.   writeln('Menu za izbirane na operacii');
  112.     writeln('Natisnete 1 za suzdavane na file.');
  113.     writeln('Natisnete 2 za dobavqne na danni za slujiteli.');
  114.     writeln('Natisnete 3 za namirane na obshtiq broi chasove za vski edin slujitel i zapis obratno vuv faila.');
  115.     writeln('Natisnete 4 za izvejdane v tekstov file
  116.                       na slujitelite (Ime , EGN , SlujNomer)
  117.                          i tehniq broi s obshti prisustveni chasove za meseca < 160.');
  118.     wrireln('Natisnete 0 za da krai.');
  119.     readln(MenuButton);
  120.     case (MenuButton) of
  121.     1:SzdFile
  122.     2:Dobaviane
  123.     3:PrisustviqZaMeseca
  124.     4:Izvedi
  125.  
  126.     until MenuButton=0;
  127.     End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement