四则运算器我根据需求分为了四个类:交互类,生成算式类,计算类,文件读写类
类图
交互类
class Interaction
{
private:
int language;
int n;
int answer;
int amount;
public:
void scan();/*获取用户的输入数据(语言选择、题目数量、输入的答案)*/
void print();/*输出用户的答题情况*/
}
生成算式类
class RandomGeneration
{
private:
int number;
char sign;
public:
void RandomNumber();/*生成随机数字*/
void RandomOperation();/*生成随机字符*/
void generateExpression();/*生成随机算式*/
}
计算类
class Caculate
{
private:
int answer;
public:
void calculateResult;/*用于计算结果*/
void judge();/*判断输入答案是否正确并统计用户的答题情况*/
}
文件读写类
class Filestream
{
public:
Filestream(string infilepath, string outfilepath);
int readFile();
template <typename T> void writeFile(T t);
private:
string _InFilePath;
string _OutFilePath;
ifstream _ifs;
ofstream _ofs;
};
流程图
感受
虽然只是简单将问题分成几个类,但在这个过程中对面对过程与面对对象的理解更加深刻,同时,这次作业也为以后代码的重构打下了重要的基础。