Menu
Coddy logo textTech

Saída Final

Parte da seção Logic & Flow do Journey de C da Coddy — lição 24 de 63.

challenge icon

Desafio

Fácil

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

  1. Solicitar que o usuário insira uma frase curta imprimindo: Enter a sentence: (sem nova linha no final — use printf("Enter a sentence: "), não printf("Enter a sentence: \n"))
  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 fins de exibição
  5. Calcular o número total de caracteres usando strlen()
  6. Contar as vogais iterando por cada caractere e verificando se ele corresponde a qualquer 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 limpo e organizado, com cada informação em uma linha separada

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

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

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

Importante: O prompt Enter a sentence: não deve ser seguido por uma nova linha. A palavra Original: aparece na mesma linha imediatamente após a entrada ser lida.

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: manipulação de entrada, contagem de caracteres com strlen(), contagem de vogais com loops e declarações condicionais, e conversão para maiúsculas com toupper(). O programa deve apresentar um resumo limpo e organizado dos resultados da análise de texto.

Experimente você mesmo

#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 as lições de Logic & Flow