亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? postfix.cpp

?? C++編成數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計方法 D.S.Malk編著
?? CPP
字號:
//Postfix Calculator  

#include <iostream>
#include <iomanip>
#include <fstream>
#include "mystack.h"

using namespace std;

void evaluateExpression(ifstream& inpF, ofstream& outF, 
                        stackType<double>& stack,
                        char& ch, bool& isExpOk);
void evaluateOpr(ofstream& out, stackType<double>& stack,
                 char& ch, bool& isExpOk);
void discardExp(ifstream& in, ofstream& out, char& ch);
void printResult(ofstream& outF, stackType<double>& stack,
                 bool isExpOk);

int main()
{
    bool expressionOk;
    char ch;
    stackType<double> stack(100);
    ifstream infile;
    ofstream outfile;
 
    infile.open("a:\\RpnData.txt");

    if (!infile)
    {
        cout << "Cannot open the input file. "
             << "Program terminates!" << endl;
        return 1;
    }

    outfile.open("a:\\RpnOutput.txt");

    outfile << fixed << showpoint;
    outfile << setprecision(2); 

    infile >> ch;
    while (infile)
    {
        stack.initializeStack();
        expressionOk = true;
        outfile << ch;

        evaluateExpression(infile, outfile, stack, ch, 
                           expressionOk);
        printResult(outfile, stack, expressionOk);
        infile >> ch; //begin processing the next expression
    } //end while 

    infile.close();
    outfile.close();

    return 0;

} //end main


void evaluateExpression(ifstream& inpF, ofstream& outF, 
                        stackType<double>& stack,
                        char& ch, bool& isExpOk)
{
    double num;

    while (ch != '=')
    {
        switch (ch)
        {
        case '#': 
            inpF >> num;
            outF << num << " ";
            if (!stack.isFullStack())
                stack.push(num);
            else
            {
                cout << "Stack overflow. "
                     << "Program terminates!" << endl;
                exit(0);  //terminate the program
            }

            break;
        default: 
            evaluateOpr(outF, stack, ch, isExpOk);
        }//end switch

        if (isExpOk) //if no error
        {
            inpF >> ch;
            outF << ch;

            if (ch != '#')
                outF << " ";
        }
        else
            discardExp(inpF, outF, ch);
    } //end while (!= '=')
}


void evaluateOpr(ofstream& out, stackType<double>& stack,
              char& ch, bool& isExpOk)
{
    double op1, op2;

    if (stack.isEmptyStack())
    {
        out << " (Not enough operands)";
        isExpOk = false;
    }
    else
    {
        op2 = stack.top();
        stack.pop();

        if (stack.isEmptyStack())
        {
            out << " (Not enough operands)";
            isExpOk = false;
        }
        else
        {
            op1 = stack.top();
            stack.pop();

            switch (ch)
            {
            case '+': 
                stack.push(op1 + op2);
                break;
            case '-': 
                stack.push(op1 - op2);
                break;
            case '*': 
                stack.push(op1 * op2);
                break;
            case '/': 
                if (op2 != 0)
                    stack.push(op1 / op2);
                else
                {
                    out << " (Division by 0)";
                    isExpOk = false;
                }
                break;
            default:  
                out << " (Illegal operator)";
                isExpOk = false;
            }//end switch
        } //end else
    } //end else
} //end evaluateOpr


void discardExp(ifstream& in, ofstream& out, char& ch)
{
    while (ch != '=')
    {
        in.get(ch);
        out << ch;
    }
} //end discardExp

