blood777
Początkujący
Dołączył: 17 Lut 2006
Posty: 7
Przeczytał: 0 tematów
Ostrzeżeń: 0/3 Skąd: Zakrzewo
|
Temat postu: Baza Danych |
|
|
To ja może dorzuce baze danych którą ostatnio zrobiłem :)
Kod: | program baza_danych;
uses crt;
type
osoba = record
imie : string[15];
nazwisko : string[20];
plec : char;
zarobki : integer;
telefon : string;
end;
var
x, y, ile, i : integer;
znak : char;
dane : array[1..10] of osoba;
procedure wpis;
var
rekord : osoba;
begin
ClrScr;
with rekord do
begin
gotoxy(27, 6);
write('Podaj imie : ');
readln(Imie);
gotoxy(27, 7);
write('Podaj nazwisko : ');
readln(Nazwisko);
gotoxy(27, 8);
write('Podaj plec (K/M) : ');
repeat
plec := readkey;
until upcase(plec) in['M', 'K'];
writeln(plec);
gotoxy(27, 9);
write('Podaj zarobki : ');
readln(zarobki);
gotoxy(27, 10);
write('Podaj telefon : ');
readln(telefon);
end;
Inc(ile);
dane[ile] := rekord;
end;
procedure zobacz;
begin
if ile > 0 then
begin
x := 1;
repeat
clrscr;
gotoxy(10, 5);
writeln('<-: poprzedni wpis, ->: nastpny wpis Esc: koniec');
gotoxy(27, 7);
writeln('Wpis nr ', x);
gotoxy(27, 8);
writeln(dane[x].imie, ' ', dane[x].nazwisko, ' Plec ', dane[x].plec);
gotoxy(27, 9);
writeln('Zarabia ', dane[x].zarobki, ' nr tel ', dane[x].telefon);
writeln();
znak := readkey;
case znak of
#75 : x := x - 1;
#77 : x := x + 1;
end;
if x = 0 then x := ile;
if x = ile + 1 then x := 1;
until znak = #27;
end
else
begin
clrscr;
gotoxy(25, 8);
writeln('Nie ma jeszcze zadnych wpisow');
readln;
end;
end;
procedure usun;
var
plik : file of osoba;
begin
if ile > 0 then
begin
x := 1;
repeat
clrscr;
gotoxy(7, 5);
writeln('<-: poprzedni wpis, ->: nastpny wpis, enter: usun wpis, Esc: koniec');
gotoxy(27, 7);
writeln('Wpis nr ', x);
gotoxy(27, 8);
writeln(dane[x].imie, ' ', dane[x].nazwisko, ' Plec ', dane[x].plec);
gotoxy(27, 9);
writeln('Zarabia ', dane[x].zarobki, ' nr tel ', dane[x].telefon);
writeln;
znak := readkey;
case znak of
#75 : x := x - 1;
#77 : x := x + 1;
end;
if x = 0 then x := ile;
if x = ile + 1 then x := 1;
until (znak = #27) or (znak =#13);
if znak =#13 then
begin
dane[x] := dane[x + 1];
ile := ile - 1;
clrscr;
gotoxy(25, 8);
writeln('Wpis nr ', x, ' zostal usuniety');
readln;
end;
end
else
begin
clrscr;
gotoxy(25, 8);
writeln('Nie ma jeszcze zadnych wpisow');
readln;
end;
end;
procedure zapisz;
var
plik : file of osoba;
begin
clrscr;
if ile > 0 then
begin
assign(plik, 'baza');
rewrite(plik);
for i := 1 to ile do
write(plik, dane[i]);
close(plik);
gotoxy(25, 8);
writeln('Twoje dane zostaly zapisane');
end
else
begin
gotoxy(15, 8);
writeln('Twoje dane nie zostaly zapisane poziewaz nie ma wpisow');
end;
readln;
end;
procedure wczytaj;
var
i, w : integer;
plik : file of osoba;
begin
clrscr;
assign(plik, 'baza');
reset(plik);
i := 1;
while not eof(plik) do
begin
read(plik, dane[i + ile]);
Inc(i);
end;
close(plik);
w := ile;
ile := i - 1 + w;
gotoxy(25, 8);
writeln('Twoje dane zostaly wczytane');
readln;
end;
procedure menu;
var
tab : array[1..6] of string = ('Nowy wpis', 'Zobacz wpis', 'Usun wpis', 'Zapisz dane', 'Wczytaj dane', 'Koniec');
begin
y := 1;
repeat
textcolor(black);
for x := 1 to 6 do
begin
gotoxy(33, 7 + x);
writeln(tab[x]);
end;
gotoxy(33, 7 + y);
textcolor(red);
writeln(tab[y]);
znak := readkey;
case znak of
#72 : y := y - 1;
#80 : y := y + 1;
end;
if y = 0 then y := 6;
if y = 7 then y := 1;
until znak = #13;
end;
begin
repeat
clrscr;
menu;
textcolor(black);
case y of
1 : wpis;
2 : zobacz;
3 : usun;
4 : zapisz;
5 : wczytaj;
end;
until y = 6;
end. |
Post został pochwalony 0 razy
Ostatnio zmieniony przez blood777 dnia Sob 14:00, 04 Mar 2006, w całości zmieniany 1 raz
|
|