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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2011, 19:39   #1
proser93
Пользователь
 
Регистрация: 22.10.2011
Сообщений: 12
Смущение Цикл для входа/выхода из программы (Паскаль)

Здравствуйте, подскажите, пожалуйста, как осуществить, не используя меток, такую вещь: в начале программы выводится сообщение "Для продолжения нажмите y, для выхода n", если "n", то выход из программы, если "y", то выполнение программы, а после выполнения опять предоставляется выбор "y" или "n".
При этом другие входные данные должны отсеиваться, как и многократное введение "y" за один раз.
Я думаю воспользоваться модулем Crt, в нем есть функция ReadKey, но все равно возникают проблемы. Помогите, пожалуйста!
Заранее спасибо.
proser93 вне форума Ответить с цитированием
Старый 26.10.2011, 20:16   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Вариант 1
Код:
program Project1;
var
  x: string;
begin
  writeln('Для продолжения нажмите y, для выхода n'); readln(x);
  if x='n' then exit;
  writeln('Для продолжения нажмите y, для выхода n'); readln(x);
  if x='n' then exit;
  .....
  writeln('Для продолжения нажмите y, для выхода n'); readln(x);
  if x='n' then exit;
end.
Вариант 2
Код:
program Project1;
var
  x: string;
begin
  writeln('Для продолжения нажмите y, для выхода n'); readln(x);
  if x='y' then
  begin
    writeln('Для продолжения нажмите y, для выхода n'); readln(x);
     if x='y' then 
     begin
      .....
     end;
  end;
end.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 27.10.2011, 11:36   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Какой кошмар...
Чему Вы учите... ? хотя я подозреваю что тут есть элемент троллинга..
Вот так надо бы:
Код:
repeat
  writeln('Для продолжения нажмите y, для выхода n'); 
  readln(x);
  if x='n' then
    break;
  if x<>'y' then 
    continue;
  // весь остальной код
until false
phomm вне форума Ответить с цитированием
Старый 27.10.2011, 14:32   #4
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
что тут есть элемент троллинга
спасибо, лучше учить троллингу, чем быдлокодингу:
Код:
until false
1. человек хочет набор различных условий, а не циклический ввод (заполнение) элементов массива
2. человек просит без меток.
3. Ваш код пишется вот так:

Код:
repeat
  writeln('Для продолжения нажмите y, для выхода n'); 
  readln(x);
until x='n';
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 27.10.2011, 16:05   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

JUDAS, я бы тоже исходную задачу прочитал именно как ЦИКЛИЧЕСКИЙ запрос, выходить из программы или нет.
(Ваш последний вариант, имхо, именно то, что нужно автору темы.


А ещё, всё предложенные варианта решения потребуют нажатия ENTER после ввода "y" или "n"
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пароль для входа в программу Brook Общие вопросы Delphi 32 13.10.2011 19:32
Подключение интернет-планшета к компьютеру для выхода в интернет елена13091980 Помощь студентам 0 19.05.2011 13:46
Какое здесь условие для выхода из рекурсии??? Татьяна Brabus ) Помощь студентам 1 12.02.2010 09:38
Составить программы для массивов! На Паскаль Klaud Помощь студентам 5 16.04.2009 17:56
черный ящик, на три входа и на три выхода Shanson Помощь студентам 7 30.01.2008 09:45