上个星期完成了基本功能后,我开始用MFC进行扩展,将它变成一个有图形界面的软件(?)
扩展之后的程序的对话框和类
Dialog:
1、IDD_ARITHMETIC_DIALOG
介绍:开始界面,需要填入生成表达式的个数、数字(整数以及真分数分母)的范围。
功能:接收用户传入的参数(默认的参数均为10),生成Questions子对话框并将参数传递给它。
截图:(尽管来吐槽我英语渣还坚持不懈地用English吧!)
2、IDD_QUESTIONS
介绍:生成问题的对话框,用户可以填入答案、判断对错、并查看正确的答案。
功能:(1)按照父对话框传递的参数(表达式个数、数字范围)生成表达式,并显示在CListCtrl控件中;
(2)在编辑框中填入答案,点击“Submit”按钮将答案提交到CListCtrl控件中的相应位置;
(3)判断正误,将判断结果显示在CListCtrl控件中,并用不同颜色标示并在下方显示正确个数、错误个数和正确率;
(4)查看正确答案:选中某一道题后,点击Show the Correct Answer按钮可以查看该题的正确答案,再次点击按钮会会隐藏;点击Show All the Correct Answers按钮后可以查看所有题的正确答案,再次点击后会隐藏。
(5)返回父对话框或者退出。
扯了辣么多抽象的,啥都不说了,上截图(为啥贴图之后觉得界面好丑)
Class:
除了上面两个对话框对应的类和一个自动生成的类CApp,还有两个类
1、Arighm:随即生成算法表达式和答案并存入文件;
2、CXListCtrl:重载的CListCtrl控件,用来改变控件不同行显示的颜色;
以上就是我的图形界面,欢迎吐槽。
然后记录一下这个项目的完成历史:(仅凭回忆。。。)
2.28 4小时 需求分析,设计原型程序
选取数据结构,并写出一个功能简单的原型程序。(需求分析的时间太少了。。。留给了我惨痛的教训。。。)
2/29 6小时 修改原型程序+设计
想要扩展功能的时候发现原型程序的数据结构不适用,于是重新开始设计(我回溯了。。。)
3/1 6小时 设计+具体编码
吸取了上一次的的教训,开始详细地设计与考虑程序架构,然后开始写框架+填内容,完成随机产生表达式和计算结果的函数。
3/2 2小时 具体编码
完成输入输出的函数。
3/3 8小时 具体编码+扩展
对整个程序进行完善,并开始建立图形界面,写出基本功能(生成表达式、填写答案、提交并判断正误)
3/6 6小时 扩展完善+测试
完成了图形界面,根据用户需求(我臆想的。。。)在上面添加额外的效果和功能(比如说采用不同的颜色标记之类答对和答错的题目之类的)
3/8 1.5小时 扩展完善+测试
继续完善一些细节,比如说错误处理、美化一丢丢的界面(囧),并开始用各种各样的测试用例来测Bug,并改正。
3/12 2小时 总结报告
开始完成这个星期的总结Blog,想了想自己遇到的问题,解决方法,和还没有解决的问题。
3/13 0.5小时 扩展完善+测试
心血来潮地再加一些小功能:用一个Button显示和隐藏部分或所有的正确答案。
共计 36小时
最后附上下载链接:
http://yun.baidu.com/share/link?shareid=1298366567&uk=3931850723