第四次课程作业
2017-05-16 11:49
218 查看
题目要求
OOA(Object Oriented Analysis,面向对象分析): 从客观存在的事务和事务之间的关系,归纳出有关对象(包括对象的属性和行为)以及对象之间的联系,并将具有相同属性和行为的对象用一个类(class)来表示。建立一个能够反映真实情况的需求模型。OOD(Object Oriented Design,面向对象设计):将面向对象分析阶段形成的需求模型进一步具体设计。如类的设计(继承、派生、类与类之间的消息协作)、算法的设计等。采取通用的工具,如流程图、类图等来描述。
Q1:采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?
A:大致可分为四个类。1.文件读写类,将各种界面进行读取,输入输出流文件。
class file { private: int n;//题数 char input[100]; char output[100]; public: void readfile1();//读取文件 void readfile2(char *p, int n, int right);//运行 void writefile1(char *s,double right, double answer);//内容写入 };
2.用户交互类,用于不同用户的语言需求,根据用户需求生成语言,题目数和生成答案。
class ex { private: int num; int answer; int random; public: void scanf();//选择语言,获取数据 void answer();//输出正确答案 void statistics();//统计题数 }
3.随机生成类,用于随机生成加减乘除,数字以及符号。
class random { private: int number; char operation; public: int randomnum();//随机数 char randomoperation();//随机运算符 char randomexpress();//随机算式 };
4.计算类,用于计算结果
class cal { private: int answer; char express; public: int cal();//计算结果 void judge();//统计答题情况 }
类图如下: