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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2009, 21:50   #1
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию Ограничение повторов

Привет всем!!!Мне надо сделать чтоб у меня repeat повторялся только 5 раз!!Подскажите как сделать плиз!!!

PROGRAM LIBRARY;

USES CRT;
TYPE BOOK=RECORD AUTHOR:STRING;
NAME:STRING;
year:array[1..25] of integer;
EDITION:STRING;
PAGE1:ARRAY [1..26] OF INTEGER;

END;
VAR
BOOKNAME:STRING;
M:ARRAY[1..50] OF BOOK;
I,K,J,N,MAX,E:INTEGER;
CH:CHAR;
S:STRING;
BEGIN
WRITELN('VVEDITE KOLI4ESTVO KNIG');
READLN(N);
WRITELN('VVODITE AVROR,NAZVANIE,GOD IZDANIA,IZDATEL,STRAN');

FOR I:= 1 TO N DO with m[i] do begin
writeln('Bbedite aVtora');
READLN(M[I].AUTHOR);
WRITELN('VvEDITE NAZVANIE KNIGI');
READLN(M[I].NAME);

writeln('Vvedite god izdania v guapozone oT 1950 go 2009');
READLN(YEAR[I]);
if (YEAR[i] <1950)or (year[i]>2009) then
REPEAT
writeln('Vvedite god izdania v guapozone oT 1950 go 2009');
READLN(YEAR[I]);
UNTIL (YEAR[I]>1950)AND(YEAR[I]<2009);
WRITELN('vVEDITE IZDATEL9');
READLN(M[I].EDITION);
WRITELN('VVEDITE COLI4ESTVO STRANILg OT 300 gO 1000');
IF (PAGE1[I]<299)OR (PAGE1[I]>1001) THEN
REPEAT
WRITELN('VVEDITE COLI4ESTVO STRANILg OT 300 gO 1000');
READLN(PAGE1[I]);
UNTIL (PAGE1[I]>299)AND(PAGE1[I]<1001);

END;
BEGIN
WRITELN('FILL OUT THE NAME OF THE AUTHOR');
READLN(S[I]);
IF S[I]<>M[I].AUTHOR THEN REPEAT
WRITELN('TAKOGO AVTORA NET POPRObUITE EIIIgE RAZ');(вот тут нужен повтор !!!!!!!!!)
READLN(S[I]);
UNTIL S[I]= M[I].AUTHOR;
FOR I:=1 TO N-1 DO
WRITELN(M[I].AUTHOR:15,M[I].NAME:5,M[I].EDITION:7);
READLN;
END;



BOOKNAME:=M[I].NAME;
WRITELN('KNIGA S MAKSIMALNbIM KOLI4ESTVOM STRANIC');
WRITELN(BOOKNAME:3,MAX:3);


writeln;
writeln('AVTOR KNIGA GOD IZDATEL STRANICE ');
for i:= 1 to n do
with m[i] do
writeln(m[i].author:3,' ',m[i].name:3,' ',year[i]:3,' ',m[i].edition:3,' ');
readln;
END.

end.
END.
ТРОЯН=) вне форума Ответить с цитированием
Старый 05.03.2009, 21:55   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

В прогу не вникал...
Но зачем
Код:
repeat
если можно
Код:
for i:=1 to n do
?
В крайнем случае заведи пременку-счетчик.
Levsha100 вне форума Ответить с цитированием
Старый 05.03.2009, 21:56   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Попробуйте как-нибудь так:
Код:
IF S[i]<>M[i].AUTHOR THEN
begin
cnt := 0;
REPEAT
WRITELN('TAKOGO AVTORA NET POPRObUITE EIIIgE RAZ');(вот тут нужен повтор !!!!!!!!!)
READLN(S[i]);
inc(cnt);
UNTIL (S[i]= M[i].AUTHOR) or (cnt=5);
(не забыв объявить cnt : integer)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.03.2009, 23:32   #4
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

Спасибо работает!!А как программу закрыть после этого???вроде же break закрывает а у меня чёт не получается!!
ТРОЯН=) вне форума Ответить с цитированием
Старый 06.03.2009, 00:11   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

ТРОЯН=)
break - выход из текущего цикла
exit - выход из текущей функции (при вызове из главной программы завершает ее)
halt - завершение программы из любого места.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.03.2009, 09:11   #6
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

О.о спасибо!))
ТРОЯН=) вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничение по времени bunner Помощь студентам 4 05.02.2009 21:31
Ограничение ввода в Edit xxxsas Общие вопросы C/C++ 4 22.01.2009 12:36
Ограничение на ввод символов ANTI1 Общие вопросы Delphi 4 17.12.2008 16:30
Ограничение запусков программы?? John_chek Общие вопросы Delphi 14 24.11.2008 14:26
Нужна сумма повторов. Желательно формула jungo Microsoft Office Excel 13 04.05.2008 13:19