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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2014, 20:56   #1
agabandis
Новичок
Джуниор
 
Регистрация: 27.11.2014
Сообщений: 2
Счастье Списки

Задача:1. Дан список, содержащий не менее 10 записей, каждая из которых имеет
структуру:
Ф.И.О. авторов---Название------Год--------Шифр
тип строка------тип строка----издания----строка
20 символов ---20 символов----целое---8 символов
2. Разработать программу, выполняющую следующие функции:
- ввод данного списка в массив записей;
- вывод массива записей на экран;
- поиск книг, названия которых начинаются с буквы " П" и
изданных до 1990 года с выводом найденных записей на экран.
Буду искренне благодарен
agabandis вне форума Ответить с цитированием
Старый 27.11.2014, 21:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Буду искренне благодарен
Файл списка в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.11.2014, 04:20   #3
agabandis
Новичок
Джуниор
 
Регистрация: 27.11.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Файл списка в студию.
Там нету файлов ни каких, я знаю что должно что то подобное получиться
Код:
uses crt;
const n=11;
type    books=record
    shifr:string[5];
    fio:string[20];
    bname:string[15];
    year:integer;
    end;
    book=array[1..n]of books;
var bk:book;
    i,k:integer;
    c:byte;
 
procedure vvod;
begin
writeln('Введите количество записей');
repeat
readln(k);
until k<=n;
for i:=1 to k do
begin
    writeln('Книга ',i);
    write('Введите шифр книги: '); readln(bk[i].shifr);
    write('Введите ФИО автора: '); readln(bk[i].fio);
    write('Введите название книги: '); readln(bk[i].bname);
    write('Введите год издания: '); readln(bk[i].year);
end;
end;
 
procedure print;
begin
clrscr;
writeln('Шифр ':5, 'ФИО автора ':15,' Название ':15,' Год издания ':16);
for i:=1 to k do
with bk[i] do
writeln(shifr:5,fio:15,bname:14,year:11);
end;
 
procedure search;
var s:string; y:integer;
begin
write('Введите шифр для поиска: '); readln(s);
write('Введите год издания: '); readln(y);
clrscr;
writeln('Результаты:');
for i:=1 to k do
if (bk[i].shifr=s)and(bk[i].year<y) then
writeln(bk[i].shifr:5,' ',bk[i].fio:15,' ',bk[i].bname:15,' ',bk[i].year:11);
writeln('-------------------------------------');
end;
 
begin
repeat
writeln('1 - Внести данные');
writeln('2 - Вывод записей');
writeln('3 - Поиск');
writeln('Другое - Выход');
readln(c);
case c of
    1:vvod;
    2:print;
    3:search;
    else exit;
end;
until not(c in [1..3]);
end.

Последний раз редактировалось Stilet; 28.11.2014 в 07:45.
agabandis вне форума Ответить с цитированием
Старый 28.11.2014, 07:47   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

О! Молодец!. Решение решил
Если сам - хвалю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
списки с++ Cinnamon Помощь студентам 0 10.01.2012 20:21
списки(с++) besbyblik Помощь студентам 0 28.12.2011 04:06
списки(с++) besbyblik Помощь студентам 0 27.12.2011 18:30
списки sergeykl Паскаль, Turbo Pascal, PascalABC.NET 8 04.08.2009 23:05