Нельзя преобразовать тип char к string - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. //version 1.1
  2. program calculator;
  3. var a, rez: real;
  4. oper, calc: string;
  5. flag_start: boolean;
  6. begin
  7. flag_start:=false;
  8. calc:='N;';
  9. rez:=0;
  10. repeat
  11. if (flag_start = false) then
  12. begin
  13. writeln('Are you ready to use calculator? Y/N');
  14. readln(calc);
  15. if (calc <> 'Y') then break;
  16. writeln('Input first number and press Enter');
  17. readln(a);
  18. rez:=a;
  19. writeln('Choose operator: + - * / mod div and press Enter');
  20. readln(oper);
  21. writeln('Input second number and press Enter');
  22. readln(a);
  23. case oper of
  24. '+': rez := rez + a;
  25. '-': rez := rez - a;
  26. '*': rez := rez * a;
  27. '/': rez := rez / a;
  28. 'mod': rez := int(round(rez) mod round(a));
  29. 'div': rez := int(round(rez) div round(a));
  30. else writeln('You chose wrong operator');
  31. end;
  32. flag_start := true;
  33. end
  34. else
  35. begin
  36. writeln('Choose operator: + - * / mod div and press Enter');
  37. readln(oper);
  38. writeln('Input number and press Enter');
  39. readln(a);
  40. case oper of
  41. '+': rez := rez + a;
  42. '-': rez := rez - a;
  43. '*': rez := rez * a;
  44. '/': rez := rez / a;
  45. 'mod': rez := int(round(rez) mod round(a));
  46. 'div': rez := int(round(rez) div round(a));
  47. else writeln('You chose wrong operator');
  48. end;
  49. end;
  50. writeln('Will you continue to use a calculator? Y/N');
  51. readln(calc);
  52. until (calc = 'N');
  53. writeln('Result is ', rez:8:2);
  54. readln;
  55. end.

Решение задачи: «Нельзя преобразовать тип char к string»

textual
Листинг программы
  1. case oper of
  2. ''+'+': rez := rez + a;
  3. ''+'-': rez := rez - a;
  4. ''+'*': rez := rez * a;
  5. ''+'/': begin
  6.         if a=0 then
  7.          begin
  8.           writeln('Делить на 0 нельзя');
  9.           exit
  10.          end
  11.         else rez := rez / a;
  12.         end;
  13. end;

Объяснение кода листинга программы

Код выполняет операции сложения, вычитания и умножения строк. Если встретится операция деления, то проверяется делитель на ноль. При обнаружении делителя равного нулю выводится сообщение об ошибке и выполнение программы прекращается. Список операций и соответствующих им действий:

  1. ''+'+': rez := rez + a;
  2. ''+'-': rez := rez - a;
  3. ''+'': rez := rez a;
  4. ''+'/': begin if a=0 then begin writeln('Делить на 0 нельзя'); exit end else rez := rez / a; end;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы