Menu
Coddy logo textTech

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 creado en las lecciones anteriores en una única salida completa. Tu programa debe:

  1. Pedir al usuario que introduzca una oración corta imprimiendo: Enter a sentence: (sin salto de línea al final: usa printf("Enter a sentence: "), no printf("Enter a sentence: \n"))
  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 separado 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úsculas como en mayúsculas
  7. Convertir la palabra a mayúsculas usando la función toupper() en un bucle
  8. Mostrar todos los resultados en un formato claro y organizado, con cada dato en una línea separada

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

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

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

Importante: El mensaje Enter a sentence: no debe ir seguido de un salto de línea. La palabra Original: aparece en la misma línea inmediatamente después de leer la entrada.

Por ejemplo, si la entrada es:

Hello

Tu 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 sentencias 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: ");
    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