Cómo convertir caracteres y validar dígitos en C

Clasificado en Matemáticas

Escrito el en español con un tamaño de 2,56 KB

Programas fundamentales en lenguaje C

A continuación, presentamos dos ejemplos prácticos para la manipulación de caracteres y validación de datos utilizando el lenguaje C.

1. Conversión de Mayúsculas a Minúsculas

Este programa permite transformar caracteres entre sus formas mayúsculas y minúsculas mediante el uso de funciones personalizadas.

/* NOMBRE DEL PROGRAMA: Pasar de mayúsculas a minúsculas */

#include <stdio.h>
#include <conio.h>

void a_minuscula(char &);
void a_mayuscula(char &);

void main(void) {
    char letra, repetir;
    do {
        clrscr();
        do {
            printf("\n Dame una letra:");
            scanf("%c", &letra);
            fflush(stdin);
        } while((letra < 65 || letra > 90) && (letra < 97 || letra > 122));
        
        a_mayuscula(letra);
        printf("\n La letra es %c", letra);
        
        do {
            printf("\n Desea repetir(S/N):");
            scanf("%c", &repetir);
            fflush(stdin);
            a_mayuscula(repetir);
        } while (repetir != 'S' && repetir != 'N');
    } while (repetir == 'S');
}

void a_minuscula(char &letra) {
    if (letra >= 65 && letra <= 90) {
        letra = letra + 32;
    }
}

void a_mayuscula(char &letra) {
    if (letra >= 97 && letra <= 122) {
        letra = letra - 32;
    }
}

2. Validación de Dígitos (0-9)

Este programa verifica si un carácter ingresado por el usuario corresponde a un dígito numérico.

/* NOMBRE DEL PROGRAMA: Probar si un número está entre 0 y 9 */

#include <stdio.h>
#include <conio.h>
#include <ctype.h>

char es_digito(char);

void main(void) {
    char repetir, carac, es;
    do {
        clrscr();
        printf("\nDime un carácter o un dígito cualquiera:");
        scanf("%c", &carac);
        fflush(stdin);
        
        es = es_digito(carac);
        
        if (es == 'S')
            printf("\n Es un dígito entre 0 y 9");
        else
            printf("\n NO es un dígito entre 0 y 9");
            
        do {
            printf("\n Desea repetir(S/N)?: ");
            scanf("%c", &repetir);
            fflush(stdin);
            repetir = toupper(repetir);
        } while (repetir != 'S' && repetir != 'N');
    } while(repetir == 'S');
}

char es_digito(char carac) {
    char es;
    if (carac >= 48 && carac <= 57) {
        es = 'S';
    } else {
        es = 'N';
    }
    return (es);
}

Entradas relacionadas: