Advertisement
Guest User

Untitled

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