Menu
Coddy logo textTech

Convertir a mayúsculas

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

challenge icon

Desafío

Fácil

Extiende tu programa de utilidad de texto de la lección anterior para añadir la funcionalidad de conversión a mayúsculas. Tu programa debe:

  1. Solicitar al usuario que introduzca una oración corta imprimiendo: Enter a sentence: (sin salto de línea al final)
  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. Imprimir la palabra almacenada en el formato: You entered: [word]
  5. Usar strlen() para calcular el número total de caracteres en la palabra
  6. Imprimir el recuento de caracteres en el formato: Character count: [count]
  7. Imprimir la longitud usando strlen() en el formato: Length: [length]
  8. Iterar a través de cada carácter en la palabra usando un bucle para contar las vocales
  9. Para cada carácter, verificar si es una vocal (a, e, i, o, u) tanto en minúscula como en mayúscula
  10. Mantener un recuento acumulado de las vocales encontradas
  11. Imprimir el recuento de vocales en el formato: Vowel count: [count]
  12. Imprimir Uppercase: y luego usar un bucle para convertir e imprimir cada carácter de la palabra a mayúsculas usando la función toupper()

Recuerda incluir el encabezado <string.h> para usar la función strlen() y el encabezado <ctype.h> para usar la función toupper().

Acerca de toupper():
La función toupper() de <ctype.h> convierte un solo carácter a su equivalente en mayúscula. Si el carácter ya está en mayúscula o no es una letra, se devuelve sin cambios.
Ejemplo: toupper('a') devuelve 'A', y toupper('Z') devuelve 'Z'.
Puedes usarla dentro de un bucle para convertir cada carácter uno a la vez: printf("%c", toupper(sentence[i]));

Importante: El mensaje Enter a sentence: no debe ir seguido de un salto de línea. Usa printf("Enter a sentence: "); sin \n.

Tu salida debe mostrar los resultados en el siguiente formato:

Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]

Por ejemplo, si la entrada es:

Programming

Tu salida debería ser:

Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMING

Este desafío se basa en la lección anterior al añadir la funcionalidad de conversión a mayúsculas utilizando la función toupper() de la biblioteca <ctype.h>. Necesitarás usar un bucle para iterar a través de cada carácter en la cadena y convertirlo a mayúsculas, para luego imprimir el resultado transformado.

Pruébalo tú mismo

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

int main() {
    printf("Enter a sentence: \n");
    
    char sentence[200];
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int char_count = strlen(sentence);
    printf("Character count: %d\n", char_count);
    
    int length = strlen(sentence);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < strlen(sentence); 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);
    
    return 0;
}

Todas las lecciones de Logic & Flow