Menu
CoddyTech

Saída Final

Parte da seção Lógica e Fluxo do Journey de C da Coddy. Lição 24 de 63.

challenge icon

Desafio

Fácil

Conclua seu programa utilitário de texto integrando todos os recursos que você desenvolveu nas lições anteriores em uma única saída abrangente. Seu programa deve:

  1. Solicitar que o usuário digite uma frase curta imprimindo: Enter a sentence: seguido por uma quebra de linha, como nas lições anteriores
  2. Declarar um array de caracteres chamado sentence com 200 elementos para armazenar a entrada
  3. Usar scanf com o especificador de formato %s para ler uma única palavra do usuário
  4. Armazenar a palavra original em um array de caracteres separado para exibição
  5. Calcular o número total de caracteres usando strlen()
  6. Contar as vogais iterando por cada caractere e verificando se corresponde a alguma vogal (a, e, i, o, u), tanto em minúsculas quanto em maiúsculas
  7. Converter a palavra para maiúsculas usando a função toupper() em um loop
  8. Exibir todos os resultados em um formato claro e organizado, com cada informação em uma linha separada

Lembre-se de incluir o cabeçalho <string.h> para as funções de string e o cabeçalho <ctype.h> para as funções de conversão de caracteres.

Sua saída deve exibir todos os resultados exatamente no seguinte formato:

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

Importante: O prompt Enter a sentence: é seguido por uma quebra de linha, como nas lições anteriores. A palavra Original: começa na linha seguinte.

Por exemplo, se a entrada for:

Hello

Sua saída deve ser:

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

Este desafio final reúne todos os recursos de processamento de texto que você desenvolveu ao longo do projeto: tratamento de entrada, contagem de caracteres com strlen(), contagem de vogais com loops e instruções condicionais e conversão para maiúsculas com toupper(). O programa deve apresentar um resumo claro e organizado dos resultados da análise do texto.

Experimente você mesmo

#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 as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de C online