Menu
Coddy logo textTech

Multiple Cards

Урок 6 из 6 курса Генератор игральных карт (текстовый) на Coddy.

Давайте покажем несколько карточек!

challenge icon

Задание

Средне

Теперь мы хотим добавить поддержку нескольких карт. Измените входные данные функции 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