Resultado final
Parte de la sección Lógica y Flujo del Journey de C de Coddy. Lección 24 de 63.
Desafío
FácilCompleta 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:
- 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 - Declarar un arreglo de caracteres llamado
sentencecon 200 elementos para almacenar la entrada - Usar
scanfcon el especificador de formato%spara leer una sola palabra del usuario - Almacenar la palabra original en un arreglo de caracteres aparte para mostrarla
- Calcular el número total de caracteres usando
strlen() - 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
- Convertir la palabra a mayúsculas usando la función
toupper()dentro de un bucle - 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:
HelloLa salida debe ser:
Enter a sentence:
Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLOEste 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
1Fundamentos de Punteros
¿Qué es un puntero?Declaración de punterosEl operador de dirección (&)El operador de desreferencia (*)Punteros NULLResumen: Conceptos básicos de punteros4Proyecto: Utilidad de texto simple
Descripción general del proyectoContar caracteres2Punteros y Arrays
Nombres de Arrays como PunterosElementos de un Array - PunterosAritmética de PunterosComparación de PunterosResumen: Recorrido de Arrays con Punteros5Punteros y funciones
Paso por valorPasar punteros a funcionesModificar variables mediante punterosUn ejemplo clásico: Intercambio (Swap)Pasar arrays a funcionesResumen: Argumentos de punteros a funciones3Arreglos de caracteres y cadenas
Cadenas como arreglos de charEl terminador nuloEntrada de cadenas con scanfUso de strlen()Uso de strcpy()Uso de strcat()Uso de strcmp()Resumen: Funciones básicas de cadenasPractica por tu cuenta: Compilador de C online