字符串的判断语句 相关问题请求解答

问题遇到的现象和发生背景

//21.创建一个函数,接受伤害和速度(每秒攻击次数),并在给定时间后返回伤害量。
//例子
//伤害(40, 5,“秒”)➞200
//伤害(100, 1,“分钟”)➞6000
//伤害(2, 100,“小时”)➞720000
//如果伤害或速度为负值则返回0

用代码块功能插入代码,请勿粘贴截图

int show(int a, int b, char c)
{
int n = 0;
if (c == '秒')
{
n = a * b * 1;
}
if (c == '分钟')
{
n = a * b * 60;
}
if (c == '小时')
{
n = a * b * 360;
}
if (n < 0)
{
cout << 0 << endl;;
}
else
{
cout << n << endl;
}
}
int main()
{
cout << show(100, 1, '分钟') << endl;
}

运行结果及报错内容

img

我的解答思路和尝试过的方法

if和switch 判断都试了 不知道问题出在哪里 求解答

秒是中文,不能用单引号,也不能用char类型,得用char数组才行

int show(int a, int b, char *c)
{
int n = 0;
if (strcmp(c, "秒")==0)
{
n = a * b * 1;
}
if (strcmp(c, "分钟")==0)
{
n = a * b * 60;
}
if (strcmp(c, "小时")==0)
{
n = a * b * 360;
}
if (n < 0)
{
cout << 0 << endl;;
}
else
{
cout << n << endl;
}
}
int main()
{
cout << show(100, 1, "分钟") << endl;
}