计划我的测试
1、当选定随机数的范围为1-100时选择有或者没有乘除法,输出打印都能够成功。
2、当选定的随机数的范围包括0时并且选定有乘除法时,程序是否能排除0做除数的情况。
3、当用户已经选择不需要乘除法时,是否还有必要进行有无余数的选择和计算。
4、当设定打印题数为0时,是否能够正确的执行。
5、当选择允许可以有负数时是指题目中的数字可以有负数,还是运算结果可以有。
6、在第一项的选择随机数范围时,是可以设定的无限大或是无限的小。
针对第一个计划的测试,我得到了如下结果:
这个测试我选定的随机数范围是1-100,选择的无乘除法,得到的结果正确。
针对第二个计划的测试,我得到了如下的结果:
其中我把随机数的范围包括了0,并且选择了有乘除法,经过了多次试验并没有出现除数为0的现象,当然这并不排除偶然的现象。
针对第三个计划的测试,我得到了如下结果:
当我选择不需要乘除法时,就不用选择是否需要有余数这项,同时程序也不会做相关的运行和计算。
针对第四个计划的测试,我得到了如下结果:
当我选定打印数目为0时,输出的结果确实没有打印出来。
针对第五个计划的测试,我得到了如下结果:
当选择可以有负数时,从运行结果中可以发现,是既可以生成负数,又可以减法计算后的结果允许有负数。
针对第六个计划的测试,我得到了如下结果:
可以看出最大也不是无限的可以大,最多只能到100000.
代码:
1 #include2 #include 3 #include 4 #include 5 using namespace std; 6 7 void main() 8 { 9 int i, j; 10 int daYinShu; 11 int b[1000], c[1000], d[1000]; 12 int e, min, max, pj; 13 int aa;//各参数为定义量 14 int bb;//各参数为定义量 15 int cc;//各参数为定义量 16 int s;//各参数为定义量 17 srand((unsigned)time(NULL)); 18 cout << "请输入你想打印的题数:" << endl; 19 cin >> daYinShu; 20 cout << "请输入随机数的范围值,min与max的值分别为:" << endl; 21 cin >> min >> max; 22 pj = max - min;//通过用户输入的最大值最小值,得到范围域 23 cout << "是否需要乘除?(回答1或0):" << endl; 24 cin >> aa; 25 /*cout<< "请选择需要整数还是分数?(整数1分数2)" << endl; 26 cin >> num; 27 int num1 = rand() % 100;//随机生成0-100里的整数 28 int num2 = rand() % 100;//随机生成0-100里的整数 29 int num3 = rand() % 100;//随机生成0-100里的整数 30 int num4 = rand() % 100;//随机生成0-100里的整数 31 int f; 32 if(num=2) 33 { 34 int a = num1; 35 int b = num2; 36 if (num1 > num2)//判断是否为真分数 37 { 38 int e = a; 39 a = b; 40 b = e; 41 } 42 cout << "("<< a << "/" << b <<") "; 43 f = num1 % 4 + 1; 44 switch (f) 45 { 46 case 1:cout << "+ "; break; 47 case 2:cout << "- "; break; 48 case 3:cout << "× "; break; 49 case 4:cout << "÷ "; break; 50 } 51 int c = num3; 52 int d = num4; 53 if (num3 > num4) 54 { 55 int k = c; 56 c = d; 57 d = k; 58 } 59 if(d != 0 && c != 0) 60 cout <<"("<< c << "/" << d <<")"<<"="< > bb; 66 cout << endl; 67 } 68 cout << "是否需要负数?(回答1或0):" << endl; 69 cin >> cc; 70 if (aa == 1) 71 { 72 for (i = 0; i < daYinShu; i++)//判断是否重复 73 { 74 b[i] = rand() % pj + min; 75 c[i] = rand() % pj + min; 76 d[i] = rand() % 4; 77 for (j = 0; j < i; j++) 78 { 79 while (b[j] == b[i] && c[j] == c[i]&&d[i]==d[j]) 80 { 81 b[i] = rand() % pj + min; 82 c[i] = rand() % pj + min; 83 d[i] = rand() % 4; 84 } 85 } 86 } 87 for (i = 0; i < daYinShu; i++) 88 { 89 e = rand() % 2; 90 switch (d[i]) 91 { 92 case 0: 93 cout << b[i] << " + " << c[i] << " = " << endl; 94 break; 95 case 1: 96 if (cc == 0) 97 { 98 if (b[i] < c[i]) 99 {100 s = b[i];101 b[i] = c[i];102 c[i] = s;103 }104 else105 cout << b[i] << " - " << c[i] << " = " << endl;106 break;107 }108 else109 cout << b[i] << " - " << c[i] << " = " << endl;110 break;111 case 2:112 if (e == 0)113 {114 cout << b[i] << " * " << c[i] << " = " << endl;115 break;116 }117 else if (e == 1)118 {119 cout << b[i] << " * ( - " << c[i] << " ) = " << endl;120 break;121 }122 case 3:123 if (c[i] == 0)//分母不能为零124 {125 i--;126 break;127 }128 else if (bb == 1)129 {130 if (b[i] % c[i] != 0)131 {132 cout << b[i] << " / " << c[i] << " = " << endl;133 break;134 }135 else136 {137 i--;138 break;139 }140 }141 else if (bb == 0)142 {143 if (b[i] % c[i] != 0)144 {145 cout << b[i] << " / " << c[i] << " = " << endl;146 break;147 }148 else149 {150 i--; 151 break;152 }153 }154 break;155 }156 }157 }158 else159 {160 for (i = 0; i < daYinShu; i++)//判断是否重复161 {162 b[i] = rand() % pj + min;163 c[i] = rand() % pj + min;164 d[i] = rand() % 2;165 for (j = 0; j < i; j++)166 {167 while (b[j] == b[i] && c[j] == c[i])168 {169 b[i] = rand() % pj + min;170 c[i] = rand() % pj + min;171 d[i] = rand() % 2;172 }173 }174 }175 for (i = 0; i < daYinShu; i++)176 {177 switch (d[i])178 {179 case 0:180 cout << b[i] << " + " << c[i] << " = " << endl;181 break;182 case 1:183 if (cc == 0)184 {185 if (b[i] < c[i])186 {187 s = b[i];188 b[i] = c[i];189 c[i] = s;190 }191 else192 {193 cout << b[i] << " - " << c[i] << " = " << endl;194 break;195 }196 }197 else198 {199 cout << b[i] << " - " << c[i] << " = " << endl;200 break;201 }202 }203 }204 }205 }