c++制作超级简易计算器

今天是第一次写博客,所以那里写的不好的地方可以建议一下。
那么我们现在进入正题,如果我们要制作一个简易的计算器,肯定首先想到的就是用字符串来实现。所以我们在代码前面就要定义字符串:

#include
#include
char s[110];//定义字符串 
char c;//定义一个字符 

定义之后呢,我们要进行小小的初始化。就是将c=‘Y’;随后用while循环来实现计算机的 整个操作流程。
第一步,就是打印出计算器的模板:

printf("           \n");
printf("Y 7 8 9 % /\n");
printf("N 4 5 6 * +\n");
printf("C 1 2 3 - =\n");
printf("  0 M+     \n");//打印模板 
printf("请输入算式");
scanf("%s",s);//输入字符串 

第二步,我们要字符数字转换成数字:

	int len=strlen(s);//求字符串 
	for(int i=0;i<=len;i++)
	{
		char c;//定义c 
		c=s[i];
		if(c=='+' || c=='-' || c=='*' || c=='/' || c=='=')
		{
			continue;
		}
		else
		{
			s[i]=s[i]-'0';
		}
		//把字符转换成数字

第三步,进行计算:

		c=s[i];
		if(c=='+')
		{
			t=s[i-1]+s[i+1];
			s[i+1]=t;
		}
		if(c=='-')
		{
			t=s[i-1]-s[i+1];
			s[i+1]=t;
		}
		if(c=='*')
		{
			t=s[i-1]*s[i+1];
			s[i+1]=t;
		}
		if(c=='/')
		{
			t=s[i-1]/s[i+1];
			s[i+1]=t;
		}
		//计算数字,并把结果放在s[i+1]

最后一步,将结果输出,并判断是否继续:

		if(c=='=')
		{
			printf("    %d     \n",s[i-1]);
			printf("Y 7 8 9 % /\n");
			printf("N 4 5 6 * +\n");
			printf("C 1 2 3 - =\n");
			printf("  0 M+     \n");
			//输出结果 
		}
		int a;
		printf("是否要关闭程序,1.是,0.否\n");
		scanf("%d",&a);
		if(a==0)
		{
			c='N';
		}
		else
		{
			c='Y';
		}
		//判断程序是否继续 

这样一个简单的计算器就出来啦。虽然只能算个位数整数计算并且答案超过一百会错,但是也可以当做模板来完善,如果有做得更好的同学欢迎来评论。
源代码:

#include
#include
char s[110];//定义字符串 
char c;//定义一个字符 
int main() 
{
	int t;//d定义一个 
	c='Y';//初始化 
	while(c!='N')
	{
		printf("           \n");
		printf("Y 7 8 9 % /\n");
		printf("N 4 5 6 * +\n");
		printf("C 1 2 3 - =\n");
		printf("  0 M+     \n");//打印模板 
		printf("请输入算式");
		scanf("%s",s);//输入字符串 
		int len=strlen(s);//求字符串 
		for(int i=0;i<=len;i++)
		{
			char c;//定义c 
			c=s[i];
			if(c=='+' || c=='-' || c=='*' || c=='/' || c=='=')
			{
				continue;
			}
			else
			{
				s[i]=s[i]-'0';
			}
			//把字符转换成数字 
		}
		for(int i=0;i<=len;i++)
		{
			c=s[i];
			if(c=='+')
			{
				t=s[i-1]+s[i+1];
				s[i+1]=t;
			}
			if(c=='-')
			{
				t=s[i-1]-s[i+1];
				s[i+1]=t;
			}
			if(c=='*')
			{
				t=s[i-1]*s[i+1];
				s[i+1]=t;
			}
			if(c=='/')
			{
				t=s[i-1]/s[i+1];
				s[i+1]=t;
			}
			//计算数字,并把结果放在s[i+1] 
			if(c=='=')
			{
				printf("    %d     \n",s[i-1]);
				printf("Y 7 8 9 % /\n");
				printf("N 4 5 6 * +\n");
				printf("C 1 2 3 - =\n");
				printf("  0 M+     \n");
				//输出结果 
			}
		}
		int a;
		printf("是否要关闭程序,1.是,0.否\n");
		scanf("%d",&a);
		if(a==0)
		{
			c='N';
		}
		else
		{
			c='Y';
		}
		//判断程序是否继续 
	}
	return 0;
}

谢谢阅读!

你可能感兴趣的:(c++制作)