需求分析: 为了提高效率,减轻小学老师的负担,于是我写了一个四则运算题目生成程序,专为小学生设计,题目难度很贴合现在的小学生,真的是小学老师的好助手。 本程序是基于控制台的生成四则运算表达式,同时生成的四则运算表达式会存入执行程序的当前目录下的Exercises.txt文件。还有自动生成正确答案和批改的的程序,分别存入执行程序的当前目录下的Answers.txt文件以及Grade.txt文件。通过输入题目数目和数值范围来控制题目的生成,生成带有‘+’,‘-’,‘×’,‘÷’,‘"’的四则运算表达式,题目由整数和两种形式的真分数组成。程序支持1W道题目的生成。目前测试看来,程序不会产生重复的题目。
功能设计:基本功能:程序自动生成题目及答案,并批量生成题目及答案至相应文档。学生进行答题,答题结果存入数组当中。将数组中的学生答案与正确答案文档进行互相比较,得出学生的成绩。
扩展功能:程序生成题目可能会有重复的,所以程序最后分析时应该给出查重分析,但是目前看来并没有重复的题目。
高级功能:后序我将改为Web端或APP的形式。
.设计实现:
本次试验我一共用了2个类,其中
SetQuestion类:包含主函数,用来出题目以及写入TXT文件,还有批改的功能。出题目用到了两个关键的函数。一个是sings()函数,产生随机符号。一个是ranNum()函数,产生随机数据。这个ranNum()函数里面又调用了三个用来产生整数,两种真分数形式的重要函数。
CharacterNum类:这是输出正确答案的类。利用数组配合后缀表达式的相关知识完成。因为题目出的过于复杂,有整数以及两种形式的真分数,所以产生的答案难免有些瑕疵。如果只有整数的话,这个类能够非常棒的完成需求。
测试运行:
程序运行截图:
小结: 本次实验采用了字符串类型的四则运算表达式,功能基本都实现了。但是由于出的题目过于复杂,有整数以及两种形式的分数,所以根据所出题目得到正确答案的类只能完美实现在题目中只有整数的情况下的功能,对于本程序中复杂题目的得到正确答案的功能实现不尽人意。也对后面的批改造成了影响。然而学无止境,只要努力,总会解决的。