int main()
{
int cstats, choice;
int rhp, hp, i, init, atk, def, matk, mdef, dmg, mdmg, agi, magi;
cout << "Please choose your specialty: ";
cout << "[1] Offense [2] Magic [3] Defense [4] Speed";
switch(cstats)
case 1:
atk = 15;
def = 5;
agi = 5;
break;
}
这是我在开始时的路线。正如您在代码中看到的那样。我想使用switch语句有一个不同的整数,但是当我总是把它打破;继续下一个案例我总是遇到问题。是否可以使用switch对整数进行选择?或者我做错了?我正在为我的案例研究制作一个基于文本的游戏,以便在周五通过。
先谢谢。干杯!
答案 0 :(得分:1)
您的语法有点偏离 - 您需要将switch
块括在花括号中:
switch(cstats)
{
case 1:
atk = 15;
def = 5;
agi = 5;
break;
}
答案 1 :(得分:1)
除了switch语句中缺少大括号外。 cstats
未定义,在以某种方式定义之前读取它是未定义的行为。
在此处了解如何从命令行获取整数:http://www.cplusplus.com/forum/articles/6046/
顺便说一下,你应该总是定义你的变量,最好是在初始化时,它更安全,并且当你有数千行代码时更容易调试,而且正在发生的事情完全没有意义,通常是具有未定义行为的情况。
答案 2 :(得分:1)
int main()
{
int cstats, choice;
int rhp, hp, i, init, atk, def, matk, mdef, dmg, mdmg, agi, magi;
cout << "Please choose your specialty: ";
cout << "[1] Offense [2] Magic [3] Defense [4] Speed";
cin >> cstats;
switch(cstats)
{
case 1:
atk = 15;
def = 5;
agi = 5;
break;
case 2:
//other code
break;
....
default:
//Here you can prompt to select 1,2,3 or 4
}
}