Menu
CoddyTech

Resultado final

Parte de la sección Lógica y Flujo del Journey de C de Coddy. Lección 24 de 63.

challenge icon

Desafío

Fácil

Completa tu programa de utilidades de texto integrando todas las funciones que has desarrollado en las lecciones anteriores en una salida única y completa. Tu programa debe:

  1. Solicitar al usuario que introduzca una oración corta mostrando: Enter a sentence: seguido de un salto de línea, como en las lecciones anteriores
  2. Declarar un arreglo de caracteres llamado sentence con 200 elementos para almacenar la entrada
  3. Usar scanf con el especificador de formato %s para leer una sola palabra del usuario
  4. Almacenar la palabra original en un arreglo de caracteres aparte para mostrarla
  5. Calcular el número total de caracteres usando strlen()
  6. Contar las vocales recorriendo cada carácter y comprobando si coincide con alguna vocal (a, e, i, o, u), tanto en minúscula como en mayúscula
  7. Convertir la palabra a mayúsculas usando la función toupper() dentro de un bucle
  8. Mostrar todos los resultados en un formato claro y organizado, con cada dato en una línea aparte

Recuerda incluir el encabezado <string.h> para las funciones de cadenas y el encabezado <ctype.h> para las funciones de conversión de caracteres.

La salida debe mostrar todos los resultados en el siguiente formato exacto:

Enter a sentence: 
Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]

Importante: Al indicador Enter a sentence: le sigue un salto de línea, como en las lecciones anteriores. La palabra Original: comienza en la línea siguiente.

Por ejemplo, si la entrada es:

Hello

La salida debe ser:

Enter a sentence: 
Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLO

Este desafío final reúne todas las funciones de procesamiento de texto que has desarrollado a lo largo del proyecto: manejo de entradas, conteo de caracteres con strlen(), conteo de vocales con bucles y condicionales, y conversión a mayúsculas con toupper(). El programa debe presentar un resumen claro y organizado de los resultados del análisis del texto.

Pruébalo tú mismo

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

int main() {
    char sentence[200];
    
    printf("Enter a sentence: \n");
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int length = strlen(sentence);
    printf("Character count: %d\n", length);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < length; i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    printf("Vowel count: %d\n", vowel_count);
    
    printf("Uppercase: ");
    for (int i = 0; i < length; i++) {
        printf("%c", toupper(sentence[i]));
    }
    printf("\n");
    
    return 0;
}

Todas las lecciones de Lógica y Flujo

Practica por tu cuenta: Compilador de C online