zoukankan      html  css  js  c++  java
  • 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. 分数问题:随机数生成时,约束两次生成随机数的大小控制真假分数,组成类似 第一整数/第二整数 。

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

  • 相关阅读:
    Python爬取网页信息
    C++面向程序设计(第二版)课后习题答案解析
    蓝桥杯——算法分析
    python爬虫——数据爬取和具体解析
    python爬虫——爬取网页数据和解析数据
    Python文件的读写操作
    C++第三章课后作业答案及解析---指针的使用
    C语言蓝桥杯比赛原题和解析
    Web开发技术---简单的登录验证
    C++面向对象程序设计第三章习题答案解析
  • 原文地址:https://www.cnblogs.com/apak/p/4334852.html
Copyright © 2011-2022 走看看