operacje na rekordach zadania


Zad 1.

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
data=record
miesiac,dzien,rok : integer;
end;

var data1, data2 : data;

function rowne(d1,d2 : data) : boolean;
begin
rowne:=(d1.miesiac=d2.miesiac) and (d1.dzien=d2.dzien) and (d1.rok=d2.rok)
end;

begin
writeln('Program porowna dwie daty.');
with data1 do
begin
write('Podaj dzien pierwszej daty: '); readln(dzien);
write('Podaj miesiac pierwszej daty: '); readln(miesiac);
write('Podaj rok pierwszej daty: '); readln(rok);
end;
writeln;
with data2 do
begin
write('Podaj dzien drugiej daty: '); readln(dzien);
write('Podaj miesiac drugiej daty: '); readln(miesiac);
write('Podaj rok drugiej daty: '); readln(rok);
end;
writeln;
if rowne(data1,data2) then
writeln('Daty sa takie same :)')
else writeln('Daty sa rozne ;(');

readln;
end.

################################

Zad 2.

program Project2;
{$APPTYPE CONSOLE}

uses
SysUtils;

type
dane=record
imie, nazwisko, ulica : string;
rok : integer;
end;

var plik, plik2 : text;
uczen : array[1..40] of dane;
sciezka, sciezka2, zamieszkaly : string;
wybor, i, urodzony : integer;
tak : char;

procedure Odczytaj;
begin
i:=0;
write('Podaj sciezke do pliku: '); readln(sciezka);
assign(plik,sciezka);
reset(plik);
while not eof(plik) do
begin
while not eoln(plik) do
begin
readln(plik,uczen[i].imie);
readln(plik,uczen[i].nazwisko);
readln(plik,uczen[i].ulica);
readln(plik,uczen[i].rok);
readln(plik);
inc(i);
end;
readln(plik);
end;
close(plik);
writeln('W bazie jest ',i,' uczniow.');
end;


procedure Zapisz;
var j : integer;
begin
if i=0 then writeln('Nie ma zadnych danych w bazie. Najpierw odczytaj z pliku')
else
begin
write('Podaj sciezke pliku do zapisu: '); readln(sciezka2);

assign(plik2,sciezka2);
rewrite(plik2);
for j:=0 to i-1 do
begin
writeln(plik2,uczen[j].imie);
writeln(plik2,uczen[j].nazwisko);
writeln(plik2,uczen[j].ulica);
writeln(plik2,uczen[j].rok);
writeln(plik2);
end;
close(plik2);
writeln('Zapisano do pliku!');
writeln;
end;
end;


procedure Czytaj;
begin
if i=0 then
begin
Odczytaj();
end;
writeln('Podaj dane nowego ucznia:');
write('Imie: '); readln(uczen[i].imie);
write('Nazwisko: '); readln(uczen[i].nazwisko);
write('Ulica: '); readln(uczen[i].ulica);
write('Rok urodzenia: '); readln(uczen[i].rok);
inc(i);
writeln('Dodano!');
write('Czy zapisac do pliku? [T/N]: ');
readln(tak);
if tak='T' then Zapisz();
writeln;
end;


procedure Wszyscy;
var j : integer;
begin
if i=0 then writeln('Nie ma danych w bazie, najpierw pobierz dane z pliku.')
else
begin
for j:=0 to i-1 do
writeln(uczen[j].imie,' ',uczen[j].nazwisko,' ',uczen[j].ulica,' ',uczen[j].rok);
writeln;
end;
end;


procedure Wiek;
var j : integer;
begin
write('Podaj date urodzenia uczniow ktorych chcesz znalezc: ');
readln(urodzony);
for j:=0 to i-1 do
if uczen[j].rok>=urodzony then
writeln(uczen[j].imie,' ',uczen[j].nazwisko,' ',uczen[j].ulica,' ',uczen[j].rok);

end;


procedure Zamieszk;
var j : integer;
begin
write('Podaj ulice uczniow ktorych chcesz znalezc: ');
readln(zamieszkaly);
for j:=0 to i-1 do
if uczen[j].ulica=zamieszkaly then
writeln(uczen[j].imie,' ',uczen[j].nazwisko,' ',uczen[j].ulica,' ',uczen[j].rok);
end;



begin
writeln('Program tworzy bazę danych uczniow w klasie.');
writeln('1) Odczytaj informacje z pliku.');
writeln('2) Zapisz informacje do pliku.');
writeln('3) Dopisz informacje o uczniu.');
writeln('4) Wyswietl informacje o wszystkich uczniach.');
writeln('5) Znajdz uczniow urodzonych po danym roku.');
writeln('6) Znajdz uczniow zamieszkalych na danej ulicy.');
writeln('7) Koniec.');
write('Co wybierasz? '); readln(wybor);
while (wybor<>7) do
begin
case wybor of
1: Odczytaj;
2: Zapisz;
3: Czytaj;
4: Wszyscy;
5: Wiek;
6: Zamieszk;
7: writeln('Koniec');
else writeln('Nie ma takiej opcji!');
end;
writeln;
write('Co wybierasz? '); readln(wybor);
end;


readln;
end.


(// nie jestem pewien czy skończone)

Wyszukiwarka

Podobne podstrony:
operacje na rekordach
operacje na plikach tekstowych zadania
34 Pliki Operacje na plikach w Pascalu
operacje na plikach tekstowych
wycena operacji na rachunku
operacje na ramkach danych solucja
Operacje na histogramie
670 Przekwalifikowanie leasingu operacyjnego na finansowy
operacje na plikach
Kurs CorelDRAW 12 Część 4 Zaawansowane operacje na obiektach
Matlab operacje na macierzach, skrypty
Asembler Operacje na Plikach

więcej podobnych podstron