采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?
我认为四则运算器分为了四个类:
1.生成算式类,它用来随机生成数字与四则运算符号,从而随机生成算式
class ramdom
{
private:
int number[4];
int ari[3];
public:
int randomNumber();//生成随机数字
char randomArithmetic();//生成随机符号
void randomEquation();//生成随机算式
}
2.人机交互类,它用来实现人与程序之间的交流,比如选择语言,选择题目数量,输入答案,输出正确答案
class interactive
{
private:
int language;
int sum;
int correct;
int wrong;
public:
int alterLaguage();//选择语言程序
int selectSum();//选择练习题数
void count();//统计正误数量
}
3.计算类,它用来计算给出的随机算式的答案
class calculate
{
private:
int answer;
public:
void calcuateResult();//用于计算算式并给出答案
void judge();//用于判断答案正误并将其计数
}
4.文件读写类,它用来进行文件的读写
class File
{
public:
void language(); //调用语言文件
void writeFile(); //将信息存入指定文件
}
类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用?
该自动出题软件采取何种算法或者是如何实现的?可以采用流程图描述的方法。