用C语言编写一个类似计算器的程序. 10

要求该程序能够执行加减乘除运算,用switch语句做菜单,供使用者选择功能,要求有输入输出.急求!!!!!我就这么多分了。都给了,要清晰的C语言程序编码~... 要求该程序能够执行加减乘除运算,用switch语句做菜单,供使用者选择功能,要求有输入输出. 急求!!!!!我就这么多分了。都给了,要清晰的C语言程序编码~ 展开
 我来答
蓝秀枫
2011-05-15 · 超过11用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:30.5万
展开全部
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"
int n=0;
char record[20];
float product();
float change();
float muli()
{
float summ;
summ=product();
while(record[n]=='-'||record[n]=='+')
{
switch(record[n])
{
case '+':n++;summ+=product();break;
case '-':n++;summ-=product();break;
}
}
return summ;
}
float product()
{
float sump;
sump=change();
while(record[n]=='*'||record[n]=='/')
{
switch(record[n])
{
case '*':n++;sump*=change();break;
case '/':n++;sump/=change();break;
}
}
return sump;
}
float change()
{
float sumc;
char rec[20],i=0;
if(record[n]=='(')
{
n++;
sumc=muli();
}
if(record[n]==')')
n++;
while(isdigit(record[n])||record[n]=='.')
{
while(isdigit(record[n])||record[n]=='.')
rec[i++]=record[n++];
rec[i]='\0';
sumc=atof(rec);
}
return sumc;
}
void main()
{
while(1)
{
n=0;
scanf("%s",record);
printf("%s=%g\n",record,muli());
}

}
这个源程序。。。但是你那个供使用者选择功能是什么意思???这个还有什么功能的吗??
彦领
2011-05-17
知道答主
回答量:29
采纳率:0%
帮助的人:14.3万
展开全部
#include <iostream>
#include <cmath>
using namespace std;
const int MaxStackSize=50;

#include"Char_Stack.cpp"
#include"Int_Stack.cpp"
#include"Houzhui.cpp"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3949831d5
2011-05-10 · TA获得超过442个赞
知道小有建树答主
回答量:657
采纳率:0%
帮助的人:339万
展开全部
在开源社区有完整计算器的源代码,请参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freestylehll
2011-05-10 · 超过27用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:81.7万
展开全部
10分。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式