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

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

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

    题目描述:

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

    一、类的划分

    我将四则运算分成了五个类,分别是:用户交互类、随机算式类、计算类、判断类和文件读写类。每个类的属性和行为如下:

    用户交互类
    主要负责语言选择,统计正误题数,以及与用户进行信息交互等功能。

    class Interaction
    {
    private:
    	int language;   //语言选择
    	int sum;        //总题数
    	int right;      //正确题数
    	int wrong;      //错误题数
    public:
    	int setlanguage();   //用户进行语言选择
    	int setsum();        //用户输入需要题数
    	void Statistics();    //统计正误题数
    }
    

    随机算式类
    用于生成随机式子。

    class Random
    {
    private:
    	int num[4];
    	int operation[3];
    public:
    	int RandomNumber();
    	char Randomoperation();
    	void Randomexpression();  //生成随机式子
    }
    

    计算类
    计算生成的随机式子的答案。

    class Calculate
    {
    private:
    	float result;             //生成式子的答案
    public:
    	float calculateresult();   //计算答案
    }
    

    判断类
    进行各项判断,决定程序下一步的运行。

    class Judge
    {
    private:
    	bool ToF;    //记录判断结果
    public:
    	bool Judgelanguage();   //判断语言选择是否正确
    	bool Judgeresult();     //判断生成式子是否符合要求
    	bool Judgeend();		 //判断用户是否需要程序停止运行
    	bool Judgeanswer();     //判断用户回答是否正确
    }
    

    文件读写类
    进行文件的读写。

    class File
    {
    public:
    	void Language();		//调用语言文件
    	void Write-File();		//将信息存入指定文件
    }
    

    二、类的协作

    三、流程图

    四、

    介于对面向对象这一概念的生疏,我在这次的设计中还是偏向从过程出发了,这使我分出来的类中存在着功能的交叉,运行过程也较为繁琐。对面向对象这一概念,还需要多加学习。

  • 相关阅读:
    关于cookie的一点知识
    一点简单的关于ASP.NET下载
    一个小小小问题
    复习linq
    拾遗一些关于存储过程
    一般处理程序(下)
    复习一下递归
    复习JS和jQuery
    一点关于Ajax和一个等待图标的显示
    C#开发BIMFACE系列14 服务端API之批量获取转换状态详情
  • 原文地址:https://www.cnblogs.com/z031602148/p/6859113.html
Copyright © 2011-2022 走看看