| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 711 人关注过本帖
标题:有关逆波兰计算器的程序,帮忙分析一下!!!!
取消只看楼主 加入收藏
水晶宝宝
Rank: 2
来 自:江西
等 级:禁止访问
帖 子:11
专家分:15
注 册:2009-10-30
结帖率:100%
收藏
已结贴  问题点数:1 回复次数:0 
有关逆波兰计算器的程序,帮忙分析一下!!!!
计算器(1-2)*(4+5),用逆波兰计算机表示成12-45+*,逆波兰计算器可以用来说明外部变量的用法,程序用到栈的知识,还包含了四个文件。
第一个文件main.c

#include <stdio.h>
#include <stdlib.h>
#define maxop 100
#define number '0'
int getop (char []);
void push (double f);
double pop (void);
int main (void)
{
    int type;
    double op2;
    char s[maxop];
    while ((type=getop(s))!='x')
    {
        switch(type)
        {
        case number:
            push(atof(s));
            break;
        case '+':
            push(pop()+pop());
            getchar();
            break;
        case '*':
            push(pop()*pop());
            getchar();
            break;
        case '-':
            op2=pop();
            push(pop()-op2);
            getchar();
            break;
        case '/':
            op2=pop();
            if(op2!=0)
                push(pop()/op2);
            else
                printf("error:zero divisor \n");
            getch();
            break;
        case '=':
            printf("result is:\t%.8g\n",pop());
            break;
        default:
            printf("error :unknow command %s\n",s);
            break;
        }
    }
    return 0;



错误提示说 红色部分出错,但是我改成getchar();之后又出现四个错误,帮忙分析一下,后面还有三个文件,一个一个来
搜索更多相关主题的帖子: 计算器 波兰 
2009-10-30 19:50
快速回复:有关逆波兰计算器的程序,帮忙分析一下!!!!
数据加载中...
 
   



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

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