Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   База данных в Паскале (http://www.tehnari.ru/f43/t52239/)

diagen_62 25.05.2011 23:37

База данных в Паскале
 
составить программу выполняющую след.функцию
ввод данных из текстового файла и формирование типизированного файла записей(базы данных)

Задание: сформировать таблицу данных о студентах группы:фамилия с инициалами, группа, день, месяц, год рождения, женат(замужем) или нет и вывести фамилии студентов, родившихся в феврале.

вот я сделал ее:

program laba9;
const
w1=3; w2=20; w3=6; w4=10; w5=11;
lin1='____________________________________________ _____________';
lin2='| N | ФИО | группа |Дата рожд| Сем.полож|';
lin3='|______|___________________|_________|______ ___|__________|' ;
lin4='|___________________________________________ _____________|';
type
tdate=record
day:1..31;
month:1..12;
year:1900..2100;
end;
Tstudent=record
name:string;
group:10..10000;
birthday: tdate;
married:0..1;
end;
var
Fdat,Fres:text;
Fstd:file of Tstudent;
stud:Tstudent;
i,n:0..30;
begin
assign(Fdat,'laba9.txt');reset(Fdat);
assign(Fstd, 'Laba9.zap');rewrite(Fstd);
readln(Fdat,n);
for:=1 to n do begin
with stud, birthday do begin
readln(Fdat,Name);
readln(Fdat,group,day,month,year,married);
end; {with stud, birthday}
write(Fstd,stud);
end. {for i}
close(Fdat);
with stud, birthday do begin
name:='zotov f.b'; group:=500; day:=10;
month:=12; year:=1992; married:=0;
end;
write(Fstd,stud);
reset(Fstd);
seek(Fstd);
read(Fstd,stud);
stud.group:=990;
seek(Fstd,1);
write(Fstd,stud);
seek(Fstd,0);
n:=filesize(Fstd);
assign(Fres,'Laba9Res.txt');
rewrite(Fres);
writeln(Fres,'dannie o',n,'stydentah:');writeln(Fres);
writeln(Fres,lin1); writeln(Fres,lin2);
for i:=1 to n do begin
read(Fres,stud);
writeln(Fres,lin3);
write(Fres,'|',i:w1,'|');
with stud, birthday do begin
write(Fres,name,'':w2-length(name),'|');
write(Fres,group :w3,'|');
write(Fres,``,day:2,'.',month:2,'.',year:2,'|');
if married 1 then sMar:='семейн.'else smar:='*не семейн.';
writeln(Fres,sMar,'':w5-length(sMar),'|');
end;{with stud, birthday}
end{for i};
seek(fstd,0);
writeln(Fres,lin4);
writeln(Fres,'Studenti rodivshiesia v fevrale:');
while not E of(Fstd) do begin
read(Fstd,stud);
with stud, birthday do begin
if month=2
then writeln(Fres,Name,',data rozhd.',day,'.',month,'.', year mod 100);
end;{with stud, birthday}
end;{while not E of (Fstd)}
close(Fres); close(Fstd);
end.


вот программа...но исходные данные нужно подготовить и в файле Laba9Dat.txt
но я не знаю как их там оформить...помогите


Часовой пояс GMT +4, время: 06:30.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.