用C-free编一个计算器

来源:百度知道 编辑:UC知道 时间:2024/07/04 11:43:33
1. 设计要求:
要有计算器的用户界面
实现整数的算术运算(加、减、乘、除)。
程序只接受界面上显示的字符输入。用户按下数字键时立即输入该数字,不需要用回车键输入,到用户按入运算符时表示前面输入的数字组成为一个运算数,随后再输入的数字为第二个运算数,用户按 = 键后输出运算结果。输入时要检查输入数据的合法性,滤除一切不合法的输入。
计算器中加入小数点,使计算器能计算浮点数。

#include <iostream>
#include <string>

using namespace std;
const int MAX = 100; //栈最大值
class Calculator
{
public:
Calculator()
{
m_numTop = 0;
m_symbolTop = 0;
signMark = 0;
}
void analyzeString(char* pValue); //字符串解析
void display(); //打印结果
~Calculator(){}
private:
int signMark; //保存外部符号
double m_numStack[MAX]; //数字栈
int m_symbolStack[MAX]; //符号栈
int m_numTop; //数字栈 栈顶
int m_symbolTop; //符号栈 栈顶
void numStack(double dValue); //数字压栈
double numPop(); //数字出栈
void symbolStack(int cValue); //符号压栈
int symbolPop(); //符号出栈
void calcFun(char cValue); //弹出符号进行计算

};
void Calculator::display()
{
cout<<m_numStack[0]<<endl;;
}
void Calculator::calcFun(char cValue)