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

#include <stdio.h>
#include <conio.h>

void startScreen();
char choice[1];

int main()
{
    startScreen;
    _getch();
    return 0;
}

void startScreen()
{

    printf("Please choose c or f\n");
    scanf("%s", choice);
    if (choice[0] == 'f' || choice[0] == 'F')
        printf("Good choice");
    if (choice[0] == 'c' || choice[0] == 'C')
        printf("Good luck");
}

Благодарю за всю помощь, которую я могу получить, спасибо!

0
S.Arkab 22 Окт 2018 в 21:00

2 ответа

Лучший ответ

Спасибо, Чад Эстес и Ахмед Абумалек, я объединил то, на что вы оба указали, и это сработало!

#include <stdio.h>
#include <conio.h>

void startScreen();

int main()
{
    startScreen();
    _getch();
    return 0;
}

void startScreen()
{
    char c;

    do 
    {
        scanf_s("%c", &c);
        switch (c) 
        {
        case 'f':
        case 'F':
            printf("Good choice");
            break;
        case 'c':
        case 'C':
            printf("Good luck!");
            break;
        default:
            printf("Invalid input. Try again.");
            break;
        }
    } 
    while (c != 'c' && c != 'C' && c != 'f' && c != 'F');
}
0
S.Arkab 22 Окт 2018 в 18:41

Мой C довольно ржавый, но я полагаю, что проблема, с которой вы столкнулись, заключается в том, что вы вызываете это и вводите что-то другое, кроме 'C' или 'F'. Похоже, вам нужно изменить функцию startScreen () следующим образом:

void startScreen()
{
    printf("Please choose c or f\n");
    do {
      scanf("%s", choice);
      switch(choice[0]) {
         case 'f':
         case 'F':
           printf("Good choice");
           break;
         case 'c':
         case 'C':
           printf("Good luck");
           break;
         default:
           printf("Invalid input. Try again.");
       }
    } while (choice[0] != 'c' && choice[0] != 'C' && choice[0] != 'f' && choice[0] != 'F');
}
-1
Chad Estes 22 Окт 2018 в 18:13
52935179