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

    四则运算器课程作业4

    题目要求:

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

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

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

    类的代码:

    #include<vector>
    #include<string>
    #include<fstream>
    using namespace std;
    
    void InitPriorities();
    
    class Mutual		//用户的交互类
    {
    public:
    	void init();				//初始化
    	void scan();				//该函数用于与用户交互,获取输入数据
    	void DisPlayAnswer();		//输出正确答案
    	void print();				//将统计结果输出给用户	
    private:
    	float answer;
    	int correctNum;
    	
    };
    class Randomvalue       //随机生成类
    {
    public:
        Random();//初始化数字和符号
        int randomNumber();			//用于随机生成数字
    	char randomOperation();		//用于随机生成运算符
    private:
        vector<char> sign;
    	vector<int> num;
    };
    
    class CreatExpresstion		//算式类 
    {
    public:
    	template<typename T> string Tostring(T i);
    	void generateExpression();	//用于生成运算式	
    	float calculateResult();	//计算结果 
    	float caculate(float Operand1, float Operand2, char Operator);
    private:
    	string expression;
    	float answer;
    };
    
    class Filestream		//文件读写类
    {
    public:
    	Filestream(string infilepath, string outfilepath);
    	int readFile();
    	template <typename T> void writeFile(T t);	
    private:
    	string _InFilePath;
    	string _OutFilePath;
    	ifstream _ifs;
    	ofstream _ofs;		
    };
    
    

    类图:

    整体流程图:

    类之间功能协作图:

    重要算法实现图:

    本次作业的感想:

    本次作业是对四则运算随机出题软件的整体思路框架的整合,将整体思路通过更清晰的流程图类图等的形式展现出来,能使今后的迭代工作的思路更加清晰,提高自己的代码素养,能将文件功能分块更加清楚地展现,有助于理解代码。分析自己思路中模糊的地方,分析能更好改善的地方,提高自己代码的效率,节省更多的时间空间。

  • 相关阅读:
    【IOS】判断字符串为空和只为空格解决办法
    【IOS】UIActionSheet的使用
    【IOS】倒计时实现的两种方法
    android 给listview或gridview添加数据加载时的动画
    彻底颠覆你的思维,羊毛出在狗身上,猪来买单
    王石:活着的意义在哪?
    android 将图片通过base64转换为String 将图片String转换为Bitmap
    Android 之 下拉框(Spinner)的使用
    ViewPager的简单使用说明
    Android的onCreateOptionsMenu()创建菜单Menu详解
  • 原文地址:https://www.cnblogs.com/mercuialC/p/6854425.html
Copyright © 2011-2022 走看看