我正在学习我的第一个C++类,并且被卡住了。我真的很感谢你们有经验的程序员的帮助。类型char的C++输入,类型为int的输出
该任务正在创建一个二十一点计分程序。不是很现实的,但嘿。用户输入他想要的卡数,然后输入每张卡的数值。该作业指定输入应为char。所以如果用户有2张卡,他们输入2,但实际上2是char,必须转换为int。或者如果他们有一个女王,他们会输入“Q”,我的程序应该将该Q值转换为十分进球。我无法弄清楚什么是正确的做法。作业建议我将使用开关语句或嵌套if-else声明,但恐怕我不明白开关很好从书中的例子。
所以这里有一点我的尝试在开关。 * 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”作为一个char,它成为INT 3,但也许这是不是交换机是如何工作的。
事情是,我的程序编译和工作,但返回怪异的疯狂巨大的数字。如果我将points_for_card
移动到int
而不是char
,那么对于输入的任何数字,算法都可以很好地工作,因为此时它只是将它们加在一起。
我希望我解释过这个好,如果有必要,会尽可能地澄清。
这就是如何'之开关工作,这里的片段是适当的使用它。如果你的程序“不能正常工作”,那么问题在于别处。请显示'points_for_card'的声明以及您如何收集输入。 – Chad
这是_is_如何开关语句应该工作,你的逻辑没有错。如何定义'points_for_card'?它是作为int还是char输入的? –