随机四则运算的程序

一.程序源代码

#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;
	cout<<"----------------------------------------------"<<endl;
	cout<<"请选择是否包含乘除法:"<<endl;
	cout<<"1 .是"<<endl;
	cout<<"2 .否"<<endl;
	cin>>mul;
    cout<<"----------------------------------------------"<<endl;
	if(mul==1)
	{ 
		
		cout<<"请选择除法是否可以有余数:"<<endl;
		cout<<"1 .是"<<endl;
		cout<<"2 .否"<<endl;
		cin>>yushu;
		cout<<"----------------------------------------------"<<endl;
	}
	
	if(mul==1)
	{   
		for(i=0;i<num+2;i++)
		{
			contain();
		}	
	}
	else
		for(i=0;i<num;i++)
		{
			nocontain();
		}
		
		return 0;
}

二.运行结果截图

 

三.总结

这次实验是在上次实验的基础上继续进行的,基本实现了是否包含乘除法,是否可以有余数,行间距,以及题目的数目的要求,对于其他要求的实现还有待研究。虽然实现了上述的几个功能,但是对于其中的一些功能还是有一些欠缺的地方有待改进,例如在多次调用的输出的函数中,可以把要输出的内容进行更加详细的分解,这对于主函数中的调用是十分方便的,但是在更改了几次之后,发现会出现一些其他的问题,所以打算在后续的试验中再加以优化。

四.PSP

posted @ 2015-03-15 12:58  lllittletree  阅读(199)  评论(0编辑  收藏  举报