Multiple Cards
Урок 6 из 6 курса Генератор игральных карт (текстовый) на Coddy.
Давайте покажем несколько карточек!
Задание
СреднеТеперь мы хотим добавить поддержку нескольких карт. Измените входные данные функции printCard с целого числа (kind) и строки (suit) на массив целых чисел (kinds) и массив строк (suits), например:
Входные данные — [1, 2, 3], ["heart", "club", "spade"] приведут к выводу 3 карт: туза червей, двойки треф и тройки пик.
Вы можете предположить, что длина массивов одинакова
Проверьте тест-кейсы для уточнения форматов; вы должны добавить один пробел между картами.
Попробуйте сами
#include <stdio.h>
#include <string.h>
void printCard(int kind, char* suit) {
char* suitSymbol = " ";
if (strcmp(suit, "club") == 0) suitSymbol = "♣";
else if (strcmp(suit, "diamond") == 0) suitSymbol = "♦";
else if (strcmp(suit, "heart") == 0) suitSymbol = "♥";
else if (strcmp(suit, "spade") == 0) suitSymbol = "♠";
char kindBuf[4] = " ";
if (kind == 1) strcpy(kindBuf, "A");
else if (kind >= 2 && kind <= 10) sprintf(kindBuf, "%d", kind);
else if (kind == 11) strcpy(kindBuf, "J");
else if (kind == 12) strcpy(kindBuf, "Q");
else if (kind == 13) strcpy(kindBuf, "K");
printf("╔═════════╗\n");
if (kind == 10) printf("║ 10 ║\n");
else printf("║ %s ║\n", kindBuf);
printf("║ ║\n");
printf("║ ║\n");
printf("║ %s ║\n", suitSymbol);
printf("║ ║\n");
printf("║ ║\n");
if (kind == 10) printf("║ 10 ║\n");
else printf("║ %s ║\n", kindBuf);
printf("╚═════════╝\n");
}Все уроки раздела Генератор игральных карт (текстовый)
1Introduction
Introduction