软件工程个人作业01
题目:代码实现随机生成30道四组运算。
- 设计思想:
1、随机数的生成。
①找到随机数函数(rand)。
②控制随机数产生的范围(0-99)。
③输出随机数。
2、运算符的生成。
①用产生的随机数除以4,分别得到余数为0、1、2、3,从而确定运算符号(+、-、*、/)。
②输出运算符。
3、真分数。
随机生成分子小于分母。
4、混合输出。
再使用随机数产生1和2来决定整数和真分数。
- 源程序代码
#include<iostream> #include<time.h> using namespace std; void main() { int num,num1, num2,num3,num4, fuhao, i,a=0,b=0,c=0,d=0,t; srand((int)time(NULL)); for (i = 0; i < 30; i++) { num1 = 1 + rand() % 100;//将1到100内的数随机赋予num1,用于整数计算 num2 = 1 + rand() % 100;//将1到100内的数随机赋予num2,用于整数计算 num3 = 1 + rand() % 100;//将1到100内的数随机赋予num3,用于分数计算 num4 = 1 + rand() % 100;//将1到100内的数随机赋予num4,用于分数计算 num = 1 + rand() % 2;//随机生成1或2分别表示整数和分数 if (num == 1)//整数运算 { fuhao = num1 % 4 + 1;//得到的余数加一 cout << num1;//第一个数 switch (fuhao)//随机运算符 { case 1:cout << "+"; break; case 2:cout << "-"; break; case 3:cout << "×"; break; case 4:cout << "÷"; break; } cout << num2 << "=" << endl;//第二个数 } if(num==2) { a = num1; b = num2; if (num1 > num2)//比较两个随机数的大小,小的作为分子,大的为分母 { t = a; a = b; b = t; } cout << "("<<a << "/" << b<<") "; fuhao = num1 % 4 + 1; switch (fuhao) { case 1:cout << "+"; break; case 2:cout << "-"; break; case 3:cout << "×"; break; case 4:cout << "÷"; break; } c = num3; d = num4; if (num3 > num4) { t = c; c = d; d = t; } cout <<"("<< c << "/" << d<<")"<<"="<<endl; } } }
- 运行截图
- 上课未完成原因
平时缺乏思考锻炼,对一个问题不能做到清楚地分析,将问题拆分开来。