Сведения о выдаче экземпляра журнала читателю состоят из названия журнала, номера и фамилии читателя - Turbo Pascal
Формулировка задачи:
17.Сведения о выдаче экземпляра журнала читателю состоят из названия журнала, номера и фамилии читателя. Дан набор, состоящий из 1000 таких сведений. Найти:
а) по заданному названию журнала выдававшиеся
номера и фамилии бравших их читателей;
б)для каждого номера заданного журнала
количество его выдач.
Прошу помогите!(((
Решение задачи: «Сведения о выдаче экземпляра журнала читателю состоят из названия журнала, номера и фамилии читателя»
textual
Листинг программы
var
f: Text;
nam, fio, s: String;
num, n, v: Integer;
begin
Assign(f,'d:\register.txt');
repeat
WriteLn('1 - выдачи по названию');
WriteLn('2 - количество выдач');
WriteLn('0 - выход');
ReadLn(v);
case v of
1:
begin
Write('Название: '); ReadLn(s);
Reset(f);
while not EoF(f) do begin
ReadLn(f,nam); ReadLn(f,num); ReadLn(f,fio);
if s=nam then WriteLn(num,#9,fio);
end;
end;
2:
begin
Write('Название: '); ReadLn(s);
Write('Номер: '); ReadLn(n);
Reset(f); k:=0;
while not EoF(f) do begin
ReadLn(f,nam); ReadLn(f,num); ReadLn(f,fio);
if (s=nam) and (n=num) then Inc(k);
end;
WriteLn('Выдач: 'k);
end;
end;
until v=0;
Close(f);
end.
Объяснение кода листинга программы
- Переменная
fустанавливается в файлd:\register.txt. - Выводится меню с тремя вариантами: выдача по названию, количество выдач, выход.
- Пользователь вводит номер действия.
- В зависимости от введенного номера выполняется одно из действий: — Если введено 1, то пользователь вводит название журнала, номер и фамилию читателя. Затем происходит чтение из файла и запись в него информации о выдаче экземпляра журнала читателю. — Если введено 2, то пользователь вводит название журнала, номер и фамилию читателя. Затем происходит чтение из файла и подсчет количества записей о выдаче экземпляра журнала читателю.
- Запись или подсчет продолжается до тех пор, пока не будет введено 0, что означает выход из программы.
- По окончании работы с файлом он закрывается.