我正在尝试制作角色定制程序。我想将从switch语句收到的信息存储到storePlayerRace变量中。我试图将该信息作为参考。我不知道如果这是正确的做法。这个问题真的很困扰我,因为它应该这么简单。每次运行此命令时,cout语句都不会向屏幕输出任何文本。我希望选择的比赛输出到屏幕。任何相关的帮助非常感谢! **我试图打破switch语句的范围。
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
string characterName(string x){
return x;
}
string characterRace(string &x){
return x;
}
int main()
{
string name;
string storePlayerName;
string storePlayerRace;
int race;
cout << "<------Character Creation------->" << endl;
cout << "\n\n Enter Character name " << endl;
getline(cin,name);
storePlayerName = characterName(name);
cout << "\n Select Race " << endl;
cout << "1: White";
cout << "\n2: Black\n";
cin >> race;
switch(race){
case 1:
{
string white;
storePlayerRace = characterRace(white);
}break;
case 2:
{
string black;
storePlayerRace = characterRace(black);
}break;
}
cout << storePlayerRace << endl;
cout << "End of Program" << endl;
getchar();
system("PAUSE");
}
答案 0 :(得分:4)
string white;
string black;
这两行只定义空字符串,其中没有文字。我认为你的意思是:
string white = "white";
string black = "black";
此外,我不确定你的characterRace()
函数究竟要完成什么,目前它是无操作的,因此可以简化为:
case 1:
storePlayerRace = "white";
break;
case 2:
storePlayerRace = "black";
break;
答案 1 :(得分:0)
您应该在switch语句中初始化string white
和string black
变量。
EG:
string white = "white";
string black = "black";