C++ 由于某种原因,在输入cin文本后,cout显示为空白。有什么想法吗?
所以我尝试创建一个简单的文本RPG。但是,这一个问题阻碍了我C++ 由于某种原因,在输入cin文本后,cout显示为空白。有什么想法吗?,c++,if-statement,int,cout,cin,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 (
#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: ";
}
}
#包括
使用名称空间std;
int main()
{
int输入;
龙斯文;
长梅西;
库廷普特;
cin.ignore();
如果(输入=Sven){
cout让我恼火的是当你说它允许我键入我想要选择的角色的名称时
在这种情况下,继续比较字符串:
编辑:正如Mohammed所建议的,可以直接比较字符串:
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: ";
}
字符串输入;
库廷普特;
cin.ignore();
如果(输入=“Sven”){
coutSven
和Macy
不是赋值。它们可以包含任何内容。给它们赋值,比如long Sven=1;
和long Macy=2;
当你声明它们moh kk时,我会试试。谢谢。编辑:它不起作用。我甚至试过if(input==1)
带有long Sven=1;
。仍然为空。将cin.ignore()
移动到程序的最末尾。您键入的字符串是什么?您应该键入1
或2
。如果您在控制台中键入Sven
或Macy
,请使用std::string
,并与Sven>进行比较
和“梅西”
。只需刷新cout
即可查看实际输出:putcout当您使用std::string
时,为什么strcmp
呢?是的,我指的是C string。在这种情况下,您可以使用==或std::string::compare。加入一个else
,您就得到了我的答案:pHaha是的。我只是不想对代码做太多的更改虽然谢谢你的指点,我还是会的。