Top.Mail.Ru
Ответы

Подскажите как добавить сюда защиту от дурака. Pascal.

Есть код легенького теста на паскале, нужно добавить защиту от дурака, чтобы если человек вводит числа/буквы которые не подходят, ему писало, что вы ввели наверное число, используйте только английские A,B,C,D.
Можно использовать repeat, while, goto и т.п. Я туплю, не могу сделать нормально.

12345678910
 writeLn('1. К автоматизированным обучающим системам относятся: '); 
writeLn('A. автоматизированные архивы'); 
writeLn('B. информационно-расчетные системы'); 
writeLn('C. системы автоматизации проектирования'); 
writeLn('D. тренажеры и тренажерные комплексы'); 
Write('Ваш ответ: '); 
ReadLn(answer); 
if (answer = 'D') or (answer = 'd') then begin 
  right := right +1; 
end; 
Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
12345678910111213141516171819202122232425262728293031323334
 program Test; 
 
var 
  answer: Char; 
  right: Integer; 
 
begin 
  right := 0; 
 
  writeln('1. К автоматизированным обучающим системам относятся: '); 
  writeln('A. автоматизированные архивы'); 
  writeln('B. информационно-расчетные системы'); 
  writeln('C. системы автоматизации проектирования'); 
  writeln('D. тренажеры и тренажерные комплексы'); 
 
  repeat 
    Write('Ваш ответ: '); 
    ReadLn(answer); 
 
    // Проверка на правильность ввода 
    case UpCase(answer) of 
      'A', 'B', 'C', 'D': 
        begin 
          if UpCase(answer) = 'D' then 
            right := right + 1; 
        end; 
      else 
        writeln('Вы ввели неверный ответ. Пожалуйста, используйте только A, B, C, D.'); 
    end; 
  until (UpCase(answer) = 'A') or (UpCase(answer) = 'B') or (UpCase(answer) = 'C') or (UpCase(answer) = 'D'); 
 
  writeln('Правильных ответов: ', right); 
end. 
 
Аватар пользователя
Мудрец