Menu
Coddy logo textTech

Resultado final

Parte de la sección Logic & Flow del Journey de C de Coddy — lección 24 de 63.

challenge icon

Desafío

Fácil

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

  1. Solicitar al usuario que introduzca una frase 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 fines de visualización
  5. Calcular el número total de caracteres usando strlen()
  6. Contar las vocales iterando a través de cada carácter y verificando 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() dentro de un bucle
  8. Mostrar todos los resultados en un formato limpio y organizado con cada pieza de información en una línea separada

Recuerda incluir el encabezado <string.h> para las funciones de cadena 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 que se lee la entrada.

Por ejemplo, si la entrada es:

Hello

Tu salida debería 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 limpio y organizado de los resultados del análisis de 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 Logic & Flow