这个应该怎么设计,求大佬解答

制作简单计算器。要求从键盘上进行加、减、乘、除四则运算(a运算符b形式输入),判断输入数据是否可以进行计算,若能计算,将计算结果输出。运行结果如下表所示。 请输入运算 (格式为数字a+(-,*,/)数字b) 80+120 200.000000

代码如下,如有帮助,请采纳一下,谢谢。


#include <stdio.h>
#include <stdlib.h>
#include <string>
int main()
{
	char buf[100] = {0};
	printf("请输入计算公式:");
	gets(buf);
	int len = strlen(buf);
	int index = 0;
	int type = -1; //0+ 1- *2 /3
	float a = 0.0;
	float b = 0.0;
	int i = 0;
	for (; i < len; i++ )
	{
		if (buf[i] == '+')
		{
			type = 0;
			break;
		}
		else if(buf[i] == '-')
		{
			type = 1;
			break;
		}
		else if(buf[i] == '*')
		{
			type = 2;
			break;
		}
		else if(buf[i] == '/')
		{
			type = 3;
			break;
		}
		
	}
	if (type != -1)
	{
		char tmp1[10] = {0};
		char tmp2[10] = {0};
		for (int j = 0; j < i;j++)
			tmp1[j] = buf[j];

		int k = 0;
		for(int j = i+1; j < len;j++,k++)
			tmp2[k] = buf[j];
		a = atof(tmp1);
		b = atof(tmp2);
		
		switch(type)
		{
		case -1:
			printf("无法计算\n");
			break;
		case 0:
			printf("%f\n",a + b);
			break;
		case 1:
			printf("%f\n",a - b);
			break;
		case 2:
			printf("%f\n",a * b);
			break;
		case 3:
			printf("%f\n",a / b);
			break;
		}
	}else
		printf("无法计算\n");
	

	//getchar();
	//getchar();
	return 0;
}