c++不检测大小写中的字符串

C++ not detecting string in cases

本文关键字:字符串 大小写 检测 c++      更新时间:2023-10-16

c++初学者。我已经尝试了很多方法来尝试修复这段代码,但我认为纠正它的方法远远超出了我所知道的范围。

switch (num)
{
case 0: enemy == "Ogre";
    enetotal = "250";
    enehealth = "250";
    eneattack = "5";
    break;
case 1: enemy == "Goblin";
    enetotal = "75";
    enehealth = "75";
    eneattack = "10";
    break;
case 2: enemy == "Orc";
    enetotal = "100";
    enehealth = "100";
    eneattack = "25";
    break;
case 3: enemy == "Dark Elf";
    enetotal = "70";
    enehealth = "70";
    eneattack = "15";
    break;
case 4: enemy == "Lizardman";
    enetotal = "200";
    enehealth = "200";
    eneattack = "20";
    break;
}

cout << "You walk past a field when you see a " + enemy +", what do you do? n";

基本上,应该发生的事情是,根据随机情况,它会为特定敌人选择一个名字和生命值/攻击。当我只有敌人的名字时,它工作得很好,但一旦我添加了攻击和生命值,它就会显示

You walk past a field when you see a, what do you do?

有些东西告诉我,case不能处理那么多行,但是我尝试了很多其他的东西,比如if语句,似乎都不起作用。有人能帮我解决这个问题吗?

您正在比较名称

enemy == "Orc"

而不是赋值

enemy = "Orc"

您的语法错误:==是测试,=是分配。