课程作业四
1.采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?
(1)算式类
class F{
public:
void randomNumber();//用于随机生成数字
void randomOperation();//用于随机生成运算符
bool generateExpression();//用于生成运算式
private:
double random1,random2,random3,random4;//随机数字
int sign1,sign2,sign3;//随机运算符
}
(2)计算类
class M{
public:
double qcount(double,double,int);//用于二则运算
double calculateResult(double,double,double,double,int,int,int);//用于计算生成的运算式的结果
private:
double answer;
}
(2)交互类
class I{
public:
void scan();//该函数用于与用户交互,获取输入数据
void readFile(char *);//读取用户要求的题目数量
void judgeanswer(double,double);//用于判断用户答题是否正确
void writeFile(char *);//将最终结果写入文件,写入内容包括:用户输入的题目数,每个生成的表达式、正确答案、用户输入的答案,保存到命令行中第二个参数指定的路径。
void print();//将统计结果输出给用户
}