zoukankan      html  css  js  c++  java
  • 20175324结对项目——四则运算 整体性总结

    需求分析

    实现一个命令行程序,要求:

    • 1、自动生成小学四则运算题目(加、减、乘、除)
    • 2、生成题目去重
    • 3、支持多运算符(比如生成包含100个运算符的题目)
    • 4、支持真分数
    • 5、统计正确率
    • 6、处理生成题目并输出到文件,生成题目后从文件读入并判题
    • 7、多语言支持

    从题目要求可知,我们需要实现以下几个功能:

    • 可通过输入设置语言
    • 随机生成四则运算题目,通过循环使得生成的题目的计算过程不含负数且不重复,并可通过输入控制生成的题目数目以及数值的范围
    • 能将生成的题目输出到文件,并从文件中获取题目实现自动计算从而判断回答是否正确
    • 能将计算的结果转化为分数(如真分数五分之三表示为3/5,真分数二又八分之三表示为2’3/8。)
    • 能计算通过统计正确的题数来计算正确率

    随机生成题目

    • 从题目要求和实际情况得知生成题目的运算符多于一个少于三个。当运算符数目为1时不需要出现括号,当运算符数目为2时可以有0或1个括号,当运算符数目为3时可以有0到2个括号。于是我们使用随机数来控制括号和运算符的个数,然后再添加算式内的运算符和随机数

    多种语言的支持

    我通过变量i和j控制需要输出提示语句的位置,并设置变量m选择语言,变量cha控制同一循环中的不同输出,变量time记录主方法中的循环次数从而改变输出的提示语句的位置,if-else语句将对应的不同位置的提示语句进行输出

    主类中实现文件操作、生成题目的合法性检验及去重、判断用户的回答是否正确以及调用Produce、Language以及Sort类

    当生成的题目中的任意两个数的计算结果为复数时,该题目不合法。将所有生成的题目的字符串去除括号并调用Sort类的对象排序后放入数组中,如果数组中有相同的字符串且两算式计算结果相同则将重复的题目重新生成。

  • 相关阅读:
    新安装的Apache和php,测试可以解析phpinfo,但是无法打开drupal网站
    Drupal7安装注意事项
    drupal7 为视图添加 过滤标准 内容类型
    Drupal网站报错:PDOException: in lock_may_be_available()
    窗口聚合函数与分组聚合函数的异同
    Linux环境下段错误的产生原因及调试方法小结(转)
    gzip 所使用压缩算法的基本原理(选摘)
    InfluxDB使用纪录
    子网掩码解释(转)
    列存的压缩原理学习
  • 原文地址:https://www.cnblogs.com/wcqy/p/10707185.html
Copyright © 2011-2022 走看看