软件工程个人作业01

小学生四则运算问题,要求除了整数以外还要求支持真分数

一、设计思路:

     1、选择整数或者是真分数

     2、若为整数,则需判断运算符是否为除号。

        <1>、若是则除数的取值范围是1-99

        <2>、若不是则后面一个数的取值范围为0-99

        <3>、输出。

     3、若为分数,则需要取四次随机数。

        <1>、比较大小,确定分母。分母的的取值范围均为1-99

        <2>、再判断运算符是否为除号,则后面的那个数的分子与分母的取值范围均为1-99

        <3>、输出。

二、程序源代码:

//This is a program of math operation

//2016/3/7

#include<iostream>

#include<stdlib.h>

#include<time.h>

using namespace std;

 

int a;//第一个数值

int a1,a2;

int b;//第二个数值

int b1,b2;

int item;

int d;//结果

int p;//判断整数与分数

int y;//判断运算符

char c[4];//运算符

 

int main()

{

srand((int)time(NULL));

 

c[0]='+';

c[1]='-';

c[2]='*';

c[3]='÷'; 

 

for(int i =0;i < 30;i++)//利用循环语句实现30次

{

//判断用分数还是整数

p = (0+rand()%2);

if(p == 0)

{

a = (0+rand()%100);

y = (0 + rand()%4);

if(y == 3)

{

b = (1 + rand()%100);

}

else

{

b = (0 + rand()%100);

}

cout << a << " " << c[y] << " " << b << " " << "="<<endl;

}

else 

{

a1 = (0 + rand()%100);

a2 = (0 + rand()%100);

if(a1 > a2)

{

item = a1;

a1 = a2;

a2 = item;

}

y = (0 + rand()%4);

if(y == 3)

{

b1 = (1 + rand()%100);

b2 = (1 + rand()%100);

if(b1>b2)

{

item = b1;

b1 = b2;

b2 = item;

}

}

else

{

b1 = (0+rand()%100);

b2 = (1+rand()%100);

if(b1>b2)

{

item = b1;

b1 = b2;

b2 = item;

}

}

}

cout << a1<<"/"<<a2<<" " <<c[y]<<" "<<" "<< b1 <<"/"<<b2 << " " <<"="<<endl;

}

}

三、运行截图:

   

四、未按时完成的原因:编辑程序时没有特别清晰的思路,并且方法运用不熟练,写的时候总是去前面翻看使得速度特别的慢。

原文地址:https://www.cnblogs.com/huangliping/p/5250926.html