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

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

浙公网安备 33010602011771号