list3-18.cpp

来自「这是关于VC++中的STL容器的资料,包括了STL容器各个类之间关系以及类的说明」· C++ 代码 · 共 55 行

CPP
55
字号
#include <iostream>
#include <string>
#include <sstream>

using namespace std;


int main(int argc, char *argv[])
{
   char Character;
   int LeftParen = 0;
   int RightParen = 0;
   int ValidExpression = 1;
   int Count = 1;
   stringstream Mystream;
   for(Count = 1;Count < argc;Count++)
   {
       Mystream << argv[Count];
   }
   Mystream << ends;
   if(Mystream.peek() == ')') {
      ValidExpression = 0;
   }
   Mystream.seekg(0,ios::end);
   Mystream.unget();
   if(Mystream.peek() == '('){
      ValidExpression = 0;
   }
   Mystream.seekg(0,ios::beg);
   while(ValidExpression && Mystream.good())
   {

       Mystream.get(Character);
       if (Mystream.good() && !Mystream.eof()){
          cout.put(Character);
          if(Character == ')'){
             RightParen++;
          }
          if(Character == '('){
             LeftParen++;
          }
          if(RightParen > LeftParen){
             ValidExpression = 0;
          }
       }
    }
    if(RightParen != LeftParen){
       ValidExpression = 0;
    }
    if(!ValidExpression){
       cerr << "Unbalanced Parenthesis" << endl;
    }
    return(ValidExpression);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?