四则运算题目生成程序(基于控制台)

题目链接:http://www.cnblogs.com/HQL0301/p/7502315.htm

源码连接:https://gitee.com/linwei88/four_operations_2/tree/master

一.需求分析

⦁可以根据输入的题数和数值范围自动生成四则运算表达式。

⦁表达式包括“+ - * /”这四种运算符。

⦁可以进行分数的运算,如果题目中出现假分数,则转换成真分数。

⦁对题目答案进行批改对错,给出正确率。

二.功能设计

(1)基本功能

1.输入参数n,程序生成 n道四则运算题目.

2.用参数来控制生成的四则运算的数值范围.

3.用户可以对相应的题目进行做答.

4.对用户的答案进行判断对错,并给出正确率.

(2)扩展功能

1.查重复,不出现重复的题目(没有实现)

2.对假分数转换成带分数表示

三.设计实现

1.gys函数:用于求两个分母之间的最大公约数。

2.gbs函数:用于求两个分母之间的最小公倍数。

四.代码说明

 

srand((int)time(0));  //time(0)1970.1.1至今的秒数,srand(time(0)先设置种子,rand()然后产生随机数

random函数返回一个0~7之间的随机数进入生成不同类型题目的路口,一共8个入口分别有整数的加减乘数以及分数的加减乘数

在整数的除法这边先将结果约分后如果出现结果为3/1这种情况则将3直接放入答案,如果为3÷3这种直接将1存入答案,其他的则先将分子存入后再拼接/再拼接分母。

在分数的加减乘数这边都先将生成的分数进行约分后存在两个数组里。

在加这边,先求两个分数的分母的公倍数,然后将两个分数同乘以公倍数,若这个结果能与公倍数约分则约分,否则将这个结果除以公倍数。若最终结果为3/1这样的则结果就为2,。

 

在减这边,如果两个分数和为负数则先将其变为正数后在跟公倍数约分,这是由于我的求公约数这个函数所迫,如如结果为-2/1,则先将答案清空,再添个负号,再将和放入 

.测试运行

 

 

 

 

六.PSP展示:

.小结

 

posted on 2018-03-31 20:38  林威  阅读(185)  评论(0)    收藏  举报