软件工程个人作业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; } }
三、运行截图:
四、未按时完成的原因:编辑程序时没有特别清晰的思路,并且方法运用不熟练,写的时候总是去前面翻看使得速度特别的慢。