| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1930 人关注过本帖
标题:求"计算器"源码
只看楼主 加入收藏
flame
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-12-15
收藏
得分:0 
好啊好啊,我蛮期待的,我觉得应该用栈来弄,难度不会很大的.

随风飘逝,叶子与我飞翔,随海飘逝,鱼儿与我追逐,随心飘逝,却只有寂寞与我相伴!
2005-12-15 20:11
炎黄の怒
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-12-15
收藏
得分:0 
期待

2005-12-15 20:14
newtonoxen
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-5-12
收藏
得分:0 
#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
int v[10]={0,100,2, 1, 1, 1,0,2};// 40 41 42 43 44 45
vector<char>c;
vector<int>p;
int compute(int y,int x,char r)
{
if(r=='+') return y+x;
if(r=='-') return y-x;
if(r=='*') return y*x;
if(r=='/') return y/x;
return 0;
}
int main()
{
// char g;int h;while(cin>>g) { h=int(g); cout<<h<<endl; }
char s[30],b;
int t=0,lg,i,x,y;
cout<<"请输入一个表达式,输入end结束"<<endl;
while(gets(s))
{
if(!strcmp(s,"end")) break;
lg=strlen(s);
c.push_back('\0');
for(i=0;i<lg;i++) {
if(s[i]=='+'||s[i]=='-'||s[i]=='/'||s[i]=='*')
{
b=c.back();
if(b=='\0'||v[s[i]-'(']>v[b-'(']) c.push_back(s[i]);
else
{
c.pop_back();
x=p.back();p.pop_back();
y=p.back();p.pop_back();
t=compute(y,x,b);
p.push_back(t);
c.push_back(s[i]);
}
}
if(s[i]=='(') c.push_back(s[i]);
if(s[i]==')') {
b=c.back();c.pop_back();
while(b!='(')
{
x=p.back();p.pop_back();
y=p.back();p.pop_back();
t=compute(y,x,b);
p.push_back(t);
b=c.back();c.pop_back();
}
}
if(s[i]>='0'&&s[i]<='9')
{
t=0;
while(s[i]>='0'&&s[i]<='9')
{
t=t*10+s[i++]-'0';
}
i--;
p.push_back(t);
}
}
b=c.back();c.pop_back();
while(b!='\0')
{
x=p.back();p.pop_back();
y=p.back();p.pop_back();
t=compute(y,x,b);
p.push_back(t);
b=c.back();c.pop_back();
}
t=p.back();p.pop_back();
cout<<t<<endl;
for(i=0;i<c.size();i++)
cout<<c[i]<<endl;
}
return 0;
}
2005-12-18 22:42
newtonoxen
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-5-12
收藏
得分:0 

只能算整数,挺好用的

2005-12-18 22:43
MichaelRain
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-12-19
收藏
得分:0 
为什么不用VC呢?
VC应该更简单

2005-12-19 11:19
高阁逆风
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:508
专家分:321
注 册:2006-4-29
收藏
得分:0 
期待中!
如果做好了,知会我一声,谢谢!
jx_liuxing@126.com

      上天安排我做了个多情的人,却又安排我遭遇了无数绝情的人,所以我最终把自己磨练成了一个滥情的人。别人是人见人爱,我是见人爱人.......
2006-06-05 19:06
phycise
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-6-29
收藏
得分:0 
用MFC做更简单一些!!!!!!!!!!
2006-07-04 10:58
快速回复:求"计算器"源码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017164 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved