软件工程个人作业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;
        }
    }
}
  • 运行截图

软件工程个人作业01

  • 上课未完成原因

平时缺乏思考锻炼,对一个问题不能做到清楚地分析,将问题拆分开来。