四则运算2
计划我的测试
1、当选定随机数的范围为1-100时选择有或者没有乘除法,输出打印都能够成功。
2、当选定的随机数的范围包括0时并且选定有乘除法时,程序是否能排除0做除数的情况。
3、当用户已经选择不需要乘除法时,是否还有必要进行有无余数的选择和计算。
4、当设定打印题数为0时,是否能够正确的执行。
5、当选择允许可以有负数时是指题目中的数字可以有负数,还是运算结果可以有。
6、在第一项的选择随机数范围时,是可以设定的无限大或是无限的小。
针对第一个计划的测试,我得到了如下结果:
这个测试我选定的随机数范围是1-100,选择的无乘除法,得到的结果正确。
针对第二个计划的测试,我得到了如下的结果:
其中我把随机数的范围包括了0,并且选择了有乘除法,经过了多次试验并没有出现除数为0的现象,当然这并不排除偶然的现象。
针对第三个计划的测试,我得到了如下结果:
当我选择不需要乘除法时,就不用选择是否需要有余数这项,同时程序也不会做相关的运行和计算。
针对第四个计划的测试,我得到了如下结果:
当我选定打印数目为0时,输出的结果确实没有打印出来。
针对第五个计划的测试,我得到了如下结果:
当选择可以有负数时,从运行结果中可以发现,是既可以生成负数,又可以减法计算后的结果允许有负数。
针对第六个计划的测试,我得到了如下结果:
可以看出最大也不是无限的可以大,最多只能到100000.
代码:
1 #include <iostream> 2 #include<stdlib.h> 3 #include <ctime> 4 #include <cmath> 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 <<")"<<"="<<endl; 61 }*/ 62 if (aa == 1) 63 { 64 cout << "是否需要除法要得到余数?(回答1或0):" << endl; 65 cin >> 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 else 105 cout << b[i] << " - " << c[i] << " = " << endl; 106 break; 107 } 108 else 109 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 else 136 { 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 else 149 { 150 i--; 151 break; 152 } 153 } 154 break; 155 } 156 } 157 } 158 else 159 { 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 else 192 { 193 cout << b[i] << " - " << c[i] << " = " << endl; 194 break; 195 } 196 } 197 else 198 { 199 cout << b[i] << " - " << c[i] << " = " << endl; 200 break; 201 } 202 } 203 } 204 } 205 }