软件工程概论第二周综合测验----设计思路

四则运算2

程序要求:题目避免重复,可定制(数量、打印方式);可以控制下列参数:是否有乘除法,数值范围,加减有无负数,除法有无余数,是否支持分数。

设计思路:

1,题目避免重复:先出第一道题,再出第二道题的话首先判断第二道题的运算如果等于第一道题则有:第二道题的第一个随机数如果等于第一道题的第一个数且第二道题的第二个随机数等于第一道题的第二个数,则重新选数。否则继续。第三道题也从运算符开始判断。

2,可定制数量、打印方式:设置一个变量,变量根据用户需要输入。即“请输入所需题目的数量:”和“每行打印题目数量:”。

3,数值范围可以根据用户需要更改,则设置变量,rand()%a,通过输入a的取值来控制。

4,可以控制以下参数(我根据自己的想法进行分块简化了):在总程序框架中设置选项,初步实现所出的题在其选项中实现,就是相当于在一张纸上进行分块。一块出的题只有这一块的这一类题。学生想做那一块的题就选择哪个选项。再分为是否有乘除法、有无负数、有无余数、是否支持分数等几块。

(1)有乘除法:除法0不能做除数,如果0是除数则交换第一个数和第二个数的值。

(2)有负数:负数在随机数中出现。感觉可以通过控制数值范围控制。

(3)有余数:运算都是除法的情况下,除数不能整除被除数,如果整除,则改变除数(或被除数)。

(4)支持分数:设置四个随机数,分母不能为0

总结:初步想法是先分块实现,最后总合的时候可能有的功能不能很好地整合起来。按照我的想法是先实现分块,选择哪个选项,分块里只有这一类的题。先运行分块。最后通过改变函数顺序来整合。

posted @ 2015-03-13 13:16  so#what  Views(129)  Comments(0Edit  收藏  举报