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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2009, 22:38   #1
Максим8111
 
Регистрация: 23.03.2009
Сообщений: 4
По умолчанию Комбинированные типы данных в Паскале

Задача:
Описать массив записей и поместить в него сведения о нескольких книгах.Предусмотреть возможность выдачи наименования книги по фамилии автора.

вот исходный код:
program lab17;
type
books=record
fio,name,familia:string[15];
year:integer
end;
var
tbl:array[1..5] of books;
i,m:integer;
begin{lab17}
writeln('vvedite kolithectvo books');
read(m);
for i:=1 to m do
begin
writeln('vvedite fio',i);
with tbl[i] do
readln(fio);
end;
for i:=1 to m do
begin
writeln('vvedite name',i);
with tbl[i] do
readln(name);
end;
for i:=1 to m do
begin
writeln('vvedite year',i);
with tbl[i] do
readln(year);
end;
writeln('vvedite familiy');
readln(tbl[i].familia);
if tbl[i].fio=tbl[i].familia
then
begin
writeln(tbl[i].name);
writeln(tbl[i].year)
end
else
writeln('net sovpadenui')

end.{lab17}

но при вводе значений fio возникает проблема.Посмотрите пожалуйста.
Максим8111 вне форума Ответить с цитированием
Старый 05.04.2009, 00:55   #2
Veselyn
Форумчанин
 
Аватар для Veselyn
 
Регистрация: 29.01.2009
Сообщений: 175
По умолчанию

Насколько я знаю то нужно так
Код:
program lab17;
type d1:string[15];
        d2:string[15];
          d3:string[15];
    books=record
fio:d1;
  name:d2;
      year:d3;
end;
var
a:array[1..5] of books;
   i, m, k:integer;
begin{lab17}
writeln('vvedite kolithectvo books');
 read(m);
for i:=1 to m do
begin
writeln('books ',i);
writeln('vvedite fio');
 readln(a[i].fio);
writeln('vvedite name');
 readln(a[i].name);
writeln('vvedite year');
 readln(a[i].year);
end;
writeln('vvedite familiu dla poiska');
readln(familia);
   k:=0;
for i:=1 to m do 
    if a[i].fio=familia then
begin
writeln(a[i].name);
writeln(a[i].year);
writeln(a[i].fio);
inc(k);
end;
if k=0 then
writeln ('vsego naydennux books =',i);
writeln('net sovpadeny');
readln;
end.{lab17}
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.

Последний раз редактировалось Veselyn; 05.04.2009 в 23:16. Причина: поправил и дополнил
Veselyn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комбинированные типы данных в Паскале Максим8111 Помощь студентам 5 30.03.2009 21:44
[Pascal] Комбинированные типы Рамик Помощь студентам 4 09.03.2009 18:00
Pascal комбинированные типы Rus 47 Помощь студентам 7 22.02.2009 17:48
Комбинированные типы melikyan Помощь студентам 5 10.02.2009 21:41
Комбинированные типы данных и массивы mar4elo Общие вопросы Delphi 11 01.12.2008 10:41