四则运算测试

测试:

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;
}

 

posted @ 2015-03-16 17:46  lllittletree  阅读(221)  评论(0编辑  收藏  举报