• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

База данных в Паскале

diagen_62

Новые
Регистрация
19 Мар 2011
Сообщения
30
Реакции
0
Баллы
0
База данных в Паскале

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

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

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

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