zoukankan      html  css  js  c++  java
  • 课程作业四

    Git链接

    题目描述:

    OOA(Object Oriented Analysis,面向对象分析): 从客观存在的事务和事务之间的关系,归纳出有关对象(包括对象的属性和行为)以及对象之间的联系,并将具有相同属性和行为的对象用一个类(class)来表示。建立一个能够反映真实情况的需求模型。

    OOD(Object Oriented Design,面向对象设计):将面向对象分析阶段形成的需求模型进一步具体设计。如类的设计(继承、派生、类与类之间的消息协作)、算法的设计等。采取通用的工具,如流程图、类图等来描述。

    前几次的编码作业,相信大家心里都有无数的...呼啸而过。那么第四次的作业就“相对轻松一点吧”。请大家思考如下几个问题:

    采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?
    类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用?
    该自动出题软件采取何种算法或者是如何实现的?可以采用流程图描述的方法。

    一.类的划分

    根据题目描述,我想把四则运算程序分为四个类:

    1、文件读写类

    class Filereadwrite
    {
    private:
    	char inpath[10];
    	char outpath[10];
    public:
    	void readfile();/*读文件*/
    	void writefile();/*写文件*/
    }
    

    2.用户交互类

    属性是对象的静态特征,行为则是对象的动态特征。此类具有语言、题目数量、题目答案等属性,它主要用于语言选择、输入结果、结果统计等。

    class Mutual
    {
    private:
    	int problemNum;
    	int answer;
    	int rawNum;
    public:
    	void scan();/*获取用户的输入数据(语言选择、题目数量)*/
    	void print();/*将用户的答题情况输出*/
    }
    

    3、随机生成类

    此类具有随机字符、随机数字等属性,它主要用于生成随机算式。

    class RandomGeneration
    {
    private:
    	int number;
    	char operation;
    public:
    	void RandomNumber();/*随机数字生成*/
    	void RandomOperation();/*随机字符生成*/
    	void RandomExpretion();/*随机算式生成*/
    }
    

    4、计算结果类

    此类主要用于计算算式,生成答案

    class Caculate
    {
    private:
    	int answer;
    public:
    	int caculate();/*用于计算结果*/
    	int swift();/*用于判断运算符*/
    	void judge();/*统计用户的答题情况*/
    }
    

    二.类图

    三.类的协作

    四.实现流程

  • 相关阅读:
    Python冒泡算法和修改配置文件
    第五章:处理数据
    第四章:持久存储
    Python之打印99乘法表
    Python之编写登录接口
    Python之文件操作
    第三章:文件与异常
    FineUI 修改config表属性
    FineUI Grid中WindowField根据列数据决定是否Enalble
    表之间不同字段的数据复制
  • 原文地址:https://www.cnblogs.com/52wu244/p/6858007.html
Copyright © 2011-2022 走看看