baidu_22539649
baidu_22539649
2015-06-21 08:40

求各位大神来看一道简单的C++题,

  • c++
  • 操作
  • char
  • int

这里是题目,后面附上我码的程序
设计一个简单计算器。用户输入四则运算表达式,程序输出正确结果。当表达式中数据格式或运算符输入错误,程序给出错误信息。要求:

(1)表达式的左、右操作数可以为整数或实数。

(2)运算符限制为+,-,*,/

(3)输入表达式允许有前导空格,允许在运算符前后嵌入空格。

检测表达式由以下函数完成:

void check(char *input, int &a, double &y, int &op, char * &err);

其中参数意义如下:
input 输入表达式的字符串。

x 返回表达式的左操作数转换结果数值。此题为简单起见,把数据统一转换成double类型。

y 返回表达式的右操作数转换结果数值。

op 返回对运算式的判断结果。若输入表达式左、右操作数和运算符都正确,则返回值为1、2、3、4,分别表示做+、-、*、/运算。若返回-1,表示左操作数错;若返回-2,表示右操作数错;若返回-3,表示操作符错。

err 返回显示错误信息的字符串。

例如,

 用户输入:

 1.2*3

 程序输出为:

 =3.6

 用户输入:

 56#45

 程序输出为:

     运算符错误,请重新输入!
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答