void printResult(ofstream& outF, stackType<double>& stack,
                 bool isExpOk)
{
    double result;

    if (isExpOk) //if no error, print the result
    {
        if (!stack.isEmptyStack())
        {
            result = stack.top();
            stack.pop();

            if (stack.isEmptyStack())
                outF << result << endl;
            else
                outF << " (Error: Too many operands)" << endl;
        } //end if
        else
            outF << " (Error in the expression)" << endl;
    }
    else
        outF << " (Error in the expression)" << endl;

    outF << "_________________________________" 
         << endl << endl;
} //end printResult

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区三区四区| 欧美xxxx老人做受| 午夜精品久久久久影视| 精品国产一区二区三区四区四 | 亚洲高清久久久| 欧美成人三级电影在线| 国产精品91一区二区| 亚洲一区二区黄色| 从欧美一区二区三区| 蜜桃av一区二区三区| 精品国产乱码久久久久久浪潮 | 最近中文字幕一区二区三区| 欧美美女黄视频| 岛国av在线一区| 亚洲成人动漫一区| 中文字幕精品一区二区三区精品| 欧美亚洲国产bt| 粉嫩嫩av羞羞动漫久久久| 天堂在线亚洲视频| 中文字幕一区二区三区精华液| 欧美电影精品一区二区| 欧美日韩一区视频| 91麻豆6部合集magnet| 韩国成人福利片在线播放| 亚洲一区二区三区国产| 91精品国产综合久久久久| 欧美性猛片xxxx免费看久爱| 不卡的av中国片| 国产成人精品1024| 日本va欧美va欧美va精品| 中文字幕一区二区三区四区| 26uuu国产一区二区三区| 欧美精品少妇一区二区三区| 国产不卡一区视频| 精品在线一区二区三区| 日韩精品免费专区| 亚洲成人黄色影院| 中文字幕中文字幕在线一区 | 久久久精品天堂| 欧美高清性hdvideosex| 欧美综合在线视频| 99国产精品国产精品久久| 国产专区综合网| 国产一区二区三区蝌蚪| 激情成人午夜视频| 蜜臀久久99精品久久久画质超高清| 艳妇臀荡乳欲伦亚洲一区| 综合分类小说区另类春色亚洲小说欧美| 国产一区二区三区免费播放| 激情综合色综合久久综合| 精品无人码麻豆乱码1区2区| 国产露脸91国语对白| 成人免费毛片片v| 99国内精品久久| 91久久免费观看| 欧美肥妇free| 亚洲精品一线二线三线无人区| 久久久久久夜精品精品免费| 国产精品乱人伦| 夜夜揉揉日日人人青青一国产精品| 亚洲午夜电影网| 极品尤物av久久免费看| 成人v精品蜜桃久久一区| 91国产视频在线观看| 欧美丰满一区二区免费视频| 精品国产一区二区三区不卡 | 成人网页在线观看| 91久久奴性调教| 欧美不卡一区二区三区四区| 欧美激情一区二区在线| 亚洲欧美另类小说视频| 日本怡春院一区二区| 国产在线精品国自产拍免费| 成人高清av在线| 7777女厕盗摄久久久| 国产喷白浆一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 美女任你摸久久| 成人综合在线视频| 欧美日韩国产另类一区| 久久精品亚洲乱码伦伦中文| 一区二区三区不卡视频在线观看| 香蕉久久一区二区不卡无毒影院 | 欧美国产一区二区| 亚洲成人久久影院| 国产成人啪午夜精品网站男同| 91麻豆视频网站| 一区二区三区中文在线| 一区二区三区欧美亚洲| 久久精品国产澳门| 一本一道久久a久久精品| 精品日韩99亚洲| 一区二区三区中文字幕在线观看| 久草精品在线观看| 欧美色图12p| 中文字幕中文字幕在线一区| 精品一区二区三区免费视频| 在线观看视频一区| 国产午夜精品在线观看| 日韩av中文字幕一区二区 | 欧美日韩精品欧美日韩精品一 | 99久久精品一区| 日韩欧美国产综合一区| 夜夜夜精品看看| jiyouzz国产精品久久| 精品国产一区二区三区久久久蜜月| 亚洲自拍另类综合| 91丨porny丨最新| 久久精品欧美日韩| 美女视频一区二区三区| 欧美久久一二三四区| 亚洲你懂的在线视频| 成人免费毛片aaaaa**| 亚洲精品一区二区三区香蕉| 亚洲成av人影院| 欧美在线一二三| 一卡二卡欧美日韩| 91在线国内视频| 中文字幕一区二区三区不卡 | 日本美女视频一区二区| 在线免费观看一区| 亚洲三级小视频| 99精品久久99久久久久| 中国av一区二区三区| 国产大陆精品国产| 久久精品一区四区| 国产精品一区二区在线观看不卡| 日韩欧美一级二级三级| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美嫩在线观看| 亚洲综合在线五月| 在线视频亚洲一区| 亚洲精品久久久蜜桃| 91黄色免费看| 亚洲一级不卡视频| 欧美日韩一区在线| 三级亚洲高清视频| 欧美videos中文字幕| 久久99这里只有精品| 精品国内片67194| 国产一区二区三区四区在线观看| 久久综合久久鬼色| 国产成人免费在线视频| 国产精品麻豆久久久| 99久久婷婷国产精品综合| 亚洲欧洲色图综合| 91国产免费看| 天天影视涩香欲综合网| 日韩一区二区三区在线观看| 久久se精品一区二区| 久久精品亚洲国产奇米99| 成人av在线一区二区| 亚洲日本电影在线| 欧美性videosxxxxx| 日本成人中文字幕在线视频| 欧美大胆人体bbbb| 国产精品羞羞答答xxdd| 国产精品电影一区二区| 欧美影院午夜播放| 日韩avvvv在线播放| 久久精品一二三| 在线观看欧美黄色| 蜜桃视频在线观看一区| 国产色一区二区| 欧美无乱码久久久免费午夜一区| 免费在线一区观看| 中文字幕永久在线不卡| 欧美精品丝袜久久久中文字幕| 久久国产精品色婷婷| 中文字幕欧美区| 欧美色图一区二区三区| 久久av老司机精品网站导航| 亚洲欧洲精品一区二区精品久久久 | 亚洲三级在线观看| 日韩亚洲欧美一区二区三区| 成人精品视频一区二区三区 | 日韩精品一区二区三区swag | 成人美女在线观看| 亚洲综合色成人| 日韩精品一区二区三区在线播放 | 欧美少妇性性性| 国产成人高清视频| 日韩精品电影一区亚洲| 亚洲国产精品成人综合| 欧美日本在线播放| av一区二区三区在线| 毛片不卡一区二区| 樱花草国产18久久久久| 久久久久久久久久看片| 欧美日韩精品综合在线| 成人激情黄色小说| 免费在线看成人av| 亚洲精品日产精品乱码不卡| 久久这里只有精品首页| 欧美午夜不卡视频| 91网址在线看| 国产丶欧美丶日本不卡视频| 日韩高清一区在线| 亚洲黄色尤物视频| 国产精品乱码久久久久久|