Страница 1 из 1

Процедуры, записи, файл - Pascal

Добавлено: 22 дек 2009, 08:57
boom-ka
Вобщем, нужно решить задачу с такими условиями:
Запрограммировать информационную систему со следующими параметрами:
I. Набор записей, объединенный логикой. Запись содержит минимум 3 поля. Поля должны быть различных типов. Обязательно использование строкового типа.
II. Способ хранения информации при обработке: типизированный файл.
III. Исходная информация хранится в текстовом файле, который студент создает самостоятельно любым способом.
IV. Выбор различных процедур в программе должен происходить в цикле оператором выбора варианта.
V. Диаграмму изображать в модуле CRT, построением окон различными цветами.

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

Вот код... Помогите, пожалуйста. В долгу не останусь :)
program proc;
uses crt, strings;
type mas=record
fam:string[25];
name:string[20];
vozr:integer;
end;
var a,i,j,n:integer;
massiv:array[1..10] of string;
f,f1:text;

procedure poisk;
begin
clrscr;
writeln('1 - poisk po 2 polyam');
assign(f,'g:\tp7\1.txt');
reset(f);
i:=1;
while not (eof(f)=true) do
begin
read(f,massiv);
writeln(massiv);
i:=i+1;
end;
readkey;
end;
procedure add;
begin
clrscr;
writeln('2 - add new line');
assign(f,'g:\tp7\1.txt');
append(f);
writeln('vvedite familiy');
readln(mas.fam);
writeln(f,mas.fam,' ');
writeln('vvedite imya');
readln(mas.name);
write(f,mas.name,' ');
writeln('vvedite vozrast');
readln(mas.vozr);
writeln(f,mas.vozr);
close(f);
readkey;

begin
clrscr;
writeln('vvedite nomer varianta:');
writeln('1 - poisk po 2 polyam');
writeln('2 - add new line');
writeln('3 - izmenenie odnogo iz polei na novoe zna4enie');
writeln('4 - ydalenie zapisi po kriteriy');
writeln('5 - vivod faila');
writeln('6 - postroenie diagrammi');
readln(a);
case a of
1: poisk;
2:add;
end;
writeln(a);
readkey;
end.