Zadanie 6 (termin oddania 26.01, 18:30)
---------------------------------------

Napisz program umożliwiający przeglądanie i modyfikowanie bazy danych
przechowującej nastepujące informacje o osobach:

- imie:         napis długosci maksymalnie 15
- nazwisko:     napis długości maksymalnie 20
- plec:         wartość typu wyliczeniowego (kobieta, mężczyzna)
- rokUrodzenia: liczba całkowita

Baza danych bedzie zapisana w trzech plikach. Pierwszy z nich przechowuje
rekordy z informacjami wymienionymi powyżej. Dwa pozostałe pliki (tzw.
indeksy) będą plikami liczb całkowitych (longint) zawierającymi 
numery rekordów bazy danych uporządkowane w kolejności niemalejącej 
wartości odpowiednio pól "nazwisko" oraz "rokUrodzenia".

Indeksy pozwolą na efektywną realizację wyszukiwania rekordów. Jeśli np.
pojawi się potrzeba odnalezienia rekordu o określonej wartości pola
"rokUrodzenia", zastosujemy wyszukiwanie binarne jego numeru w indeksie.

Program będziemy wywoływali z trzema parametrami będącymi kolejno: nazwą
pliku rekordów, nazwą pliku indeksu dla pola "nazwisko" i nazwą pliku
indeksu dla pola "rokUrodzenia".

Po uruchomieniu program oczekuje na polecenia wydawane przez użytkownika.
Polecenie wydajemy wprowadzając w oddzielnym wierszu pojedynczą literę, a
następnie, w kolejnych wierszach, ewentualne argumenty polecenia.

Niektóre polecenia wymagają od programu wyświetlenia zawartości rekordów.
Każdy rekord należy wyświetlać w oddzielnym wierszu podając kolejno:
fizyczny numer rekordu w bazie danych, spacje, imię, spacje, nazwisko,
spacje, płeć (napis kobieta lub mezczyzna), spacje i rok urodzenia.

Program powinien wykonywać następujące polecenia:

i - wyszukanie w bazie wszystkich osób o imieniu będącym argumentem
    polecenia. W odpowiedzi wyświetlamy zawartości odnalezionych rekordów.
n - wyszukanie w bazie osób o podanym jako argument nazwisku.
p - wyszukanie osób o podanej płci. Argumentem będzie napis: kobieta
    lub mezczyzna
r - wyszukanie osób urodzonych w podanym roku
a - wyświetlenie wszystkich rekordów bazy danych uporządkowanych wg
    niemalejącej wartości pola "nazwisko"
o - wyświetlenie wszystkich rekordów bazy danych uporządkowanych wg
    niemalejącej wartości pola "rokUrodzenia"
d - dodanie rekordu do bazy danych. Argumentami polecenia będą wartości,
    które należy umieścić w poszczególnych polach. W wypadku pola "plec"
    argumentem będzie napis kobieta lub mezczyzna
u - usunięcie rekordu o numerze podanym jako argument
k - zakończenie pracy z bazą danych

Operacje szukające rekordów wg wartości pól "nazwisko" i "rokUrodzenia"
powinny korzystać z indeksów bazy danych. Operacje dodawania i usuwania
do bazy danych powinny także aktualizować pliki indeksów.

Należy zadbać o to, by po usunięciu rekordu z bazy danych nie pozostala
w niej "dziura". W tym celu należy w miejsce po usuniętym rekordzie
przenieść ostatni rekord bazy.