继续运行程序,直到用户输入退出

时间:2015-10-21 00:55:57

标签: c++ arrays stack

我的主要功能

int main(){
Postfix post;
char size=100;
char infix[size];
string get_input=" ";


  cout<<"Input Infix";
  cin>>infix;
    int  size=strlen(infix);
    char postfix[size];
    post.infix_to_postfix(infix, postfix, size);
    cout<<"\nInfix Expression is:"<<"  "<<infix;
    cout<<"\nPostfix Expression is:"<<"  "<<postfix;
    cout<<endl;

程序将中缀转换为带有堆栈的后缀表示法。我的问题是,有没有办法保持循环,直到用户不想。 与此相似

   int n;
  cin>>n;

  while (n!=0){
  // keep doing whatever
 }

2 个答案:

答案 0 :(得分:3)

以下两种方法可以做到这一点.. 首先是建议使用std::string它会让你的生活变得轻松。尽量把它包含在你的编码习惯中..

while (std::getline(std::cin, line) && !line.empty())
{
    //write your logic here
}

要打破循环,用户必须按enter

第二种方式

std::string str;
while(std::cin>>str)
{
//write your logic here
}

要打破循环,请按ctrl+D

答案 1 :(得分:1)

你可以这样做:

while(cin >> infix){
    // your code here....
}

当用户按下“ctrl + Z”

时,程序将停止用户输入