所以我正在为我的课程作业制作一个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变量表达式中并退出程序?或者如果按下该键,我该怎么做才能退出程序?
答案 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);