源代码链接:https://github.com/haijungongchengdaxuelvzhiyong/lvzhiyong/new/master
PSP表格:
基本解题思路:
本次作业共提出了以下模块
1,练习模式
2,历史记录
3,测验模式
4,错题本
根据这几个模块的特点。具体实现几个模块:1,练习模式,即用户可以一题一题的往下做,每做一题要判断做对还是做错,用时多少等信息。2,测验模式,测验模式的数据就要相对固定3,历史记录本,点开就有用户做过的所有题,题目是多少4,错题本,与历史记录类似,,可以在上面进行改错并且提示是否答对。5,错题针对练习,产生出错的类似的题目进行训练
设计实现过程:
主函数负责整体的调用,逻辑顺序,其中包括产生运算的界面生成的,数据等一些函数在里面通过想要实现的功能来进行相应的组合实现了上面的几个功能。
运行截图:
主界面就像一个功能夹,在上面设立了五大按钮用来进入五大不同的功能。
下面分开说明:
随机练习界面:
随机测试模式可以让用户在里面随机获取题目,提交立马判对错,统计时间。界面设计如下:
界面功能说明:在左上角输入题目的运算范围,点击开始答题,随机生成的题目会出现在题目栏中,题目栏下方是作答区域,点击“确认“提交答案,这时本题是否正确,用时多少等信息会出现在右下角的交互栏中。右上角是时间戳和答题进度说明。
设计实现说明:根据运算范围随机出题的函数已经在上一次作业中实现,判对错、计时等功能均在上次作业基础上修改而成。
测试模式界面:
测试模式界面分为三个,第一个是信息收集界面,用来获取需要多少道题、运算范围是多少、测试时间为多少等问题。第二个是测试主体界面,负责出题答题,有时间显示,在提交前可以缓存和修改答案,当时间截止时,停止答题。第三个是成绩单界面,当提交答卷或者时间截止后,跳转进入成绩单界面,可以点击“打印”保存成绩单为文本。
点击保存后,写入txt:
具体设计说明:在信息收集界面收集相关信息后,得到一个题目列表,把所有的题都存放在列表中。对应的还有正确答案列表,用户作答列表和分值列表,通过相同的索引联系起来。倒计时则是我自己编写了一个时间转换函数,可以把用户收集的min转换成时分秒。
错题针对练习界面:
该界面由随机联系界面修改而来,主要的区别是,不再需要手动输入运算范围,而是会根据收藏夹(错题集)中的题目生成类似的题目,比如:
设计实现说明:针对一道原题,以操作符和它之前的那个数为节点,我设计了三种“类似方式”,第一种,删除,即删除这个操作符和它之前的数字,第二种,修改,操作符不变,前面的数字进行增减,第三种,数字不变,操作符随机更换。在执行这三种操作之后,再把题目检查一边,进行自动约分,然后利用自定义的函数计算出表达式的值。
历史记录界面:
界面功能说明:在最上方显示了用户的名称,历史记录共有多少道题,答题的正确率为多少。然后是所有的历史记录。在历史记录下方有两个查询框,可以根据题目或者答案中的关键字进行查询搜索。
具体设计说明:在随机模式中,用户每完成一道题,就会自动把题目、正确答案和用户作答答案自动保存到文本文件中(测试模式是在提交答卷后),然后遍历这个文本文件就可以执行统计和查询。
错题本界面:
与历史记录界面类似,只是添加了删除功能:
原理与历史记录类似,只是在txt中删除一行数据有点难度。
代码复审记录:代码复审工作由刘少帅同志完成,详细工作见其博客。