Menu
Coddy logo textTech

Converter para Maiúsculas

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

challenge icon

Desafio

Fácil

Estenda seu programa de utilitário de texto da lição anterior para adicionar a funcionalidade de conversão para maiúsculas. Seu programa deve:

  1. Solicitar que o usuário insira uma frase curta imprimindo: Enter a sentence: (sem nova linha ao final)
  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. Imprimir a palavra armazenada no formato: You entered: [word]
  5. Usar strlen() para calcular o número total de caracteres na palavra
  6. Imprimir a contagem de caracteres no formato: Character count: [count]
  7. Imprimir o comprimento usando strlen() no formato: Length: [length]
  8. Iterar por cada caractere na palavra usando um loop para contar as vogais
  9. Para cada caractere, verificar se é uma vogal (a, e, i, o, u) tanto em minúsculas quanto em maiúsculas
  10. Manter uma contagem contínua das vogais encontradas
  11. Imprimir a contagem de vogais no formato: Vowel count: [count]
  12. Imprimir Uppercase: e então usar um loop para converter e imprimir cada caractere da palavra em maiúsculas usando a função toupper()

Lembre-se de incluir o cabeçalho <string.h> para usar a função strlen() e o cabeçalho <ctype.h> para usar a função toupper().

Sobre toupper():
A função toupper() de <ctype.h> converte um único caractere para o seu equivalente em maiúscula. Se o caractere já estiver em maiúscula ou não for uma letra, ele é retornado inalterado.
Exemplo: toupper('a') retorna 'A', e toupper('Z') retorna 'Z'.
Você pode usá-la dentro de um loop para converter cada caractere um por vez: printf("%c", toupper(sentence[i]));

Importante: O prompt Enter a sentence: não deve ser seguido por uma nova linha. Use printf("Enter a sentence: "); sem \n.

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

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

Por exemplo, se a entrada for:

Programming

Sua saída deve ser:

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

Este desafio baseia-se na lição anterior, adicionando a funcionalidade de conversão para maiúsculas usando a função toupper() da biblioteca <ctype.h>. Você precisará usar um loop para iterar por cada caractere na string e convertê-lo para maiúsculas, e então imprimir o resultado transformado.

Experimente você mesmo

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