第一次任务:四则运算生成

参考文献及链接内容:

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);

 

三、基本功能的实现展示:

 

posted @ 2017-09-27 10:51  岚星人  阅读(118)  评论(0编辑  收藏  举报