四则运算2单元测试
1.测试计划。
测试用户不按照正常选项输入时,程序的相关处理。还有就是程序中有判断重复的语句,当在某个数值范围内无法产生用户想要的算式个数时,会暂停,不再执行程序。
2.代码情况。
#include<iostream> #include<stdlib.h> #include<string.h> #include<stdio.h> using namespace std; #include <ctime> #include <cstdlib> void panduanchongfu() { int d,e,k,m,n; int o=0,b=0; cout<<"请输入要显示的四则运算的个数"<<endl; cin>>k; cout<<endl; int shuzi[200][4]; char yunsuanfu[4]={'+','-','*','/'}; char fuhao[16][2]={{'+','+'},{'+','-'},{'+','*'},{'+','/'},{'-','+'},{'-','-'},{'-','*'},{'-','/'},{'*','+'},{'*','-'},{'*','*'},{'*','/'},{'/','+'},{'/','-'},{'/','*'},{'/','/'}}; int g[100]; srand(time(0));//根据系统时间设置随机数种子 int r,t,temp; cout<<"-------------------"<<endl; cout<<"请输入产生式数字的范围。(请输入两个数字:如 10 50:代表产生式的数字范围为(10-50)"<<endl; cout<<"-------------------"<<endl; cin>>r>>t; cout<<endl; if(r>t) { temp=r; r=t; t=temp; } int a; cout<<"-------------------"<<endl; cout<<"0.无乘除法。"<<endl; cout<<"1.有乘除法。"<<endl; cout<<"请输入选项(0或1)"<<endl; cout<<"-------------------"<<endl; cin>>a; cout<<endl; for(int i=0;i<k;i++) { shuzi[i][0]=rand()%(t-r)+r;//取得区间[0,100)的整数 shuzi[i][1]=rand()%(t-r)+r; shuzi[i][2]=rand()%(t-r)+r; shuzi[i][3]=rand()%(t-r-1)+r+1; d=rand()%100; e=rand()%100; if(a==1||a==0) { switch(a) { case 0: n=e%2;//判断运算符号的随机数 m=d%2; break; case 1: n=e%4;//判断运算符号的随机数 m=d%4; break; } } else { cout<<"输入选项有误,请正确输入。"<<endl; cout<<"-------------------"<<endl; cout<<"0.无乘除法。"<<endl; cout<<"1.有乘除法。"<<endl; cout<<"请输入选项(0或1)"<<endl; cout<<"-------------------"<<endl; cin>>a; i=i-1; continue; } if((shuzi[i][1]==0&&m==3&&a==0)||(shuzi[i][2]==0&&n==3&&a==0)) { i=i-1; } else { for(int l=0;l<16;l++) { if(yunsuanfu[m]==fuhao[l][0]&&yunsuanfu[n]==fuhao[l][1]) { g[o]=l; o++; } } for(int j=i-1;j>=0;j--) { if(shuzi[i][0]==shuzi[j][0]&&shuzi[i][1]==shuzi[j][1]&&shuzi[i][2]==shuzi[j][2]&&g[i]==g[j]) { i=i-1; break; } } } } for(i=0;i<k;i++) { if(g[i]==12||g[i]==13||g[i]==14) { cout<<"第"<<i+1<<"题:"<<shuzi[i][0]<<"÷"<<shuzi[i][1]<<fuhao[g[i]][1]<<shuzi[i][2]<<"="<<endl; } else if(g[i]==3||g[i]==7||g[i]==11) { cout<<"第"<<i+1<<"题:"<<shuzi[i][0]<<fuhao[g[i]][0]<<shuzi[i][1]<<"÷"<<shuzi[i][2]<<"="<<endl; } else if(g[i]==15) { cout<<"第"<<i+1<<"题:"<<shuzi[i][0]<<"÷"<<shuzi[i][1]<<"÷"<<shuzi[i][2]<<"="<<endl; } else cout<<"第"<<i+1<<"题:"<<shuzi[i][0]<<fuhao[g[i]][0]<<shuzi[i][1]<<fuhao[g[i]][1]<<shuzi[i][2]<<"="<<endl; } } int main() { panduanchongfu(); return 0; }
3.测试情况。
当用户输入除0和1之外的数字或字符时,程序会提示输入错误,并提示重新输入。
4.总结。
对于任何程序的是由人来操作的,总会产生一些问题,所以应该尽量使得程序更人性化,对于用户的一些错误操作有更好的提示或者处理一些错误操作。使得程序更加完善。