我有此C ++代码,我正在尝试执行以下操作:
提示用户输入“ p”进行播放或“ q”退出,如果用户输入任何内容“ p”,则程序将继续,如果用户输入“ q”,则程序将终止并且输入的内容无效输入,它也会终止。我该怎么办?。
谢谢
代码如下:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int Umain = 0;
double Atemp = 0;
double Utemp = 0;
double Working = 0;
double Total = 0;
char Answer = 'x';
void displayOverview ();
void playOrQuit();
void promptNumber();
int main(){
displayOverview();
playOrQuit();
promptNumber();
return 0;
}
void displayOverview(){
}
void playOrQuit(){
string playOrNot;
cout << "If you want to play please press 'p' for play, and 'q' if you wish to quit\n";
cin >> playOrNot;
if(playOrNot == "p"){
cout << "Awesome, lets start playing !!! \n";
}if(playOrNot == "q"){
cout << "Alright then, see you soon !!\n";
}
}
void promptNumber(){
do{
cout << "Please Enter numbers between 1 and 12: ";
cin >> Umain;
cout << "\n";
for (Utemp = Umain; Utemp > 0; Utemp--)
{
cout << "Please enter a number: ";
cin >> Atemp;
Working = (Working + Atemp);
}
}while (Answer == 'y');
}
答案 0 :(得分:4)
只需在检测到按下“ q”后向exit
添加呼叫即可:
}if(playOrNot == "q"){
cout << "Alright then, see you soon !!\n";
exit(0); // <=== Add this here
使用0
退出通常意味着程序以预期的方式退出并且没有任何错误。
答案 1 :(得分:3)
执行此操作的通常方法是让PlayOrQuit
返回bool
,其中true
的意思是“继续比赛”,而false
的意思是“退出”。使用该函数控制循环:
while (PlayOrQuit()) {
// game logic goes here
}
这样,您可以在游戏循环后放置任何适当的清除代码,而不必从功能内部向下强制退出。
答案 2 :(得分:1)
有两种方法可以实现此目的。 但是我建议您包括stdlib.h库,并在要退出程序的else语句中使用system(“ exit”)。
答案 3 :(得分:0)
添加end(),返回0或exit(0)。 用你的大脑,如果你需要这个,那么我会记住你过去发现的最近的事情。
因此您从未犯过此类错误。
}if(playOrNot == "q"){
cout << "Alright then, see you soon !!\n";
exit(0);
}