四则运算之C++实现篇(4)

关于判断是否重复的解决。函数主要使用了for循环,首先随机出一个算式的两个参数和一个符号,根据符号的不同分为四组,以此减少验证是否重复时的验证次数。每组中有两个数组来存放两个参数。当每获得两个随机数,就和相应组内进行比较,前一个和前一个数组中数值比较,后一个和后一个数组中数值比较,有相同的就continue跳过,不保存在数组中。这种比较方式就忽略了两个参数颠倒产生两个式子的情况,例如5+4和4+5,单这种情况可以当做交换率的考核。

关于出题数量和打印方式的限制解决。使用两个参数num、line,num限制出题数量,line限制输出时每行输出数量。将for循环设为无限循环,在循环的最后让四组数量相加等于num即可break跳出循环。

最后一个限制有很多要求,目前完成了除分数的前几个要求。解决方法就是在for循环刚开始时,两个参数和符号都产生后,加上对各个限制的判断,不符合就continue跳过。数值范围则使用x=min+rand%(max-min)产生符合数值范围的随机数。

分数没有解决,一开始的想法就是用四个数组分别表示两个参数的分子和分母,根据我的分组判断的做法,那就还要再声明16个数组,这十六个数组不能在使用一开始for循环内的产生算式的算法,需要新的代码来实现要求,新的代码其实也就是在以前for循环的算法中加上每个式子加上两个数组进行运算,可有了式子的两个参数后,问题产生,怎么让两个参数满足限制条件,最基本的就是怎么让产生的分数在数值范围内,如果要求有负数又怎么办?因此分数还没有实现。

五、时间记录日志

学生:**                            日期:2015.3  

教师:**                            课程:软件工程

日期

 

开始时间

 

结束时间

 

中断时间

 

净时间

 

活动

 

备注

 

3/18

 

6:00

 

10:30

 

20

 

250

 

没课

 

明天交作业

 

3/19

 

4:20

 

5:50

   

90

 

编程

 

马上交作业

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/31551ebb15449d3136a5d8ac1d6ee64c.html