用C语言编写一个类似计算器的程序. 10
要求该程序能够执行加减乘除运算,用switch语句做菜单,供使用者选择功能,要求有输入输出.急求!!!!!我就这么多分了。都给了,要清晰的C语言程序编码~...
要求该程序能够执行加减乘除运算,用switch语句做菜单,供使用者选择功能,要求有输入输出. 急求!!!!!我就这么多分了。都给了,要清晰的C语言程序编码~
展开
展开全部
/* 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());
}
}
这个源程序。。。但是你那个供使用者选择功能是什么意思???这个还有什么功能的吗??
#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());
}
}
这个源程序。。。但是你那个供使用者选择功能是什么意思???这个还有什么功能的吗??
展开全部
#include <iostream>
#include <cmath>
using namespace std;
const int MaxStackSize=50;
#include"Char_Stack.cpp"
#include"Int_Stack.cpp"
#include"Houzhui.cpp"
#include <cmath>
using namespace std;
const int MaxStackSize=50;
#include"Char_Stack.cpp"
#include"Int_Stack.cpp"
#include"Houzhui.cpp"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在开源社区有完整计算器的源代码,请参考
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
10分。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询