第一次任务:四则运算生成
参考文献及链接内容:
http://www.cnblogs.com/matrix-r/archive/2013/03/23/2977330.html
主要代码部分:https://github.com/satoshi-hoxi/software-first
一、 前期设计过程
主要的思维方法:采用了操作符优先级的判定来实现四则运算的方法。
主要功能函数的实现:算式的拆分方法、优先级判断、括号检测。
主要应注意的细节问题预测:
1 从控制台输入的是一个字符串,我需要将字符串拆解分析,根据字符串的信息来填充这三个容器。
2 括号不匹配的检测
3 计算过程中,对容器的更新。
4 如果这个输入算是是非法的,如何判定。
二、实践过程:
代码中主要的三个buffer和全部的成员函数:
private:
vector<float> fArray;
vector<char> cOprt;
vector<int> iPriority;
bool IsBracketLegal(char * Buf);
void PrioritySet(char * Buf);
int GetMaxPriority();
bool HaveHOprt(int MaxPri);
bool Display();
int GetTen(int n);
bool Analysis(char * Buf);
float Calculate();
public:
CCalculate(char * Buf = NULL);
float DoIt(char * BUf);
三、基本功能的实现展示: