gpt4 book ai didi

C++ char类型输入,int类型输出

转载 作者:行者123 更新时间:2023-11-30 03:05:55 26 4
gpt4 key购买 nike

我正在上我的第一门 C++ 课,但我被卡住了。我非常感谢你们经验丰富的程序员的帮助。

作业是创建二十一点计分程序。不是很现实,但是嘿。用户输入他想要多少张牌,然后输入每张牌的值(value)。该赋值指定输入应为 char 类型。因此,如果用户有一张 2 卡,他们输入 2,但该 2 实际上是 char 并且必须转换为 int。或者,如果他们有皇后,他们会输入“Q”,而我的程序应该将该 Q 转换为 10 分以进行计分。我不知道什么是正确的方法来做到这一点。作业建议我将使用 switch 语句或嵌套的 if-else 语句,但恐怕我不太了解 switch从书中的例子。

下面是我对 switch 的一些尝试。 *points_for_card* 是char 类型,*number_value* 是int。

switch (points_for_card)
{
case '2':
number_value = 2 ;
break;
case '3':
number_value = 3 ;
break;

// ETC
}

所以我在这里的目的是:如果用户输入“3”作为字符,它会变成 int 3。但也许这根本不是 switch 的工作方式。

问题是,我的程序可以编译并运行,但会返回奇怪而疯狂的巨大数字。如果我将 points_for_card 移动到 int 而不是 char,那么该算法对我输入的任何数字都适用,因为此时它只是将它们相加一起。

我希望我能解释清楚,如有必要,我会尽可能多地澄清。

最佳答案

可以是这样的代码:

if (points_for_card >= '1' && points_for_card <= '9'){
number_value = points_for_card - '0'; // convert to number
}else if (points_for_card == 'Q'){
...
}

关于C++ char类型输入,int类型输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7303470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com