Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 25.05.2011, 23:37   #1 (permalink)
diagen_62
Member
 
Регистрация: 19.03.2011
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation База данных в Паскале

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

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

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

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
но я не знаю как их там оформить...помогите
diagen_62 вне форума   Ответить с цитированием

Старый 25.05.2011, 23:37
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Тема которую вы создали очень схожа с другими темами нашего форума

База данных "Библиотека"
Почему отечественная элементная база?
База данных
Обработка данных типа запись в Паскале
База Данных, хочу научиться

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.