Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program true1;
- uses crt, addtrue1, truemenu;
- var
- s:sotrudniki;
- h,j: integer;
- f:textfile;
- num: longint;
- begin
- assign(f,'sotrudniki.txt');
- j:=0;
- h:=0;
- num:=0;
- repeat
- truemenu.menu(num);
- case num of
- 1: readconsol(s);
- 2: writeconsol(s,J);
- 3: readfromfile(s,h);
- 4: writetofile(s,f,h);
- 5: search(s,h);
- 6: exit;
- end;
- until num=6;
- end.
- unit addtrue1;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils;
- const
- n=5;
- type
- sotrudnik = record
- fio:string[50];
- data:record
- day:1..31;
- month:1..12;
- year:integer;
- end;
- salary:integer;
- end;
- sotrudniki=array[1..n] of sotrudnik;
- procedure readconsol(var s:sotrudniki);
- procedure writeconsol(s:sotrudniki;j:integer);
- procedure readfromfile(var s:sotrudniki;var h:integer);
- procedure writetofile(s:sotrudniki; var f:textfile; h:integer);
- procedure search(s:sotrudniki; h:integer);
- implementation
- procedure readconsol(var s:sotrudniki);
- var j:integer;
- begin
- for j:=1 to n do
- write('Enter FIO: '); readln(s[j].fio);
- writeln('Day of starting the work');
- write('Enter day: '); readln(s[j].data.day);
- write('Enter month: '); readln(s[j].data.month);
- write('Enter year: '); readln(s[j].data.year);
- write('Enter value of salary: '); readln(s[j].salary);
- writeln(j,' records after fill');
- writeln('...Press Enter...');
- readln;
- end;
- procedure writeconsol(s:sotrudniki; j:integer);
- var
- i:integer;
- begin
- for i:=1 to j do
- begin
- writeln(i,' - ',s[i].fio,' ');
- writeln('Day of starting the work');
- writeln((s[i].data.day),'.',(s[i].data.month),'.',(s[i].data.year),' - ',s[i].salary);
- writeln(' ');
- end;
- writeln('...Press Enter...');
- readln;
- end;
- procedure readfromfile(var s:sotrudniki;var h:integer);
- var
- f:textfile;
- begin
- assign(f,'sotrudniki.txt');
- reset(f);
- h:=0;
- while not eof(f) do
- begin
- inc(h);
- readln(f,s[h].fio);
- readln(f,s[h].data.day);
- readln(f,s[h].data.month);
- readln(f,s[h].data.year);
- readln(f,s[h].salary);
- end;
- close(f);
- writeln(h,' records read from file');
- writeln('...Press Enter...');
- readln;
- end;
- procedure writetofile(s:sotrudniki; var f:textfile; h:integer);
- var
- i:integer;
- begin
- assign(f,'sotrudniki.txt');
- rewrite(f);
- for i:= 1 to h do
- begin
- writeln(f,s[i].fio);
- write(f,s[i].data.day);
- write(f,s[i].data.month);
- write(f,s[i].data.year);
- writeln(f,s[i].salary);
- end;
- close(f);
- writeln(h, 'records saved in file');
- write('...Press Enter...');
- readln;
- end;
- procedure search(s:sotrudniki; h:integer);
- var
- j,i,a,b:integer;
- begin
- writeln('Enter value of salary');
- write('from: '); readln(a);
- write('to: '); readln(b);
- writeln('Workers with such salary: ');
- for i:=1 to h do
- begin
- if ((s[i].salary>=a) and (s[i].salary<=b)) then
- writeln(i,' ',s[i].fio,' ',' - ',s[i].data.day,'.',s[i].data.month,'.',s[i].data.year,' - ',s[i].salary);
- end;
- write('...Press Enter...');
- readln;
- end;
- end.
- unit truemenu;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils;
- var
- m:integer;
- procedure
- menu(var num:integer);
- implementation
- uses crt;
- procedure menu(var num:integer);
- begin
- writeln('1. Reading from consol. ');
- writeln('4. Writing to consol. ');
- writeln('2. Reading from text file. ');
- writeln('5. Recording to file. ');
- writeln('3. Find workers with some salary. ');
- writeln('6. Exit. ');
- writeln('Choose the option: ');
- repeat
- readln(num);
- until num in [1..6];
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement