Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //---------------------------Ime na programata
- program IzpitTest1;
- //------------tip zapis s parametrite (TipSlujitel)
- type TipSlujitel = record
- Ime : string [25];
- EGN : string [10];
- SlujNomer : string [10];
- BrChasoveZaVsekiDenOtMeseca : array [1..31] of integer;
- BrPrisustveniChasoveZaMesecaSUM : real;
- end;
- //------------------------definirane na file ot zapis (FL)
- var FL file of TipSlujitel;
- //--defdefinirane na podhodqsh tip za edin slujitel (Slujitel)
- Slujitel : TipSlujitel;
- //---------------------------definirane na MenuButton
- MenuButton : integer;
- //definirane na ImeFL
- ImeFL : string [20];
- //definirane na sum
- sum: real;
- //definirane na neobhodim parametar za populvane na prisustviqta za dnite
- BrDniVMesec : integer;
- //broqch na horata s < 160 chasa za meseca
- counter: integer;
- //------PROCEDURE CREATE FILE (SzdFile)
- procedure SzdFile;
- rewrite(FL);Close (FL);
- writeln;writeln ('Failut e suzdaden.')
- //-----Function za izchislqvane na obsht broi prisustveni chasove za meseca (SUM)
- Function PrisustviqZaMeseca : real;
- Begin
- with slujitel do
- sum:=0;
- for I:=1 to BrDniVMesec do begin
- sum := sum + BrChasoveZaVsekiDenOtMeseca[i] ;
- end;
- end;
- //-----------Procedure dobavi danni za slujiteli
- procedure Vuvejdane;
- With Sjujitel do
- Writeln('Vuvedete Ime : '); Readln (Ime);
- Writeln('Vuvedete EGN : '); Readln(EGN);
- Writeln('Vuvedete Slujeben Nomer : '); Readln(SlujNomer);
- //---- procedure dobaviane
- procedure dobaviane;
- Begin
- reset(FL);
- repeat
- Seek(FL,FileSize(Fl));
- Vuvejdane; Write(Fl,Slujitel);
- writeln('Shte produljite li vuvejdaneto');
- until CH in ['n','N'];
- close(fl);
- end;
- writeln('Vuvedete kolko dni e tozi mesec');
- readln(BrDniVMesec);
- for i:=1 to BrDniVMesec do begin
- Writeln('Vuvedete Broi prisustveni chasove za ',i, '-iq den ot meseca : ');
- Readln(BrChasoveZaVsekiDenOtMeseca[i]);
- slujitel.BrPrisustveniChasoveZaMesecaSUM := PrisustviqZaMeseca;
- end;
- //procedure za izvejdane
- Procedure izvedi;
- Begin
- if slujitel.BrPrisustveniChasoveZaMesecaSUM<160 then do begin
- with slujitel do begin
- writeln(' IME : ' ,Ime,);
- Write(' EGN : ',EGN,);
- Write (' SLUJEBEN NOMER : ',SlujNomer,);write( ',,);
- counter := counter +1;
- end;
- end;
- if eof than begin
- Writeln ('Broqt na horata s po malko ot 160 prisustveni chasa za tozi mesec e : ',counter,);
- end;
- end;
- //---------------------------------GLAVNA PROGRAMA
- BEGIN
- repeat
- writeln('Menu za izbirane na operacii');
- writeln('Natisnete 1 za suzdavane na file.');
- writeln('Natisnete 2 za dobavqne na danni za slujiteli.');
- writeln('Natisnete 3 za namirane na obshtiq broi chasove za vski edin slujitel i zapis obratno vuv faila.');
- writeln('Natisnete 4 za izvejdane v tekstov file
- na slujitelite (Ime , EGN , SlujNomer)
- i tehniq broi s obshti prisustveni chasove za meseca < 160.');
- wrireln('Natisnete 0 za da krai.');
- readln(MenuButton);
- case (MenuButton) of
- 1:SzdFile
- 2:Dobaviane
- 3:PrisustviqZaMeseca
- 4:Izvedi
- until MenuButton=0;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement