Нельзя преобразовать тип char к string - PascalABC.NET
Формулировка задачи:
Листинг программы
- //version 1.1
- program calculator;
- var a, rez: real;
- oper, calc: string;
- flag_start: boolean;
- begin
- flag_start:=false;
- calc:='N;';
- rez:=0;
- repeat
- if (flag_start = false) then
- begin
- writeln('Are you ready to use calculator? Y/N');
- readln(calc);
- if (calc <> 'Y') then break;
- writeln('Input first number and press Enter');
- readln(a);
- rez:=a;
- writeln('Choose operator: + - * / mod div and press Enter');
- readln(oper);
- writeln('Input second number and press Enter');
- readln(a);
- case oper of
- '+': rez := rez + a;
- '-': rez := rez - a;
- '*': rez := rez * a;
- '/': rez := rez / a;
- 'mod': rez := int(round(rez) mod round(a));
- 'div': rez := int(round(rez) div round(a));
- else writeln('You chose wrong operator');
- end;
- flag_start := true;
- end
- else
- begin
- writeln('Choose operator: + - * / mod div and press Enter');
- readln(oper);
- writeln('Input number and press Enter');
- readln(a);
- case oper of
- '+': rez := rez + a;
- '-': rez := rez - a;
- '*': rez := rez * a;
- '/': rez := rez / a;
- 'mod': rez := int(round(rez) mod round(a));
- 'div': rez := int(round(rez) div round(a));
- else writeln('You chose wrong operator');
- end;
- end;
- writeln('Will you continue to use a calculator? Y/N');
- readln(calc);
- until (calc = 'N');
- writeln('Result is ', rez:8:2);
- readln;
- end.
Решение задачи: «Нельзя преобразовать тип char к string»
textual
Листинг программы
- case oper of
- ''+'+': rez := rez + a;
- ''+'-': rez := rez - a;
- ''+'*': rez := rez * a;
- ''+'/': begin
- if a=0 then
- begin
- writeln('Делить на 0 нельзя');
- exit
- end
- else rez := rez / a;
- end;
- end;
Объяснение кода листинга программы
Код выполняет операции сложения, вычитания и умножения строк. Если встретится операция деления, то проверяется делитель на ноль. При обнаружении делителя равного нулю выводится сообщение об ошибке и выполнение программы прекращается. Список операций и соответствующих им действий:
- ''+'+': rez := rez + a;
- ''+'-': rez := rez - a;
- ''+'': rez := rez a;
- ''+'/': begin if a=0 then begin writeln('Делить на 0 нельзя'); exit end else rez := rez / a; end;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д