标题:有关逆波兰计算器的程序,帮忙分析一下!!!!
取消只看楼主
水晶宝宝
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290512-1-1.html




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

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