码迷,mamicode.com
首页 > 编程语言 > 详细

简单计算器 (c语言课程设计)

时间:2015-06-13 18:21:27      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

可以实现简单的加减乘除四则运算

#include<stdio.h>
#include<string.h>
#define MAX 10100
int main()
{
	int j,i,s,t,top,wrong;
	double n,m,sum;
	char fu,kongge,a;
	double zhan[MAX]; 
	printf("-----------------------欢迎使用简单计算器-----------------------\n");
	printf("输入@ 开始计算\n\n");
	printf("输入# 退出\n");
	scanf("%c",&a);
	if(a==‘@‘)
	{
		printf("------请输入所要求的式子-----------------------\n");
	    printf("------每个数据之间用空格隔开,例如1 + 2 + 3----\n");
	    printf("------点击回车代表输入结束,并输出结果---------\n");
		while(scanf("%lf",&n)!=EOF)
	    {
	    	memset(zhan,0,sizeof(zhan));
	    	kongge=getchar(); 
		    top=0;
		    zhan[top++]=n; 
		    scanf("%c",&fu);
		    kongge=getchar();wrong=0;
		    while(scanf("%lf",&n)!=EOF)
		    {	
		        if(fu!=‘*‘&&fu!=‘/‘&&fu!=‘+‘&&fu!=‘-‘)
			    {
			    	printf("您的输入有误,请重新输入\n");
			    	wrong=1;
			    	break;
			    }
			    if(fu==‘*‘)          //如果运算符是乘号或者除号则直接运算并且将参与运算的栈中的因式删去
                {                     //将得到的结果存入栈中
                    m=zhan[top-1];
                    m*=n;
                    zhan[top-1]=m;
                }
                else if(fu==‘/‘)
                {
                    m=zhan[top-1];
                    m/=n;
                    zhan[top-1]=m;
                }
                else if(fu==‘+‘)   //如果是加法则将其存入栈中
                zhan[top++]=n;
                else if(fu==‘-‘)//如果是减法将其相反数存入栈中
                zhan[top++]=-n;
                kongge=getchar();
                if(kongge==‘\n‘)
                break;
                scanf("%c",&fu);
		    }
		    if(wrong)
		    continue;
		    sum=0;
		    for(i=0;i<=top;i++)
		    {
			    sum+=zhan[i];
		    }
		    printf("您所要求的结果为:\n");
		    printf("%.2lf\n",sum);
	    }
    }
    else if(a==‘#‘)
    printf("------------------------谢谢使用-----------------------\n");
	return 0;
}
   

  

简单计算器 (c语言课程设计)

标签:

原文地址:http://www.cnblogs.com/tonghao/p/4573738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!