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

    1.采取面向对象的方法,四则运算自动出题软件,根据需求可以划分为几个类?每个类具有什么属性?每个类具有什么行为?

    (1)算式类

    class F{
    public:
        void randomNumber();//用于随机生成数字
        void randomOperation();//用于随机生成运算符
        bool generateExpression();//用于生成运算式
    private:
        double random1,random2,random3,random4;//随机数字
        int sign1,sign2,sign3;//随机运算符
    }
    

    (2)计算类

    
    class M{
    public:
        double qcount(double,double,int);//用于二则运算
        double calculateResult(double,double,double,double,int,int,int);//用于计算生成的运算式的结果
    private:
        double answer;
    }
    

    (2)交互类

    
    class I{
    public:
        void scan();//该函数用于与用户交互,获取输入数据
        void readFile(char *);//读取用户要求的题目数量
        void judgeanswer(double,double);//用于判断用户答题是否正确
        void writeFile(char *);//将最终结果写入文件,写入内容包括:用户输入的题目数,每个生成的表达式、正确答案、用户输入的答案,保存到命令行中第二个参数指定的路径。
        void print();//将统计结果输出给用户
    }
    

    2.类与类之间是如何进行协作的?谁给谁发送消息?谁持有谁的引用?

    3.该自动出题软件采取何种算法或者是如何实现的?可以采用流程图描述的方法。

  • 相关阅读:
    Nginx配置文件详解
    ngrinder 负载均衡脚本开发
    spring boot过滤器FilterRegistrationBean
    Spring boot 拦截器和过滤器
    spring controller中默认转发、forward转发、redirect转发之间的区别
    @RestControllerAdvice作用及原理
    Android APK脱壳--腾讯乐固、360加固一键脱壳
    java 简单xor加密
    facebook 研究
    阿里云docker安装
  • 原文地址:https://www.cnblogs.com/nwk1130/p/6863274.html
Copyright © 2011-2022 走看看