Visão Geral do Projeto
Parte da seção Logic & Flow do Journey de C da Coddy — lição 20 de 63.
Desafio
FácilAo longo das próximas lições, você construirá um utilitário de texto simples que demonstra aplicações do mundo real de manipulação de strings e caracteres.
Escreva um programa em C que crie a base para um utilitário de texto, lendo e armazenando a entrada do usuário. Seu programa deve:
- Solicitar que o usuário insira uma frase curta imprimindo:
Enter a sentence: - Declarar um array de caracteres chamado
sentencecom 200 elementos para armazenar a entrada - Usar
scanfcom o especificador de formato%spara ler uma única palavra do usuário - Imprimir a palavra armazenada no formato:
You entered: [word] - Demonstrar que o array de caracteres está devidamente terminado em nulo imprimindo o comprimento da palavra armazenada usando
strlen()no formato:Length: [length]
Lembre-se de incluir o cabeçalho <string.h> para usar a função strlen().
Sua saída deve exibir os resultados no seguinte formato:
Enter a sentence:
You entered: [word]
Length: [length]Por exemplo, se a entrada for:
HelloSua saída deve ser:
Enter a sentence:
You entered: Hello
Length: 5Importante: A linha de solicitação deve terminar com uma nova linha imediatamente após os dois pontos — não adicione um espaço final antes de \n. Use printf("Enter a sentence:\n"); exatamente como mostrado.
Este desafio estabelece o mecanismo básico de entrada e armazenamento que servirá como base para os recursos do utilitário de texto que você adicionará nas próximas lições. Ele testa sua compreensão da declaração de arrays de caracteres, entrada de strings com scanf e cálculo básico de comprimento de string usando strlen().
Experimente você mesmo
#include <stdio.h>
#include <string.h>
int main() {
// TODO: Escreva seu código aqui
// 1. Imprima a mensagem de solicitação
// 2. Declare um array de caracteres chamado 'sentence' com 200 elementos
// 3. Leia a entrada usando scanf com o especificador de formato %s
// 4. Imprima a palavra digitada e seu comprimento
return 0;
}Todas as lições de Logic & Flow
1Fundamentos de Ponteiros
O que é um Ponteiro?Declarando PonteirosO Operador de Endereço (&)O Operador de Desreferência (*)Ponteiros NULLRecapitulação: Fundamentos de Ponteiros4Projeto: Utilitário de Texto Simples
Visão Geral do ProjetoContando Caracteres2Ponteiros e Arrays
Nomes de Arrays como PonteirosElementos de Array - PonteirosAritmética de PonteirosComparando PonteirosRecapitulação: Percorrendo Arrays com Ponteiros5Ponteiros e Funções
Passagem por ValorPassando Ponteiros para FunçõesModificando Variáveis via PonteirosUm Exemplo Clássico: SwapPassando Arrays para FunçõesRecapitulação: Ponteiros como Argumentos3Arrays de Caracteres e Strings
Strings como Arrays de charO Terminador NuloEntrada de Strings com scanfUsando strlen()Usando strcpy()Usando strcat()Usando strcmp()Recapitulação: Funções Básicas de Strings6Gerenciamento de Memória
Memória Stack vs. HeapAlocação Dinâmica - malloc()Usando sizeof() para AlocaçãoVerificando Falhas de AlocaçãoLiberando Memória com free()Alocando com calloc()Recapitulação: Array Dinâmico9Projeto: Cadastro Simples de Contatos
Projeto: Definir a Struct de ContatoFunção para Criar um Contato