Помощь - Поиск - Пользователи - Календарь
Полная версия: Строчный калькулятор
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
geraldine
Пожалуйста, помогите! Срочно надо сделать калькулятор (+,-,*,/), работающий с двумя вещественными числами, например 31.06+455.8 В анализе символов не должна использоваться процедура val
klem4
ну если срочно, то то вот так :DDD, а вообще поиском надо пользоваться :yes:

Код
{$n+}
uses crt;
var
  a,b:extended;
  ch:char;
  flag:boolean;

Begin
  repeat
  flag:=True;
  clrscr;
  write('Vvedite pervoe 4slo : ');
  readln(a);
  write('Vvedite vtoroe 4islo : ');
  readln(b);
  write('Vvedite deistvie < +, - , * , / > : ');
  ch:=readkey;
  case ch of
     '+': writeln(a:2:2,'+',b:2:2,'=',a+b:2:2);
     '-': writeln(a:2:2,'-',b:2:2,'=',a-b:2:2);
     '*': writeln(a:2:2,'*',b:2:2,'=',a*b:2:2);
     '/': if b<> 0 then writeln(a:2:2,'/',b:2:2,'=',a/b:2:2)
            else writeln('Div by zero')
     else writeln('Err');
  end;

  write('Exit ? <Y/N>');
  ch:=readkey;

  if ch='y' then flag:=false;

  until not(flag);
  end.
geraldine
Спасибо, конечно, но мне нужно, чтобы считалась именно строчка, т.е. вводится сразу выражение (2+34), а не числа и действие поодиночке. unsure.gif
volvo
В таком случае придется изобретать свою функцию (типа процедуры Val)... Кстати, вот тут: Интерпретатор выражений есть очень похожая на это функция stt_ ...
geraldine
Ну спасибо за помощь. Посмотрю. :yes:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.