База данных в Паскале
составить программу выполняющую след.функцию
ввод данных из текстового файла и формирование типизированного файла записей(базы данных) Задание: сформировать таблицу данных о студентах группы:фамилия с инициалами, группа, день, месяц, год рождения, женат(замужем) или нет и вывести фамилии студентов, родившихся в феврале. вот я сделал ее: 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.