C ++ Beginner else语句不起作用

时间:2016-06-11 02:51:39

标签: c++ if-statement

我正在设计一个简单的RPG,只是为了让我开始使用C ++编码,但是我的其他声明不起作用,而且我觉得我的代码比它应该更笨重。你能不能给我一些关于如何改进我的代码以及如何修复else语句的技巧。我知道“系统(”cls“)”对所有东西都是仇恨,但我把它放在那里因为它使它看起来比其他方法更清洁。

顺便说一句,我仍然是C ++的新手

#include <iostream>
#include <windows.h>
#include <string>

using namespace std;
int save = 0;
int menuinput;
int raceinput;
string race;
int cont1;

int main(void)
{
        int save = 0;
        int menuinput;
        int raceinput;
        string race;
        int cont1;
        cout << "(Insert Generic RPG Name Here) \n";
        if (save == 1){
            cout << "Main Menu\n";
            cout << "[1.] Continue\n";
            cout << "[2.] New Game\n";
            cout << "[3.] Options\n";
            cin >> menuinput;


        }

        if (save == 0){
            cout << "Main Menu\n";
            cout << "[1.] New Game\n";
            cout << "[2.] Options\n";
            cin >> menuinput;
            system("cls");


        }

        if (menuinput == 1)
        {
            cout << "Please select your race\n";
            cout << "[1.] Human\n";
            cout << "[2.] Elf\n";
            cout << "[3.] Dwarf\n";
            cout << "[4.] Orc\n";
            cin >> raceinput;

            if (raceinput == 1){
                race = "Human";
                cont1 = 1;

            }
            if (raceinput == 2){
                race = "Elf";
                cont1 = 1;
            }
            if (raceinput == 3){
                race = "Dwarf";
                cont1 = 1;
            }
            if (raceinput == 4){
                race = "Orc";
                cont1 = 1;
            }
            else {
                system("cls");
                cout << "Invalid Input, please try again.";
                Sleep(1000);
                main();
            }
            if (cont1 = 1){
                system("cls");
                cout << race;
                cin >> race;

            }
            else
            {
                system("cls");
                cout << "Invalid Input, please try again.";
                Sleep(10000);
                main();
            }
        }


}

修改 重申一下,当我尝试使用第一个else语句(主菜单存在的地方)时,else语句不会激活,并立即结束程序。 else语句消息未显示。在第二个else语句中,else语句消息显示,但Sleep函数不起作用,它显示大约半毫秒然后消失。

1 个答案:

答案 0 :(得分:1)

这一行:if (cont1 = 1){

您有===

所以,你的其他事情永远不会发生,因为你没有检查如果 cont等于1,你使等于。< / p>