Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program osoby;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- type bazaosob = record
- Imie : string[25];
- Nazwisko : string[25];
- end;
- var osoba : array[1..100] of bazaosob;
- numer : byte;
- iloscwbazie : byte;
- ile : byte;
- Klaw : string[1];
- i, j : byte;
- plikosob : file of bazaosob;
- liczbaosob : file of byte;
- procedure DodajOsobe(var nowaosoba : bazaosob);
- begin
- reset(plikosob);
- seek(plikosob, filesize(plikosob));
- writeln('Prosze podac nastepujace dane');
- write('Imie: ');
- readln(nowaosoba.Imie);
- write('Nazwisko: ');
- readln(nowaosoba.Nazwisko);
- write(plikosob, nowaosoba);
- close(plikosob);
- end;
- procedure PierwotnaImie;
- var i : byte;
- begin
- reset(plikosob);
- i:=1;
- while not eof(plikosob) do
- begin
- read(plikosob, osoba[i]);
- writeln(i, '. ', osoba[i].Imie,' ',osoba[i].Nazwisko);
- i:=i+1;
- end;
- close(plikosob);
- end;
- procedure PierwotnaNazwisko;
- var i : byte;
- begin
- reset(plikosob);
- i:=1;
- while not eof(plikosob) do
- begin
- read(plikosob, osoba[i]);
- writeln(i, '. ', osoba[i].Nazwisko,' ', osoba[i].Imie);
- i:=i+1;
- end;
- close(plikosob);
- end;
- procedure EdytujOsobe;
- var numer : byte;
- begin
- reset(plikosob);
- writeln('Wpisz numer osoby, ktora chcesz edytowac');
- readln(numer);
- seek(plikosob, numer);
- read(plikosob, osoba[numer]);
- writeln(numer,'. ',osoba[numer].Imie,' ',osoba[numer].Nazwisko);
- writeln('Prosze podac nowe dane dla osoby ',osoba[numer].Imie,' ',osoba[numer].Nazwisko);
- write('Imie: ');
- readln(osoba[numer].Imie);
- write('Nazwisko: ');
- readln(osoba[numer].Nazwisko);
- write(plikosob, osoba[numer]);
- close(plikosob);
- end;
- procedure IndeksNazwisko;
- var i, j : byte; zamiana : byte;
- begin
- reset(plikosob);
- i:=1;
- while not eof(plikosob) do
- begin
- read(plikosob, osoba[i]);
- for i:= 1 to iloscwbazie-1 do
- for j:= iloscwbazie downto i+1 do
- if osoba[i].nazwisko[j-1] > osoba[i].nazwisko[j] then
- begin
- j-1 := zamiana;
- j := j-1;
- zamiana := j;
- end;
- i:=i+1;
- end;
- close(plikosob);
- end;
- begin
- iloscwbazie:=0;
- assign(plikosob, 'bazaosob.txt');
- assign(liczbaosob, 'liczba.txt');
- reset(liczbaosob);
- if not eof(liczbaosob) then read(liczbaosob, iloscwbazie);
- close(liczbaosob);
- repeat
- WriteLn('* * * * * * * * MENU * * * * * * * *');
- writeln('* *');
- writeln('* 1 - Dodaj osoby. *');
- writeln('* 2 - Wyswietl liste osob. *');
- writeln('* 3 - Wyswietl konkretna osobe. *');
- writeln('* 4 - Edytuj konkretna osobe. *');
- writeln('* 5 - Sortowanie listy osob. *');
- writeln('* 6 - Wyjdz z programu. *');
- WriteLn('* * * * * * * * * * * * * * * * * * * * *');
- writeln;
- readln(Klaw);
- if Klaw = '1' then
- begin
- writeln('Podaj ilosc osob, ktora chcesz dodac (maksymalnie 100)');
- readln(ile);
- iloscwbazie := iloscwbazie + ile;
- for i := 1 to ile do DodajOsobe(osoba[i]);
- WriteLn;
- end;
- if Klaw = '2' then
- begin
- WriteLn('1 - W kolejnosci wpisywania do tablicy');
- WriteLN('2 - W kolejnosci nazwisk');
- WriteLn('3 - W kolejnosci imion');
- ReadLn(Klaw);
- if Klaw = '1' then
- begin
- Writeln('1 - pierwsze imie');
- WriteLn('2 - pierwsze nazwisko');
- ReadLn(klaw);
- If Klaw = '1' then
- PierwotnaImie
- else
- PierwotnaNazwisko;
- end;
- if Klaw = '2' then
- begin
- end;
- if Klaw = '3' then
- begin
- end;
- WriteLn;
- end;
- if Klaw = '3' then
- begin
- writeln('wpisz numer osoby na liscie:');
- readln(numer);
- reset(plikosob);
- read(plikosob, osoba[numer]);
- writeln('Ta osoba to: ', osoba[numer].Imie,' ', osoba[numer].Nazwisko);
- close(plikosob);
- WriteLn;
- end;
- if Klaw = '4' then
- begin
- EdytujOsobe;
- WriteLn;
- end;
- if Klaw = '5' then
- begin
- WriteLn;
- end;
- until Klaw = '6';
- reset(liczbaosob);
- write(liczbaosob, iloscwbazie);
- close(liczbaosob);
- end.
Advertisement
Add Comment
Please, Sign In to add comment