Я новичок в C. Я хотел бы заставить этот код работать, чтобы выйти из цикла while, когда пользователь вводит буквы f или F.
#include <stdio.h> /*Imported to print in our screen and to input values.*/
#include <conio.h> /*Imported to use the function _clrscre to clear the screen*/
#include <stdlib.h> /*imported because we want to use the sleep function*/
void main()
{
char inputChar;
do
{
_clrscr();
printf("*****************\n*** Main menu ***\n*****************\n\n");
/*clear buffer and create a variable as a placeholder for the input character the user will input*/
fflush(stdin);
scanf("%c",&inputChar);
}
while ((inputChar != 'F') || (inputChar != 'f'));
_clrscr();
printf("End of the program!\n");
_sleep(1);
printf("Bye, user!\n");
_sleep(2);
Строка while ((inputChar != 'F') || (inputChar != 'f'));
должна сделать программучтобы выйти из цикла while, один из этих двух символов вводится пользователем.Однако это не так.
Если бы я заменил вышеупомянутую строку на while (inputChar != 'F')
, тогда программа работала бы правильно, выходя из цикла while, но только тогда, когда пользователь вводит заглавную букву F (я хочудва случая, которые будут покрыты с использованием этого синтаксиса, а не только один ... и я не хочу использовать операторы переключения регистра).
Есть идеи?Я полагаю, что проблема связана с функцией scanf и / или ее форматированием, или, возможно, с логическим выражением, но я не совсем уверен, в чем проблема.
Спасибо всем!