Skocz do zawartości

[TP] Odczyt i zapis pliku


jono

Rekomendowane odpowiedzi

pomóż mi ktoś musze wykonać takie zadanie:

Napisz program w Turbo Pascalu o nazwie "baza danych", który zawiera menu z możliwymi opcjami:

1.odczytanie danych z piku baza.abc

2.zapisanie danych do pliku baza.abc

3.edycja danych(i tego elementu w tablicy rekordów)

4.wprowadzenie danych

5.podgląd danych(pokazanie zawartości i tego elementu tablicy rekordów)

6.wyświetlenie danych posortowanych według wybranego kryterium

Baza zawiera dane osób takie jak:imię, nazwisko, płeć, wiek, płaca. Program ma zawierać procedury i funkcje oraz case'a

Odnośnik do komentarza
Udostępnij na innych stronach

Piszę w ramce GML, bo ramki PASCAL nie ma :)

Aha, i bazy danych nie zapisuje się w formacie abc ;]

 

Pozdro, Moe

 

GML
Uses CRT;

 

Var

Imie,nazwisko,telefon:array[1..30] of string; // Tu dopisz sobie odpowiednie dane ( jak ty tam chciałeś płeć itd. )

c,c2:char;

iloscosob:byte;

t1:byte;

plik:text; {1}

 

PROCEDURE Wprowadz; // Tu też pozmieniaj

Begin

ClrScr;

Iloscosob:=iloscosob+1; {4}

Write('Imie : ');

ReadLn( imie[iloscosob] ); {5}

Write('Nazwisko : ');

ReadLn( nazwisko[iloscosob] ); {6}

Write('Telefon : ');

ReadLn( telefon[iloscosob] ); {7}

End;

 

PROCEDURE Wyswietl;

Begin

ClrScr;

Write('Numer wpisu ? (1..', iloscosob ,') :'); {8}

ReadLn(t1); {9}

WriteLn('Imie : ',imie[t1] ); {10}

WriteLn('Nazwisko : ',nazwisko[t1] ); {11}

WriteLn('Telefon : ',telefon[t1] ); {12}

WriteLn;

Write('Wcisnij jakis klawisz...');

c2:=readkey;

End;

 

 

PROCEDURE Zapisz; {2}

Begin

Assign(plik,'BAZA.DAN'); {3}

ReWrite(plik); {4}

WriteLn(plik,iloscosob); {5}

t1:=0; {6}

Repeat

t1:=t1+1; {7}

WriteLn(plik,imie[t1] ); {8}

WriteLn(plik,nazwisko[t1] ); {9}

WriteLn(plik,telefon[t1] ); {10}

Until t1=iloscosob; {11}

Close(plik); {12}

End;

 

PROCEDURE Czytaj; {13}

Begin

Assign(plik,'BAZA.DAN'); {14}

Reset(plik); {15}

ReadLn(plik,iloscosob); {16}

t1:=0; {17}

Repeat

t1:=t1+1; {18}

ReadLn(plik,imie[t1] ); {19}

ReadLn(plik,nazwisko[t1] ); {20}

ReadLn(plik,telefon[t1] ); {21}

Until t1=iloscosob; {22}

Close(plik); {23}

End;

 

Begin

Iloscosob:=0; // Opcje też możesz sobie pozmieniać jak chcesz

Repeat

ClrScr;

WriteLn('1. Nowy wpis'); {24}

WriteLn('2. Wyswietlenie wpisu'); {25}

WriteLn('3. Odczyt z pliku'); {26}

WriteLn('4. Zapis do pliku'); {27}

WriteLn('5. Koniec programu'); {28}

Repeat

c:=readkey;

Until (c>='1') AND (c<='5'); {29}

If c='1' Then Wprowadz;

If c='2' Then Wyswietl;

If c='3' Then Czytaj; {30}

If c='4' Then Zapisz; {31}

Until c='5'; {32}

End.

Odnośnik do komentarza
Udostępnij na innych stronach

Piszę w ramce GML, bo ramki PASCAL nie ma :)

Aha, i bazy danych nie zapisuje się w formacie abc ;]

W tym celu uzywa się [ code ]. A poza tym, Pascal nie stosuje żadnego ustandaryzowanego odgórnie systemu zapisu baz danych, więc nie musi być konkretnego rozszerzenia, można dowolne dać.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...