C/Visual C - validacion

 
Vista:

validacion

Publicado por gabriel (1 intervención) el 04/09/2000 00:00:00
necesito un programa que me valide la entrada de datos en un vector de char
ingresando SOLAMENTE numeros (NO LETRAS) y ademas que me valide la entrada
del ENTER y BACKSPACE.
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Validación de entrada de datos en un vector de caracteres en C

Publicado por Alejandro (913 intervenciones) el 28/08/2024 19:53:19
Aquí tienes un ejemplo de un programa en C que valida la entrada de datos en un vector de caracteres, permitiendo solo números y validando la entrada de las teclas ENTER y BACKSPACE:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <ctype.h>
 
#define MAX_SIZE 100
 
int main() {
    char input[MAX_SIZE];
    int i = 0;
    char ch;
 
    printf("Ingrese una secuencia de números (solo números, ENTER y BACKSPACE son válidos):\n");
 
    while ((ch = getchar()) != '\n') {
        if (ch == '\b') {  // Verifica si se presionó la tecla BACKSPACE
            if (i > 0) {
                printf("\b \b");  // Borra el último carácter ingresado en la consola
                i--;
            }
        } else if (isdigit(ch)) {  // Verifica si el carácter ingresado es un número
            input[i] = ch;
            i++;
            putchar(ch);  // Muestra el carácter ingresado en la consola
        }
    }
 
    input[i] = '\0';  // Agrega el carácter nulo al final del vector de caracteres
 
    printf("\n\nLa secuencia de números ingresada es: %s\n", input);
 
    return 0;
}

En este programa, se utiliza la función `getchar()` para leer cada carácter ingresado por el usuario. Luego, se verifica si el carácter es un número utilizando la función `isdigit()` de la biblioteca `ctype.h`. Si es un número, se almacena en el vector `input` y se muestra en la consola. Si se presiona la tecla BACKSPACE, se borra el último carácter ingresado en la consola.

Espero que este programa te sea útil para validar la entrada de datos en un vector de caracteres en C. ¡Buena suerte con tu proyecto, Gabriel!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar