MAM DO NAPISANIA PROGRAM KTÓRY WPROWADZA I ZAPISUJE DANE 6 PRACOWNIKÓW FIRMY(IMIĘ,NAZWISKO, PŁACĘ, LATA ILE PRACUJE, WIEK, ) I ODCZYTUJE DANE I UMOŻLIWIA USUNIĘCIE DANEGO PRACOWNIKA Z LISTY . PROGRAM MA BYĆ TURBO PASCALU
program osobowe; uses crt; type dane=record imie:string[15]; nazwisko:string[20]; nr:integer; zarobki:real; adres:string[128]; end; var licznik:byte; dane1:dane; plik:file of dane; wybrany_klawisz:char; function istnieje_plik(nazwa_pliku:string):boolean; begin (*$i-*) assign(plik,nazwa_pliku); reset(plik); (*$i+*) if ioresult=0 then begin close(plik); istnieje_plik:=true; end else istnieje_plik:=false; end; procedure tworzenie_nowego_pliku; var nowy_plik:boolean; begin clrscr; nowy_plik:=true; textcolor(yellow); if Istnieje_plik('Per1.dan') then begin writeln('Wszystkie dotychczasowe dane zostana usuniete z pliku.'); writeln; repeat write('Wykonywac dalej? (T)ak/(N)ie'); readln(Wybrany_klawisz); until wybrany_klawisz in ['T','t','N','n']; if wybrany_klawisz in['N','n'] then nowy_plik:=false; end; if nowy_plik then begin assign(plik,'Per1.dan'); rewrite(plik); close(plik); end; end; procedure przyjmowanie_osoby; begin clrscr; writeln('Przyjmowanie nowej osoby'); textcolor(yellow); if istnieje_plik('Per1.dan') then begin assign(plik,'Per1.dan'); reset(plik); seek(plik,filesize(plik)); writeln; writeln('Rezygnacja >>X<<+>>Enter<<'); textcolor(blue); repeat writeln; writeln('Podaj nazwisko.'); readln(dane1.nazwisko); if ((dane1.nazwisko<>'X') and (dane1.nazwisko<>'x')) then begin writeln('Podaj imie.'); readln(dane1.imie); writeln('Podaj zarobki.'); readln(dane1.zarobki); dane1.nr:=filepos(plik); writeln('Podaj adres.'); readln(dane1.adres); write(plik,dane1); end; until (dane1.nazwisko='X') or (dane1.nazwisko='x'); close(plik); end; end; procedure wypisywanie_danych; begin clrscr; licznik:=0; if istnieje_plik('Per1.dan') then begin assign(plik,'Per1.dan'); reset(plik); textcolor(white); writeln(''); writeln('Nr Nazwisko Imie'); writeln(''); textcolor(yellow); while not eof(plik) do begin licznik:=licznik+1; read(plik,dane1); gotoxy(1,licznik+4); write(dane1.nr); gotoxy(22,licznik+4); write(dane1.nazwisko); gotoxy(50,licznik+4); write(dane1.imie); if licznik=21 then begin readln; clrscr; licznik:=0; end; end; textcolor(white); gotoxy(1,licznik+6); writeln(''); close(plik); end; end;
procedure koniec; begin halt; end; function menu:char; var znak:char; Tak_Nie:char; begin write('Dane'); repeat clrscr; writeln('Wybierz'); writeln('1-Tworzenie nowego pliku'); writeln('2-Przyjmowanie nowej osoby'); writeln('3-Wypisz wszystkie dane'); writeln('4-Wskaz pojedyncza osobe'); writeln('5-Usuniecie wskazanej osoby'); writeln('6-Zmiany w personaliach'); writeln('0-Koniec'); readln(znak); case znak of '1':tworzenie_nowego_pliku; '2':przyjmowanie_osoby; '3':wypisywanie_danych; {'4':pojedyncza_osoba; '5':usuwanie_osoby; '6':zmiany;} '0':koniec; end; writeln('Czy chesz wykonac kolejna czynnosc? (T)ak'); Tak_Nie:=Upcase(readkey); until not(Tak_Nie='T'); end; begin clrscr; textcolor(green); menu; end.
program osobowe;
uses crt;
type
dane=record
imie:string[15];
nazwisko:string[20];
nr:integer;
zarobki:real;
adres:string[128];
end;
var
licznik:byte;
dane1:dane;
plik:file of dane;
wybrany_klawisz:char;
function istnieje_plik(nazwa_pliku:string):boolean;
begin
(*$i-*)
assign(plik,nazwa_pliku);
reset(plik);
(*$i+*)
if ioresult=0 then
begin
close(plik);
istnieje_plik:=true;
end
else
istnieje_plik:=false;
end;
procedure tworzenie_nowego_pliku;
var
nowy_plik:boolean;
begin
clrscr;
nowy_plik:=true;
textcolor(yellow);
if Istnieje_plik('Per1.dan') then
begin
writeln('Wszystkie dotychczasowe dane zostana usuniete z pliku.');
writeln;
repeat
write('Wykonywac dalej? (T)ak/(N)ie');
readln(Wybrany_klawisz);
until wybrany_klawisz in ['T','t','N','n'];
if wybrany_klawisz in['N','n'] then
nowy_plik:=false;
end;
if nowy_plik then
begin
assign(plik,'Per1.dan');
rewrite(plik);
close(plik);
end;
end;
procedure przyjmowanie_osoby;
begin
clrscr;
writeln('Przyjmowanie nowej osoby');
textcolor(yellow);
if istnieje_plik('Per1.dan') then
begin
assign(plik,'Per1.dan');
reset(plik);
seek(plik,filesize(plik));
writeln;
writeln('Rezygnacja >>X<<+>>Enter<<');
textcolor(blue);
repeat
writeln;
writeln('Podaj nazwisko.');
readln(dane1.nazwisko);
if ((dane1.nazwisko<>'X') and (dane1.nazwisko<>'x')) then
begin
writeln('Podaj imie.');
readln(dane1.imie);
writeln('Podaj zarobki.');
readln(dane1.zarobki);
dane1.nr:=filepos(plik);
writeln('Podaj adres.');
readln(dane1.adres);
write(plik,dane1);
end;
until (dane1.nazwisko='X') or (dane1.nazwisko='x');
close(plik);
end;
end;
procedure wypisywanie_danych;
begin
clrscr;
licznik:=0;
if istnieje_plik('Per1.dan') then
begin
assign(plik,'Per1.dan');
reset(plik);
textcolor(white);
writeln('');
writeln('Nr Nazwisko Imie');
writeln('');
textcolor(yellow);
while not eof(plik) do
begin
licznik:=licznik+1;
read(plik,dane1);
gotoxy(1,licznik+4);
write(dane1.nr);
gotoxy(22,licznik+4);
write(dane1.nazwisko);
gotoxy(50,licznik+4);
write(dane1.imie);
if licznik=21 then
begin
readln;
clrscr;
licznik:=0;
end;
end;
textcolor(white);
gotoxy(1,licznik+6);
writeln('');
close(plik);
end;
end;
procedure koniec;
begin
halt;
end;
function menu:char;
var
znak:char;
Tak_Nie:char;
begin
write('Dane');
repeat
clrscr;
writeln('Wybierz');
writeln('1-Tworzenie nowego pliku');
writeln('2-Przyjmowanie nowej osoby');
writeln('3-Wypisz wszystkie dane');
writeln('4-Wskaz pojedyncza osobe');
writeln('5-Usuniecie wskazanej osoby');
writeln('6-Zmiany w personaliach');
writeln('0-Koniec');
readln(znak);
case znak of
'1':tworzenie_nowego_pliku;
'2':przyjmowanie_osoby;
'3':wypisywanie_danych;
{'4':pojedyncza_osoba;
'5':usuwanie_osoby;
'6':zmiany;}
'0':koniec;
end;
writeln('Czy chesz wykonac kolejna czynnosc? (T)ak');
Tak_Nie:=Upcase(readkey);
until not(Tak_Nie='T');
end;
begin
clrscr;
textcolor(green);
menu;
end.