Добавление символов в массив с помощью Switch в C - PullRequest
0 голосов
/ 19 декабря 2018

Мне нужна помощь о том, как добавить символы в массив с помощью SWITCH (это необходимо сделать с помощью ключа), а затем распечатать этот массив.Вывод в массив выглядит следующим образом: https://imgur.com/a/5405d3u

Я создал шаблоны: Ладья

Ладья

printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);`

Knight
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,0,0,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,177,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);

Bishop
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,219,219,219,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,219,219,219,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",0,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);

King

printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,177,177,0,0,177,177,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);

1 Ответ

0 голосов
/ 20 декабря 2018

Несмотря на неопределенность, я сделаю некоторые предположения.

Под "характером" я буду понимать, что вы подразумеваете одно из следующего: Ладья, Рыцарь, Епископ

Сначала это хорошая идеячтобы заключить эти «символы» в перечисление, такое как:

enum characters {Rook, Knight, Bishop};

Затем вы создадите свой массив (и при необходимости инициализируете его) следующим образом:

enum characters my_fancy_array[] = {Rook, Knight, Bishop, Knight, Rook};

Вы можете заполнить массив вдругие способы, возможно, от пользователя.Идея может заключаться в том, чтобы затем выполнить итерацию по массиву и распечатать его содержимое в указанном вами формате.

Наконец, ваш переключатель будет выглядеть так:

switch (my_fancy_array[i]) {
    case Rook:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);~
        ...
        break;

    case Bishop:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
        ...
        break;

    case Knight:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
        ...
        break;
    default:
        break;
}

, где i - некоторый индексмассива.

Хорошей практикой является инкапсуляция этих printfs в функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...