Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350833
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:02:23

#include         //未实现,通过编译
#include
#include
#include
double jisuan(double a,double b,char ope)
{
    switch(ope)
    {
        case'+': return a+b;   break;
        case'-': return a-b;   break;
        case'*': return a*b;   break;
        case'/': return a/b;   break;
    }
}

double calculator(string str)
{
    getline(cin,str);
    vectornum;
    vectorope;
    istringstream sin(str);
    for(int i=0;i<=str.length();i++)
    {
        if(str[i]=='+'||str[i]=='-'||str[i]=='*'||str[i]=='/')
            ope.push_back(str[i]);
        else
            num.push_back(str[i]);
    }
    for(int i=0;i        if(ope[i]=='*'||ope[i]=='/')
        {
            jisuan(num[i],num[i+1],ope[i]);
            num.erase(num.begin()+i+1);
            ope.erase(num.begin()+i);
        }
    for(int i=0;i    {
            jisuan(num[i],num[i+1],ope[i]);
            num.erase(num.begin()+i+1);
            ope.erase(num.begin()+i);
    }
    return num.front();
}

int main()
{
    string s;
    cout<<"请输入计算表达式:"<    cout<<"计算结果:"<    cout<    getchar();
}

      //在BCB上通过了编译,但不能运行,不知那错了。恳请高手指点!初学编程,或许算法根本就是错的,请大家不要笑话!

--------------------next---------------------

阅读(1149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~