• 150313 那个可怜的二柱子同学


    今天的软件工程概论课,老师出了这么个问题:

    可怜的二柱子同学,老师又对他的自动出题系统提出了新的要求:

    1. 题目避免重复
    2. 可定制(数量、打印方式);
    3. 可以控制下列参数:是否有乘除法、数值范围、加减有无负数、除法有无余数、是否支持分数(真分数、假分数);

    我想了两种解决方法:

    一.使用数据库:

    1. 避免重复:随机数及符号大量生成录入数据库,生成md5,数据库查询(Select Distinct MD5,第一整数,符号,第二整数 from 题目表)。
    2. 定制:输入框,输入题目数量。打印方式可以用[x++ if(x==?) cout<<endl;] 并可导出到word或excel或txt
    3. 从数据库查询时,查询加条件。例如:select * from 题目表 where 符号=‘*’     select * from 题目表 where 第二整数>0等。
    4. 分数问题:随机数生成时,约束两次生成随机数的大小控制真假分数,组成类似 第一整数/第二整数 。数据库数据类型可以为varchar用于保存整个分数。

    二.不使用数据库:

    1. 避免重复:将生成题目作为字符串,保存到数组里。每生成一个题目,与数组里每个元素比对,重复即跳过本次循环。
    2. 定制:输入题目数量,和打印方式一样,利用[x++ if(x==?) cout<<endl;]
    3. 乘除法,打印时提取每个题目的符号,比对。其他类似。
    4. 分数问题:随机数生成时,约束两次生成随机数的大小控制真假分数,组成类似 第一整数/第二整数 。

    个人偏向数据库解决,快下课时建了个表,可行。只是完全把算法实现抛之脑后,有点偷懒嫌疑...

  • 相关阅读:
    mac本地如何搭建IPv6环境测试你的APP
    消息通知机制(NSNotification和NSNotificationCenter)
    Xcode 6制作动态及静态Framework
    html格式化输出JSON( 测试接口)
    UIContainerView纯代码实现及原理介绍
    CocoaPods 详解之----更新篇
    使用Cocoapods创建私有podspec
    ios高效开发-正确的使用枚举(Enum)
    在Xcode6中搭建Python开发环境
    用Swift语言做App开发之单元测试
  • 原文地址:https://www.cnblogs.com/apak/p/4334852.html
Copyright © 2020-2023  润新知