Как я могу написать функцию C для перевода целого числа в английскую фразу? - PullRequest
0 голосов
/ 23 апреля 2019

Хотя я занимался программированием на Java, я новичок в C.

Я использую int s для хранения кода обозначения для колоды игральных карт от 1 до 52, например, 1 - туз червей, 15 - двойка бриллиантов и т. Д. Для демонстрации я хочу перевести их на английские фразы, то есть передать 1 и вернуть «туз червей». У меня много проблем с определением функции и вызовом этой функции, которую мой компилятор примет.

Я знаю, что строки в C проблемные, по крайней мере, для людей, которые еще не сделали этого. Я понимаю указатели и их операторы, но не очень практиковался в их использовании в программах.

Я использую MS VisualStudio 2019 с инструментарием NVidia CUDA. Я искал на веб-форумах похожие ситуации и написал код, который выглядит так, как будто он должен работать, но компилятор каждый раз отклоняет его.

void main() {
     ...
    char descriptor[14];
    designationTranslator(1, descriptor);
}

void designationTranslator(int cardDesignation, char* desc ) {

    switch (cardDesignation) {

    case 1:  strcpy(desc, "Ace of Hearts");
        break;

    default:
        break;
    }
}

Это только одна из многих, многих версий того же базового кода, который я пробовал, и ни одна из них не пройдет проверку. Я добавил и удалил * и & все, что мог, использовал различные объявления переменных и т. Д., И ничего не работает. Я просто получаю сообщение об ошибке «Не удается найти обозначение Переводчик» независимо от того, как я пишу код.

1 Ответ

2 голосов
/ 23 апреля 2019

Вы пытаетесь вызвать designationTranslator, прежде чем его определить.

Вам необходимо либо объявить designationTranslator, прежде чем вы позвоните, либо переместить определение designationTranslator до того, какmain.

Так что либо это:

void designationTranslator(int cardDesignation, char* desc );

int main()
{
    ...
}

void designationTranslator(int cardDesignation, char* desc )
{
    ...
}

Или это:

void designationTranslator(int cardDesignation, char* desc )
{
    ...
}

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