如何通过按特殊字符来终止我在c ++上的程序!'?

时间:2014-09-14 03:50:38

标签: c++

所以我正在为我的课程作业制作一个c ++计算器,我需要通过按特殊字符来退出程序。我尝试了一个do / while循环,一个while循环,甚至是来自库windows.h的GetAsyncKeyState,但似乎没有任何效果。我的程序的主要功能看起来像这样:

   int main()
    {
       Stack<char> a;
       char * expression;
       expression=new char[30];
       char * temp;
       temp=new char[30];
       int result=0;
       bool flag=true;

       cout<<"Enter an Infix Expression:";
       cin>>expression;
       //some more code//
       .....
    }

有没有办法在按下特殊字符时,将它存储在char变量表达式中并退出程序?或者如果按下该键,我该怎么做才能退出程序?

3 个答案:

答案 0 :(得分:1)

你必须实现自己的“从stdin读取东西”功能,它会监视!并相应地采取行动(可能直接调用exit()或抛出异常)。我会提供更多信息,但您的问题不会要求具体细节。另外,你是如何解析表达式的?我问beause !恰好是用户可能输入的阶乘运算符。

答案 1 :(得分:1)

抱歉,我是新来的,我不知道我是否可以在评论中编写代码,所以我只想写一个新答案

while(true)
{    
    cout<<"Enter an Infix Expression:";
    cin>>expression;
    if(string(expression).at(0) == '!')
       break;

    ... //do your things here
}
exit(0);
//try this, and tell me if it works. I think this is better than the last one

答案 2 :(得分:0)

你试过这个吗?

   if(strcmp(expression, "!") == 0)
        exit(0);