Как запретить ввод букв с клавиатуры - 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, которая ожидает ввода пользователем числа с клавиатуры. Код включает следующие действия:

  1. Ввод числа с клавиатуры: Пользователю предлагается ввести число, после чего функция wait_digits ожидает ввода числа с клавиатуры.
  2. Проверка введенного числа: Введенное число проверяется на допустимость. Если введено не число, программа продолжает ожидать ввода числа.
  3. Ожидание ввода числа: Если введено число, программа прекращает ожидание ввода числа и возвращает введенное число. В основной функции main используется функция wait_digits для ожидания ввода числа, после чего введенное число выводится на экран. В конце программы используется функция system, которая приостанавливает выполнение программы до тех пор, пока пользователь не нажмет любую клавишу на клавиатуре. Примечание: Код не полностью запрещает ввод букв с клавиатуры, он просто ожидает ввода числа и игнорирует все остальные символы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы