• 2017《面向对象程序设计》课程作业四


    2017《面向对象程序设计》课程作业四

    面向对象的方法划分类

    在做这个四则运算的软件中,我主要是把整个问题当做两个类来判断,类中包含的对象也有指向输出文件的指针以及随机生成符号,随机数字等完成整个四则运算问题所要用到的函数。主要还是为本身的需求服务吧,因为输出文件的指针几乎每个成员函数都要用到,索性就归到这两类当中去了。

    class cal 
    {
    public:
    	void random(int *a, int*b, int*c, int *d);
    	void print( int v, int c);//对于结果的输出
    	void writefile(char *str, char *p);//写出文件
    	int test(int total, char *p1);
    	int generateExpression(int x);
    	float calcusum(int a, int b, char sig);
    	string combine(string a, string b, char sign);
    	string int_string(int number);
    	char randop();
    private:
    	char *p;
    };
    class read
    {
    public:
    	void boundary();//用于生成界面
    	int fileread(char *p1);//读入文件并返回题目数值
    private:
    	char *pr;//读入指针
    	int num;
    
    };
    

    类与类之间的联系

    联系的话还是通过成员函数与指针来实现的,由于设定成私有变量的缘故,这也是作业中我感觉比较重要的一块,很好地反映了之前所学的知识,不过这之中也有learning by doing的部分,这里简略的贴下代码,通过ostringstream转换成string类型。

    		ostringstream ss1;
    		ss1 << reply;
    		string str1 = ss1.str();
    

    联系部分也是通过指针来跟类中的成员函数来进行的,由成员函数之间发送信息,互相引用各自的成员函数来进行的。

    实现自动出题

    还是通过随机生成数字,随机生成符号,由于是string类型结合起来比较方便,进而得到生成的题目,具体我通过流程图表示出来(●`∀´●)
    )

    git链接

    git

    感想

    感觉这次的作业也并非是单纯的轻松的,也在之前的代码上面进行了一系列的修改,相当于一次缓冲期,通过对于系统化的流程图的绘制及理解,也能更好迭代代码。面向对象是从用户和整体角度出发的,把问题作为一组相互作用的实体,显式表示实体间的关系,我想这次作业也可以很好反映这一点。

  • 相关阅读:
    leetcode -- Merge Two Sorted Lists
    leetcode -- Rotate List
    leetcode -- Merge Intervals
    leetcode -- Insert Interval
    Egret入门学习日记 --- 第八篇(书中 2.0~2.6节 内容)
    Egret入门学习日记 --- 第七篇(书中 3.9节 内容)
    Egret入门学习日记 --- 第五篇(书中 3.5节 内容)
    Egret入门学习日记 --- 第四篇(书中 3.1~3.3 内容)
    Egret入门学习日记 --- 第三篇 (书中 3.4 内容)
    Egret入门学习日记 --- 第二篇 (书籍的选择 && 书籍目录 && 书中 3.3 节 内容)
  • 原文地址:https://www.cnblogs.com/tomvii/p/6853229.html
Copyright © 2020-2023  润新知