如果用户输入“ q”,则程序退出

时间:2018-11-20 22:30:02

标签: c++

我有此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');
}

4 个答案:

答案 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);
}