Консультация № 190292
13.12.2016, 18:42
0.00 руб.
0 5 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:Создать файл, содержащий сведения о личной коллекции книголюба. Каждая запись содержит поля: шифр книги, автор, название, год издания, местоположение (номер стеллажа, номер полки в шкафу). На экран и в отдельный файл вывести: местонахождение книги автора Х с названием Y; список книг автора Z, находящихся в коллекции; число книг издания ХХХХ года. Значения X, Y, Z вводится с клавиатуры.

Обсуждение

давно
Академик
320937
2216
15.12.2016, 15:43
общий
Адресаты:
Добрый день! На чем нужно писать? PascalABC, ....
давно
Посетитель
400749
2
15.12.2016, 19:40
общий
да,pascalABC
давно
Посетитель
400798
1
16.12.2016, 16:04
общий
Адресаты:
Добрый день! Пока в массив сделал.
[code lang=pascal]type Likebooks=record
s: string[10]; //Шифр книги
av: string[50]; //Автор
Name: string[50]; //Название книги
Data: string[10]; //Год издания
Ns: string[10]; //Номер стеллажа
Np: string[10]; //Номер полки
end;
var
a: array [1..5] of Likebooks;
i,n,s: integer;
z,x,y:string;
begin
write('Введите кол-во книг: ');
readln(n);
for i:=1 to n do
begin
writeln('Введите шифр книги: ');
readln(a[i].s);
writeln('Введите имя автора: ');
readln(a[i].av);
writeln('Введите название книги: ');
readln(a[i].Name);
writeln('Введите дату: ');
readln(a[i].Data);
writeln('Введите номер стелажа: ');
readln(a[i].Ns);
writeln('Введите номер полки: ');
readln(a[i].Np);
end;
write('Введите автора: ');
s:=0;
readln(Z);
write('Введите год издания: ');
readln(X);
write('Введите имя автора: ');
readln(Y);
for i:=1 to n do
begin
if x=a[i].Data then
s:=s+1;
if z=a[i].av then
//write(a[i].s, '; ');
write(a[i].av, '; ');
write(a[i].Name, '; ');
write(a[i].Data, '; ');
//write(a[i].Ns, '; ');
writeln();
end;
writeln('количество книг введенного года ', s,'.');
write('Список изданий: ');
for i:=1 to n do
begin
if y=a[i].av then
write(a[i].Name, ' ');
end;
end. [/code]
давно
Старший Модератор
31795
6196
17.12.2016, 04:53
общий
Адресаты:
, дайте ответ, файл потом в минифоруме доделаете.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
20.12.2016, 01:10
общий
это ответ
Здравствуйте, roma5310!

Ответ эксперта Voop:
[code lang=pascal h=200]type Likebooks=record
s: string[10]; //Шифр книги
av: string[50]; //Автор
Name: string[50]; //Название книги
Data: string[10]; //Год издания
Ns: string[10]; //Номер стеллажа
Np: string[10]; //Номер полки
end;
var
a: array [1..5] of Likebooks;
i,n,s: integer;
z,x,y:string;
begin
write('Введите кол-во книг: ');
readln(n);
for i:=1 to n do
begin
writeln('Введите шифр книги: ');
readln(a[i].s);
writeln('Введите имя автора: ');
readln(a[i].av);
writeln('Введите название книги: ');
readln(a[i].Name);
writeln('Введите дату: ');
readln(a[i].Data);
writeln('Введите номер стелажа: ');
readln(a[i].Ns);
writeln('Введите номер полки: ');
readln(a[i].Np);
end;
write('Введите автора: ');
s:=0;
readln(Z);
write('Введите год издания: ');
readln(X);
write('Введите имя автора: ');
readln(Y);
for i:=1 to n do
begin
if x=a[i].Data then
s:=s+1;
if z=a[i].av then
//write(a[i].s, '; ');
write(a[i].av, '; ');
write(a[i].Name, '; ');
write(a[i].Data, '; ');
//write(a[i].Ns, '; ');
writeln();
end;
writeln('количество книг введенного года ', s,'.');
write('Список изданий: ');
for i:=1 to n do
begin
if y=a[i].av then
write(a[i].Name, ' ');
end;
end.[/code]
Удачи!

ps:(эксперт молчит)
-доработать файлы можно и в минифоруме, или самостоятельно обратить внимание на типизированные файлы.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа