由于某种原因输入cin文本后,cout出现空白。有任何想法吗?

时间:2014-08-20 16:53:13

标签: c++ if-statement int cout cin

所以我想创建一个简单的文本RPG。但是,这个问题阻碍了我。

#include <iostream>

using namespace std;

int main()
{
    int input;
    long Sven;
    long Macy;

    cout<<"Choose your Character- 1.Sven or 2.Macy: ";
    cin>>input;
    cin.ignore();

    if ( input == Sven ){
        cout<<"Welcome to CRPG, my good Sir!";
    }

    if ( input == Macy ){
        cout<<"Girls cant fight, go back: ";
    }
}

所以这里的代码就是我现在拥有的代码。当我运行程序时,它允许我输入我想要选择的字符的名称。但是,输出始终只是文本的空白区域。我或多或少是C ++的新手,但我有很好的先验知识。任何帮助都很棒。

1 个答案:

答案 0 :(得分:2)

什么让我失望的是当你说它允许我输入我想要选择的角色的名字

在这种情况下,请继续比较字符串:

编辑:正如穆罕默德建议的那样,比较字符串可以直接完成:

string input;

cout<<"Choose your Character- 1.Sven or 2.Macy: ";
cin>>input;
cin.ignore();

if ( input == "Sven" ){
    cout<<"Welcome to CRPG, my good Sir!";
}

else if ( input == "Macy"){
    cout<<"Girls cant fight, go back: ";
}