Чем можно поменять оператор goto в турбо паскале. Существует программа необходимо,
Чем можно заменить оператор goto в турбо паскале. Существует программа необходимо, чтоб при нажатии определенной буковкы выполнялась определенный цикл, как это сделать не используя оператор бесспорного перехода goto.
Приведите пример на следующем коде:
Program ABC;
Uses CRT;
var
a, b, x, y, w, z: Real;
C, D, E, Q: integer;
begin
begin Q
writeln ('la-la-la');
writeln ('Если желаете вычислить сумму, то нажмите С, произведение- D, операцию дробленья -E ');
readln;
ClrScr;
end;
begin c
readln(a, b);
writeln (a+b);
readln;
ClrScr;
end;
begin D
readln(x, y);
writeln (x*y);
readln;
ClrScr;
end;
begin E
readln(w, z);
writeln (w/z);
readln;
ClrScr;
end;
end.
Если пользователь давит буковку Q нужно возвращать его к операции:
" begin Q
writeln ('la-la-la');
writeln ('Если хотите вычислить сумму, то нажмите С, творенье- D, операцию дробленья -E ');
end;"
В случае, если юзер вводит любую иную букву необходимо сказать, что 'Error, please enter C, E or D' и после того, как он введет подходящую букву вывести подходящую операцию
Uses CRT;
var
a,b:real;
c:char;
begin
ClrScr;
repeat
Writeln('la-la-la');
Write('Если желайте вычислить сумму, то нажмите С,');
Writeln(' произведение- D, операцию разделенья -E ');
Writeln('Для окончания работы нажмите Q');
c:=ReadKey;
case c of
'C','c':begin
Write('Сложение: введите слагаемые: '); Read(a,b);
Writeln('Сумма равна ',a+b);
Write('Для продолжения нажмите всякую кнопку');
ReadKey;
ClrScr
end;
'D','d':begin
Write('Умножение: введите сомножители: '); Read(a,b);
Writeln('Творение равно ',a*b);
Write('Для продолжения нажмите всякую кнопку');
ReadKey;
ClrScr
end;
'E','e':begin
Write('Разделенье: введите делимое и делитель: '); Read(a,b);
Writeln('Приватное равно ',a/b);
Write('Для продолжения нажмите любую клавишу');
ReadKey;
ClrScr
end;
'Q','q':;
else begin
Writeln(1310,'Error, please enter C, E or D',1310);
end
end;
until c in ['Q','q'];
Writeln('Ждем Вас опять!');
Readkey
end.
Program ABC;
Uses CRT;
var
a, b, x, y, w, z: Real;
C, D, E, Q: integer;
action: char;
begin
action := 'x';
while not (action = 'Q') do
begin
writeln ('la-la-la');
writeln ('Если желайте вычислить сумму, то нажмите С, творенье- D, операцию деления -E ');
readln(action);
ClrScr;
if action = 'C' then
begin
readln(a, b);
writeln (a+b);
readln(action);
ClrScr;
end;
if action = 'D' then
begin
readln(x, y);
writeln (x*y);
readln(action);
ClrScr;
end;
if action = 'E' then
begin
readln(w, z);
writeln (w/z);
readln(action);
ClrScr;
end;
if not ( (action = 'C') or (action = 'D') or (action = 'E') or (action = 'Q') ) then
begin
writeln('Ошибка, введите C, D, E или Q');
readln(action);
ClrScr;
end;
end;
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.