• 个人项目总结


    从整个程序的流程来看,依次进行的数据处理为:读取txt文档获得算式->打印输出->用户输入计算结果->比较计算结果,统计正误

    <1>读取文档部分的问题

    输入:txt文档

    输出:表达式字符串

    通过文件流,使用getline()函数实现文档的读取

    参考博客:http://blog.csdn.net/stpeace/article/details/12404925

    <2>输出

    上一部分输出结果为字符串,直接用cout输出即可

    <3>用户输入结果

    在我自己测试时,正确结果都是分数,所在在编写程序时偷了懒。必须依次读入2个整数,分别作为分子分母。在助教检查时,发现了问题,用户不能输入整数作为结果。

    解决方法:将用户输入的结果存入字符串,检查其中是否含有'/'。如果有,表示用户输入的是分数,分别提取'/'前后作为分子分母;没有代表用户输入的是个整数,直接提取即可。

    <4>统计结果

    用户回答正确,将正确个数的寄存器加1

    用户回答错误,记录题号和答案,错误个数寄存器加1,在用户答完全部题目后,打印输出。

    另外,关于加分任务随机生成算式,我进行了尝试,结果不太令人满意。

    我的想法是:

    <1>  随机生成操作数个数n         例如:4

    <2> i=1:4              3+

      随机生成操作数和运算符     3+(3/2)*

                      3+(3/2)*4-

                      3+(3/2)*4-(3/4)

    <3>最后结尾加上'='         3+(3/2)*4-(3/4)=   

    这样看起来没有什么问题,但是实际上少了一大类的算式,拿我的例子来说,这样不能生成

    “(3+(3/2))*4-(3/4)=”、“ 3+(3/2)*(4-(3/4))=”、" (3+(3/2))*(4-(3/4))="

    这样的算式。

    对于低优先级的运算,不能通过加括号的方式提升至高优先级,而这一部分在计算中非常常用。类似“6*((1/2)+(1/3))=”这样的算式,可以考察用户对于乘法分配律的熟练程度。这些都需要括号参与其中。最后也没想到好方法实现。

    程序的模块设计不太合理=、=

    在进行下一个项目时,要进行大面积改动                  

                      

                      

  • 相关阅读:
    Fragment中获取Activity的Context (转)
    raw cannot be resolved or is not a field解决办法
    商业分析07_06分布情况分析
    商业分析07_04漏斗分析
    商业分析07_03数据涨跌异动如何处理
    商业分析07_02多维度拆解
    商业分析07_01对比分析
    商业分析07_00概述 数据分析
    商业分析06选择数据工具
    商业分析05如何选取数据指标
  • 原文地址:https://www.cnblogs.com/13070016-vic/p/5294322.html
Copyright © 2020-2023  润新知