Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在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// ..... } intmain() { 堆栈a; 字符*表达式; 表达式=新字符[30]; 字符*温度; 温度=新字符[30]; int结果=0; 布尔标志=真; coutexpression; //还有代码吗// ..... }_C++ - Fatal编程技术网

如何在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// ..... } intmain() { 堆栈a; 字符*表达式; 表达式=新字符[30]; 字符*温度; 温度=新字符[30]; int结果=0; 布尔标志=真; coutexpression; //还有代码吗// ..... }

如何在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// ..... } intmain() { 堆栈a; 字符*表达式; 表达式=新字符[30]; 字符*温度; 温度=新字符[30]; int结果=0; 布尔标志=真; coutexpression; //还有代码吗// ..... },c++,C++,有没有一种方法可以让你的性格变得特别!按下,将其存储在char变量表达式中并退出程序?或者,每当按下该键时,我该如何退出程序?您必须实现自己的“从stdin读取内容”功能,以监视并相应地采取行动(可能直接调用exit(),或引发异常)。我会提供更多的信息,但你的问题没有要求提供细节。另外,如何解析表达式?我问beause恰好是阶乘运算符,用户可以输入它。您尝试过这个吗 if(strcmp(expression, "!") == 0) exit(0); 对不起,我是新来的,

有没有一种方法可以让你的性格变得特别!按下,将其存储在char变量表达式中并退出程序?或者,每当按下该键时,我该如何退出程序?

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

您尝试过这个吗

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

对不起,我是新来的,我不知道我是否可以在注释中写代码,所以我只写一个新的答案

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
while(true)
{    
coutexpression;
if(字符串(表达式).at(0)='!')
打破
…//在这里做事
}
出口(0);
//试试这个,告诉我是否有效。我觉得这个比上一个好

您的程序允许多线程吗?如果是,则将其编写为两个线程:一个用于轮询键盘,另一个用于检查!然后将项目添加到队列中,另一个用于解析队列。我确实尝试过,但没有成功,相反,程序甚至没有要求输入中缀表达式就打开了。有没有一个特别的地方我可以把这个放在哪里?很明显,是在cin之后。我相信你知道。试试这个:string(expression)。compare(“!”==0是的,很抱歉,我只是想确保我正确使用了它,你刚才给我的那个很有效,但只有一次,我需要程序能够循环到“!”为止我并没有问具体的问题,因为我不知道还有什么其他的方法可以做到这一点,程序的要点基本上是作为一个计算器,根据存储在char表达式中的中缀表达式来确定反向plosh表示法。但是,一旦用户按下“!”按钮,程序就可以终止。但是,在这种情况下,stdin函数将如何工作?如果您能为我解释一下,我将非常感激。这很有效,非常感谢,我以前尝试过一段时间(真的)循环,但没有使用字符串(表达式),非常感谢它现在运行得很好。