Возникли проблемы при получении оператора Switch-Case для работы в C <stdio.h> - PullRequest
0 голосов
/ 25 ноября 2011

Может кто-нибудь сказать мне, почему я не могу получить это меню, чтобы я мог сделать выбор? Он не позволяет мне сделать выбор прямо в «Неправильный выбор». Заранее благодарен за помощь, обязательно порадую вас лично.

printf("Welcome to the Inventroy Control System");
printf("\nPlease make a selection");
printf("\n\n\ta) Display Inventory");

printf("\n\tb) Add New Items");
printf("\n\tg) Exit");
printf("\nSelect what you would like to do");
printf("\nOption Chosen: ");

fflush(stdin);
scanf("%c", &input);

input = toupper(input);

switch(input)

{

case 'A':
{
    funa(j,a);
    break;
}
case 'B':
{
    j = funb(amount,a);
    break;
}
case 'G':
{
    fung();
    break;
}
default:
{
    printf("\nWrong Selection");
}
}

1 Ответ

5 голосов
/ 25 ноября 2011

Вероятно, вы читаете \n, потому что fflush(stdin); неверно .

Вместо этого попробуйте:

scanf(" %c", &input);
       ^

Существует множество записей C FAQ по этому поводу, здесь объясняется, как очистить стандартный ввод .

...