Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 19.12.2014, 17:18   #1 (permalink)
vyacheslav4157
Новичок
 
Регистрация: 19.12.2014
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Язык СИ, блекджек. Помогите написать код

Надо написать часть программы, которая умеет играть в карты. Карты в колоде из 52 карт можно хранить в виде структуры

struct Card
{
char rank; // достоинство
char suit; // масть
};
Масти кодируются как 'c' (clubls - трефы), 's' (spades - пики), 'h' (hearts - червы) и 'd' (diamond - бубны).
Достоинство кодируется как '2', '3', '4', '5', '6', '7', '8', '9', 'T' (ten - десять), 'J' (валет), 'Q' (дама), 'K' (король), 'A' (туз).
В этой нотации дама пик и король бубен записываются как QsKd.
Реализуйте функцию, которая проверяет, четное или нечетное количество очков по правилам игры блекджек в переданной руке.
int check (struct Card * hand);

hand - указатель на массив карт, последняя карта в котором имеет достоинство 0 (именно 0, а не '0', это ложная карта, используется только для обозначения конца массива).
Функция возвращает количество очков в руке по правилам игры блекджек.
Значения очков каждой карты:
от двойки до десятки — соответственно от 2 до 10,
у туза — 1 или 11 (11 пока общая сумма не больше 21, далее 1),
у т. н. картинок (король, дама, валет) — 10.
Функцию main реализовывать НЕ нужно. Проверку корректности аргументов не делать. Структуру описывать не нужно.
Можно использовать существущие две глобальные переменные:
char * const suite = "cshd";
char * const rank = "23456789TJQKA";
Пример использования функции
struct Card [] hand1 = {{'Q', 's'}, {'A','h'}, {'9', 'd'}, {0, 0}};
struct Card * p; // напечатает QsAh9d
for (p=hand; p->rank != 0; p++)
{
printf("%c%c", p->rank, p->suit);
}
printf("\n"); // проверяем
printf("%d\n", check(hand));
vyacheslav4157 вне форума   Ответить с цитированием

Старый 19.12.2014, 17:18
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме и ранее задавали такие вопросы

Помогите написать программу
Помогите написать программу в Си++
Помогите написать программу
Помогите написать программу

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:42.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.