C - Saber si Cadena contiene únicamente letras del alfabeto

C – Saber si cadena solo tiene letras de alfabeto

En este ejercicio sobre programación en C vamos a ver cómo saber si una cadena está conformada únicamente por las letras del alfabeto, es decir:

  1. Que tiene únicamente letras del alfabeto, ya sean mayúsculas o minúsculas
  2. No tiene números
  3. No tiene otro tipo de caracteres, solo espacios (esto último igual se puede quitar)

C - Saber si Cadena contiene únicamente letras del alfabeto

Para ello nos vamos a valer únicamente de la función isalpha y comprobaciones simples.

Función en C: Saber si cadena solo tiene letras de alfabeto

Vamos a encerrar todo esto en una función que devuelve un booleano emulado, es decir, un entero en donde el 1 es true y el 0 false.

En la función recorremos la cadena y obtenemos el carácter en cada paso. También hacemos dos comprobaciones:

  1. Si el carácter NO está dentro del alfabeto (con isalpha) o…
  2. Si el carácter no es un espacio

En caso de que ambas condiciones se cumplan, inmediatamente detenemos la función y regresamos false.

Por si terminamos el ciclo y no se terminó la función, entonces significa que hemos recorrido toda la cadena y cada carácter pasó la validación así que regresamos true.

Así que el código fuente queda así:

Modo de uso

Veamos el uso de la función para saber si cadena contiene únicamente letras del alfabeto en ANSI C.

En el método main definimos una cadena y luego invocamos a la función definida anteriormente:

En este caso simplemente imprimo una cadena, pero puedes usar esto para cualquier otra cosa obteniendo el resultado.

Como ves, si tiene números o puntos, la validación indica que no está compuesta únicamente por letras del alfabeto.

Poniendo todo junto

El código completo de para Saber si cadena solo tiene letras de alfabeto en C queda así:

Si quieres puedes probar el resultado en este enlace.

Por cierto, en el código he definido la cadena pero bien podría proporcionarla el usuario, la puedes leer con fgets.

¿Más tutoriales de C? click aquí.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario