mam takie zadanie: dany jest plik elementowy (nazwisko, miejscowosc, wiek, stan cywilny). Program ma wypisac osoby dla danych z pliku: wiek powyzej sredniej (zad.1)-tu mam kawalek ale chyba nie dziala poprawnie.., mieszkajace w w-wie (zad.2), stanu wolnego (zad.3), o nazwiskach zaczynajacych sie na k, l lub n (zad.4). Mam juz tyle:
program nazwiska;
uses crt;
type s_c=(wolny,kawaler,zonaty,mezatka,wdowiec,wdowa,panna);
type osoba=record
nazw:string[20];
wiek:integer;
miejsc:string[20];
stan_cywilny:s_c;
end;
type lista_os=file of osoba;
var f:lista_os;
os:osoba;
sr_w:real;
wybor,ile_os:integer;
nazwa:string[10];
begin
TextBackGround(Brown);
clrscr;
TextColor(White);
repeat
clrscr;
writeln('Wybierz: ');
writeln('1-Zaloz plik');
writeln('2-Dodaj element ');
writeln('3-zad 1');
writeln('4-zad 2');
writeln('5-zad 3');
writeln('6-zad 4');
writeln('7-Wypisz dane');
writeln('8-koniec pracy');
readln(wybor);
case wybor of
1: begin
clrscr;
write('Podaj nazwe pliku: ');
readln(nazwa);
Assign(f,nazwa);
rewrite(f);
write(f,os);
close(f);
end;
2: begin
clrscr;
write('Podaj nazwe pliku: ');
readln(nazwa);
assign(f,nazwa);
Reset(f);
while not eof (f) do read (f,os);
write('Podaj nazwisko: ');
readln(os.nazw);
write('Podaj miejscowosc: ');
readln(os.miejsc);
write('Podaj wiek: ');
readln(os.wiek);
writeln('Podaj stan cywilny: ');
write('1-wolny, 2- kawaler, 3-panna, 4- zonaty, 5-mezatka, 6-wdowiec, 7-wdowa ');
readln(wybor);
case wybor of
1:os.stan_cywilny:=wolny;
2:os.stan_cywilny:=kawaler;
3:os.stan_cywilny:=panna;
4:os.stan_cywilny:=zonaty;
5:os.stan_cywilny:=mezatka;
6:os.stan_cywilny:=wdowiec;
7:os.stan_cywilny:=wdowa;
end;
write(f,os);
close(f);
end;
3:begin
clrscr;
writeln('Zadanie 1');
ile_os:=0;
sr_w:=0;
write('Podaj nazwe pliku: ');
readln(nazwa);
assign(f,nazwa);
Reset(f);
while not eof(f) do
begin
read(f,os);
sr_w:=sr_w+ os.wiek;
ile_os:=ile_os+1;
end;
sr_w:=sr_w/ile_os;
Reset(f);
while not eof (f) do
begin
read(f,os);
if os.wiek > sr_w then
begin
writeln
end;
end;
end;
4:writeln('Zadanie 2');
5:writeln('Zadanie 3');
6:writeln('Zadanie 4');
7:begin
clrscr;
writeln('');
write('Podaj nazwe pliku: ');
readln(nazwa);
assign(f,nazwa);
Reset(f);
while not eof (f) do
begin
write(f,os);
end;
close(f);
end;
8:writeln('Koniec');
end;
until (wybor=8);
end.
nie moge zrobic tych zadan. jak ktos potrafi to moze mi pomoze :D