Необходимо найти сумму очков карт в блекджеке - C (СИ)
Формулировка задачи:
Суть задачи состоит в том, чтобы посчитать сумму очков карт на руках (игра блекджек) и вывести четное или нечетное получилось число. В моем коде судя по всему ошибка, а конкретно в этом месте
Вот и сам код:
Листинг программы
- for (p = hand; p -> score != 0; p++)
- {
- sum = sum + bj[ ].score;
- }
Листинг программы
- #include <stdio.h>
- struct Score {
- char rank; // достоинство
- int score; // сколько очков за карту
- };
- int check (struct Score * hand)
- {
- int index =0, sum = 0;
- struct Score bj[ ] = {{0, 0}, {'2', 2}, {'3', 3}, {'4', 4}, {'5', 5}, {'6', 6}, {'7', 7}, {'8', 8}, {'9', 9}, {'T', 10}, {'J', 10}, {'Q', 10}, {'K', 10}, {'A', 11}};
- for (p = hand; p -> score != 0; p++)
- {
- sum = sum + bj[ ].score;
- }
- if (sum % 2 == 0)
- {
- printf ("Четное количество очков");
- }
- if (sum % 2 != 0)
- {
- printf ("Нечетное количество очков");
- }
- }
- int main ()
- {
- struct Score [ ] hand1 = {{'Q', 10}, {'A', 11}, {'9', 9}, {0, 0}};
- struct Score * p;
- for (p = hand; p -> score != 0; p++)
- {
- printf("%c%i", p -> rank, p -> score);
- }
- printf("\n");
- printf("%d\n", check(hand));
- }
Решение задачи: «Необходимо найти сумму очков карт в блекджеке»
textual
Листинг программы
- #include <stdio.h>
- struct Score {
- char rank; // достоинство
- int score; // сколько очков за карту
- };
- int check (const struct Score * hand) {
- int sum = 0;
- for (; hand->score != 0; ++hand) sum += hand->score;
- return sum;
- }
- int main () {
- int sum;
- struct Score *p, hand[] = {{'Q', 10}, {'A', 11}, {'9', 9}, {0, 0}};
- for (p = hand; p->score != 0; ++p) {
- printf("%c%i", p->rank, p->score);
- }
- sum = check(hand);
- printf("\n%s количество очков %d\n",
- (sum % 2 == 0 ? "Четное" : "Нечетное"), sum);
- return 0;
- }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Объявляем структуру Score, которая содержит два поля: rank (достоинство) и score (количество очков за карту)
- Определяем функцию check, которая принимает указатель на массив структур Score и возвращает их сумму
- В функции main создаем массив структур Score hand и инициализируем его значения
- В цикле выводим значения структур Score на экран
- Вызываем функцию check, передавая ей указатель на массив hand
- Выводим на экран результат функции check и описываем его как четное или нечетное
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д