Как запретить ввод букв с клавиатуры - C (СИ)
Формулировка задачи:
Уважаемые,помогите,пожалуйста новичку,как сделать так чтобы нельзя было ввести с клавиатуры ничего , кроме цифр,и ограничить ввод до 4 символов,заранее спасибо.
Забыл сказать,в си ,не си++,работаю в dev c++
Решение задачи: «Как запретить ввод букв с клавиатуры»
textual
Листинг программы
#include <iostream> #include <windows.h> using namespace std; //----------------------------------------- void wait_digits(int&); HANDLE hstd=GetStdHandle(STD_INPUT_HANDLE); //------------------------------------------ int main(){ int a; cout<<"Enter some character: "; wait_digits(a); cout<<"You press "<<a<<endl; system("pause"); return 0; } void wait_digits(int &a){ const int count=10;//с этим числом можно эксперементировать INPUT_RECORD IR[count]; DWORD read; while(PeekConsoleInputA(hstd,IR,count,&read)) { for(int i=0; i<read; i++) if(IR[i].EventType==KEY_EVENT && isdigit(IR[i].Event.KeyEvent.wVirtualKeyCode)) { cin>>a; return; } FlushConsoleInputBuffer(hstd); } }
Объяснение кода листинга программы
В этом коде реализована функция wait_digits
, которая ожидает ввода пользователем числа с клавиатуры.
Код включает следующие действия:
- Ввод числа с клавиатуры: Пользователю предлагается ввести число, после чего функция
wait_digits
ожидает ввода числа с клавиатуры. - Проверка введенного числа: Введенное число проверяется на допустимость. Если введено не число, программа продолжает ожидать ввода числа.
- Ожидание ввода числа: Если введено число, программа прекращает ожидание ввода числа и возвращает введенное число.
В основной функции
main
используется функцияwait_digits
для ожидания ввода числа, после чего введенное число выводится на экран. В конце программы используется функцияsystem
, которая приостанавливает выполнение программы до тех пор, пока пользователь не нажмет любую клавишу на клавиатуре. Примечание: Код не полностью запрещает ввод букв с клавиатуры, он просто ожидает ввода числа и игнорирует все остальные символы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д