谁帮我编个C语言计算器的程序

要求是这样的程序首先显示计算器界面。123+-456*/789=#用户从键盘输入以上字符,忽略除此之外的其他字符输入。"#”屏幕显示0,重新开始计算。假如用户的一串输入将... 要求是这样的
程序首先显示计算器界面。
1 2 3 + -
4 5 6 * /
7 8 9 = #
用户从键盘输入以上字符,忽略除此之外的其他字符输入。"#”屏幕显示0,重新开始计算。
假如用户的一串输入将为22+1*2-3 。初始屏幕显示0,用户输入2,屏幕显示2,用户输入2,屏幕显示22,用户再输入+,屏幕显示22,用户输入1,屏幕显示1,当用户输入*,屏幕显示23,用户输入2,屏幕显示2,用户输入-,屏幕显示46 ,用户输入3,屏幕显示3,用户输入=,屏幕显示43。每次计算结束,计算表达式和结果记入文件。
(2)查看历史
显示历史表达式的值。
展开
 我来答
wellia0926
2009-07-04 · TA获得超过293个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
#include<conio.h>
int main()
{
int i,num1,num2,sum,count;
char ch,op;
printf("1 2 3 + - \n");
printf("4 5 6 * / \n");
printf("7 8 9 = # \n\n");
{
printf("0");
ch=getch();
while(ch<'0' || ch>'9')//输入的不是数字,重新输入
ch=getch();
printf("\b%c",ch);
count=1;
num1=ch-'0';
while(ch=getch(),ch>='0' && ch<='9')
{
putchar(ch);
num1=num1*10+ch-'0';
count++;
}
while(1)
{
op=ch;//符号
ch=getch();
while(ch<'0' || ch>'9')//输入的不是数字,重新输入
ch=getch();
for(i=0;i<count;i++)//回到行首
putchar('\b');
for(i=0;i<count;i++)//用空格覆盖
putchar(' ');
for(i=0;i<count;i++)//回到行首
putchar('\b');
putchar(ch);
count=1;
num2=ch-'0';
while(ch=getch(),ch>='0' && ch<='9')
{
putchar(ch);
num2=num2*10+ch-'0';
count++;
}
switch(op)
{
case '+':
sum=num1+num2;
break;
case '-':
sum=num1-num2;
break;
case '*':
sum=num1*num2;
break;
case '/':
sum=num1/num2;
break;
default :
break;
}
for(i=0;i<count;i++)//回到行首
putchar('\b');
for(i=0;i<count;i++)//用空格覆盖
putchar(' ');
for(i=0;i<count;i++)//回到行首
putchar('\b');
printf("%d",sum);
num1=sum;
count=1;
while(sum/=10)
count++;
if(ch=='#')
break;
}
}
}

还有很多问题,没有屏蔽其他符号,等号问题也没弄,结果没有保存,太烦了,不过运算是没问题了,基本功能还是实现了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laplac
2009-07-04
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
我已经发到你的邮箱了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南坪中学校帅
2009-07-04 · TA获得超过3413个赞
知道小有建树答主
回答量:1201
采纳率:100%
帮助的人:1083万
展开全部
只写起个界面
#include <iostream>

using namespace std;
void main()
{
for(int i=1;i<10;i++)
{
cout<<i<<" ";
if(i==3)
cout<<"+ "<<"-\n";
else if(i==6)
cout<<"* "<<"/\n";
else if(i==9)
cout<<"= "<<"#\n";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海笑认为

2009-07-04 · TA获得超过1538个赞
知道小有建树答主
回答量:1699
采纳率:0%
帮助的人:448万
展开全部
CSDN上一大堆,去下载被
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
atgc123
2009-07-04 · TA获得超过2512个赞
知道小有建树答主
回答量:1773
采纳率:50%
帮助的人:1102万
展开全部
太难 不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式