Я беру свой самый первый класс C ++, и я застрял.Я был бы очень признателен за помощь от вас, опытных программистов.
Задача - создать программу для игры в блэкджек.Не очень реалистичный, но эй.Пользователь вводит, сколько карт он хочет, а затем значения каждой из этих карт.Назначение указывает, что входные данные должны иметь тип char .Поэтому, если у пользователя есть 2 карты, они вводят 2, но эта 2 на самом деле символ и должна быть преобразована в int .Или они вводят «Q», если у них есть ферзь, и моя программа должна конвертировать это Q в десять баллов для оценки.Я не могу понять, как правильно сделать это.Назначение предполагает, что я буду использовать либо оператор switch , либо вложенный оператор if-else , но, боюсь, я не очень хорошо понимаю из книги 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. Но, возможно, это не то, как переключатель работает вообще.
Дело в том, что моя программа компилируется и работает, но возвращает странные сумасшедшие огромные числа.Если я переместу points_for_card
в int
вместо char
, то арифметика отлично работает для любых чисел, которые я ввожу, потому что в этот момент они просто складывают их вместе.
Надеюсь, я все объяснил нормально, уточню как можно больше.