标签:
测试:
1.输入题目时,如果用户输入负数。
该问题可以解决。
2.输入题目时,如果用户输入0。
该问题可以解决。
3.输入选择时,如果用户输入的范围不是1或者2。
对于是否包含乘除法的选项只有1和2两个选项,当输入3或者其他数字时,程序默认选择了2.
更改后:
当用户输入的选择不是1或者2时,会提示用户并通知用户重新输入。运行结果如下:
4.对于选择是否可以包含余数的选择时,与上例的结果相似,解决方法也相同。
更改后的代码:
#include<iostream.h> #include<time.h> #include<stdlib.h> #include<stdio.h> void contain() { int x,y; int z,yushu; x=rand()%100; y=rand()%100; z=rand()%4; if(yushu==1) { switch (z) { case 0: cout<<x<<‘+‘<<y<<‘=‘<<endl; break; case 1: cout<<x<<‘-‘<<y<<‘=‘<<endl; break; case 2: cout<<x<<‘*‘<<y<<‘=‘<<endl; break; case 3: cout<<x<<‘/‘<<y<<‘=‘<<endl; break; } } else if((x%y)!=0) { x=x-x%y; switch (z) { case 0: cout<<x<<‘+‘<<y<<‘=‘<<endl; break; case 1: cout<<x<<‘-‘<<y<<‘=‘<<endl; break; case 2: cout<<x<<‘*‘<<y<<‘=‘<<endl; break; case 3: cout<<x<<‘/‘<<y<<‘=‘<<endl; break; } } } void nocontain() { int x,y; int z; x=rand()%100; y=rand()%100; z=rand()%2; switch (z) { case 0: cout<<x<<‘+‘<<y<<‘=‘<<endl; break; case 1: cout<<x<<‘-‘<<y<<‘=‘<<endl; break; } } int main() { srand((unsigned)time(NULL)); int i,num,mul,yushu,jianju; cout<<"****************欢迎使用本程序****************"<<endl; cout<<"请输入打印的间距:(1~5)"<<endl; cin>>jianju; cout<<"----------------------------------------------"<<endl; cout<<"请输入题目的数目:"<<endl; cin>>num; if(num<=0) { cout<<"输入有误,请重新输入:"<<endl; cin>>num; } cout<<"----------------------------------------------"<<endl; cout<<"请选择是否包含乘除法:"<<endl; cout<<"1 .是"<<endl; cout<<"2 .否"<<endl; cin>>mul; while((mul!=1)&&(mul!=2)) { cout<<"请重新输入选择:"<<endl; cin>>mul; } cout<<"----------------------------------------------"<<endl; if(mul==1) { cout<<"请选择除法是否可以有余数:"<<endl; cout<<"1 .是"<<endl; cout<<"2 .否"<<endl; cin>>yushu; while((yushu!=1)&&(yushu!=2)) { cout<<"请重新输入选择:"<<endl; cin>>yushu; } cout<<"----------------------------------------------"<<endl; } if(mul==1) { for(i=0;i<num;i++) { contain(); } } else for(i=0;i<num;i++) { nocontain(); } return 0; }
标签:
原文地址:http://www.cnblogs.com/myblog1993/p/4342411.html