Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2012, 19:13   #1
Pascal_proger
Новичок
Джуниор
 
Регистрация: 01.11.2012
Сообщений: 1
По умолчанию Типизированный файл

Прошу помочь добавить в меню, редактирование, удаление и выход и исправить недостатки..
Код:
uses crt,GraphABC;
type date=record;
day:1..31;
month:1..12;
year:1900..2020;
end;
type student=record;
grup:string[10];
fam:string[20];
name:string[20];
data:date;
adres:string[13];
end;
var a:array[1..10] of string; f:file of student;
s:student;
gr:string;
k,i:integer;
//
procedure menu(x,y,n:integer; var k:integer);
var i:integer; c:char;
begin
k:=1;
repeat
for i:=1 to n do
begin
if i=k then setfontcolor(clred) else setfontcolor(clblack);
textout(x,y+50*i,a[i]);
end;
c:=readkey;
if c=#80 then k:=k+1; if k>n then k:=1;
if c=#72 then k:=k-1; if k<1 then k:=n;
until c=#13;
setfontcolor(clblack);
end;
//
Begin
a[1]:='Создание';
a[2]:='Добавление';
a[3]:='Чтение';
a[4]:='Удаление';
a[5]:='Редактирование';
a[6]:='Выход';
assign(f,'Тип.dat');
repeat
menu(5,20,6,k);
setfontcolor(clblack);
case k of
1:begin
clearwindow;
rewrite(f);
for i:=1 to 2 do
begin
writeln('Введите группу:'); readln(s.grup);
writeln('Введите Фамилию:'); readln(s.fam);
writeln('Введите имя:'); readln(s.name);
writeln('Введите день:'); readln(s.data.day);
writeln('Введите месяц:'); readln(s.data.month);
writeln('Введите год:'); readln(s.data.year);
writeln('Введите адрес:'); readln(s.adres);
write(f,s);
end;
close(f);
end;
2:begin
clearwindow;
reset(f);
seek(f,filesize(f));
writeln('Введите группу'); readln(s.grup);
writeln('Введите Фамилию'); readln(s.fam);
writeln('Введите имя'); readln(s.name);
writeln('Введите день'); readln(s.data.day);
writeln('Введите месяц'); readln(s.data.month);
writeln('Введите год'); readln(s.data.year);
writeln('Введите адрес:'); readln(s.adres);
write(f,s);
close(f);
end;
3:begin
clearwindow;
reset(f);
while not eof(f) do
read(f,s); if s.grup=gr then
write(s.grup);
write(s.fam);
write(s.name);
write(s.data.day);
write(s.data.month);
write(s.data.year);
write(s.adres);
close(f);
end;
end;
until readkey=#32;
end.

Последний раз редактировалось Stilet; 01.11.2012 в 23:30.
Pascal_proger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированный файл f1x Паскаль, Turbo Pascal, PascalABC.NET 0 31.05.2012 10:14
Типизированный файл Pyxy Помощь студентам 0 22.12.2011 23:38
типизированный файл s2dentishe Помощь студентам 2 08.04.2011 16:34
Типизированный файл с натуральными числами. Числа, встречающиеся 1 раз переписать в другой файл [Паскаль] mifomen Помощь студентам 7 16.12.2010 22:00