欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言 函数综合 小计算器

程序员文章站 2022-06-08 22:13:42
...
#include <stdio.h>

int add(int x,int y)
{
	int z;
	z=x+y;
	return z;
}

int min(int x,int y)
{
	int z;
	z=x-y;
	return z;
}

int mul(int x,int y)
{
	int z;
	z=x*y;
	return z;
}

float chu(int x,int y)
{
	float z;
	z=(float)x/y;
	return z;
}

void tips()  //提示 
{
	printf("****************************************\n");
	printf("********请选择一种算法 + - x / *********\n");
	printf("****************设计者:大帅哥**********\n");
	printf("****************************************\n");
	printf("****************************************\n");
	printf("****************************************\n");

}

int tipsWhichCalc(char suanFa)  //选择算法 
{
	switch(suanFa) {
		case '+':
			printf("你选择了加法\n");
			break;
		case '-':
			printf("你选择了减法\n");
			break;
		case 'x':
			printf("你选择了乘法\n");
			break;
		case '/':
			printf("你选择了除法\n");
			break;
		default:
			printf("算法选择错误\n");
			return -1;
			break;

	}
	return 0;
}

void resultCalc(int data1,int data2,char suanFa)  //输出结果 
{
	switch(suanFa) {
		case '+':
			printf("两数相加,结果为:%d\n",add(data1,data2));
			break;
		case '-':
			printf("两数相减,结果为:%d\n",min(data1,data2));
			break;
		case 'x':
			printf("两数相乘,结果为:%d\n",mul(data1,data2));
			break;
		case '/':
			printf("两数相除,结果为:%f\n",chu(data1,data2));
			break;
		default:
			break;
	}
}

int calc(char suanFa)  //计算,调用前两个函数
{
	int data1;
	int data2;
	int ret;

	ret=tipsWhichCalc(suanFa);
	if(ret==-1)
		return -1;

	printf("请输入第一个数据:\n");
	scanf("%d",&data1);
	printf("请输入第二个数据:\n");
	scanf("%d",&data2);

	resultCalc(data1,data2,suanFa);
}

int main()
{
	int data1;
	int data2;
	int ret;
	char suanFa;

	int mark=0;
	while(1) {

		tips();
		if(mark != 0)
			getchar();			//吸收data2后的回车,不想一进来就被调用,所以用mark控制
		mark=1;
		scanf("%c",&suanFa);    //先输入了+,再输入回车
		getchar();              //回车符也是字符,getchar作用是把回车吸收掉

		ret=calc(suanFa);
		if(ret==-1) {
			printf("你输入了错误算法\n");
			break;
		}

	}

	return 0;
}
相关标签: c语言