Menu
Coddy logo textTech

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 de utilitários 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 insira uma frase curta imprimindo: Enter a sentence: (sem nova linha ao 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 percorrendo cada caractere e verificando se ele corresponde a qualquer vogal (a, e, i, o, u) em minúsculas e 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 leitura da entrada.

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 limpo 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: ");
    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