Ввод символа, и проверка, какой символ был введен (getchar) - C (СИ)
Формулировка задачи:
Приветствую всех.
Подскажите пожалуйста, как реализовать в консоле ввод символа, и потом проверку, равен ли символ '1', '2', 'f' и т.д.
Т.е надо сделать, чтоб при нажатии 1 происходило одно, 2 другое и т.д.
Заранее благодарен.
Решение задачи: «Ввод символа, и проверка, какой символ был введен (getchar)»
textual
Листинг программы
char ch;
printf("chars: ");
while((ch=getchar())!='\n')
switch(ch)
{
case '1':printf("one\n"); break;
case '2':printf("two\n"); break;
default :printf("foo\n");
}
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная типа char с именем
ch. - Выводится сообщение
chars:. - В цикле while с условием ((ch=getchar())!='\n') происходит следующее:
- Внутри цикла происходит операция присваивания значению символа, введенного пользователем, переменной
ch. - Затем выполняется операция сравнения этого значения с символом '\n' (возвращается 0, если это не символ новой строки).
- Внутри цикла происходит операция присваивания значению символа, введенного пользователем, переменной
- Если условие истинно (то есть, пользователь ввел символ новой строки), то цикл завершается.
- В операторе switch выполняется проверка значения переменной
ch. - Если значение равно '1', то выводится сообщение
one\n. - Если значение равно '2', то выводится сообщение
two\n. - Если значение не равно ни '1', ни '2', то выводится сообщение
foo\n. Этот код предназначен для чтения ввода пользователя по одному символу и вывода сообщения в зависимости от введенного символа.