Паскаль. Задачи на комбинированный тип и файлы.

Ответить
Miru
Сообщения: 1
Зарегистрирован: 23 июн 2013, 09:33

Известна информация я о всех заказах на книги сделанных читателем за неделю (сведения о книге: шифр, автор, название книги; сведения о читателе: фамилия, номер читательского билета; дата заказа)
1.(Задача на комбинированный тип) Вывести на экран всю информацию о заказах на книги, сделанных заданным читателем, подсчитать количество таких заказов.
2.(Файл) Разработать две программы одна программа должна создавать файл и выводить на экран содержимое этого файла в табличном виде, а вторая программа должна формировать из созданного файла другой внешний файл( во второй файл записать всю информацию о заказах на книги, заданным читателем, подсчитать количество таких заказов).

Задачу на комбинированный тип я попыталась сделать, но не знаю как сделать чтобы информация выводилась именно заданным читателем.

program p1;
const N=2;
type date=record
day:1..31;
month:1..12;
end;

Book=record
author,num:string [20];
shifr:integer;
end;

reader=record
number:integer;
fam:string[15];
d : date;
end;

procedure pr1(var a:book);
begin
with a do
begin
write('Название книги: ');
readln(num);
write('Автор книги: ');
readln(Author);
write('Шифр книги: ');
readln(shifr);
end;
end;

procedure pr2(var a:book);
begin
with a do
begin
write(num,' ':20-length(num));
write(author,' ':15-length(author));
write(shifr:6);
end;
writeln;
end;

procedure pr3(var b:reader);
begin
with b do
begin
write('Фамилия: ');
readln(fam);
write('Номер читательского билета: ');
readln(number);
write('Дата заказа: ');
readln(d.day,d.month);end;end;

procedure pr4(var b:reader);
begin
with b do
begin
write(fam,' ':20-length(fam));
write(number:4);
write(d);
end;
end;

var mas1:array[1..n] of book;
var mas2:array[1..n] of reader;
//b:reader;
var i,k:integer;
begin
writeln('Введите информацию о книгах: ');
for i:=1 to n do pr1(mas1);
writeln('Список книг: ');
writeln(' № Название Автор Шифр');
for i:=1 to n do
begin
write(i:2,'.');
pr2(Mas1);
end;

begin
write('Введите информацию о читателе:');
pr3(mas2);
writeln('Информация о читателе');
writeln('Фамилия Номер чит бил Дата');

write(i:2,'.');
pr4(Mas2);
end;
end.

Помогите пожалуйста очень надо
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Создать еще массив, в каждой строке - номер читателя и номер книги, которую он заказал. При задании номера читателя - пройти по этому массиву, найти номера всех заказанных им книг, вывести.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить