Pratique a manipulação de textos e o uso da biblioteca string.h.
🟢 Nível: Básico
1. Boas-Vindas Personalizada
Escreva um programa que peça o primeiro nome do usuário e imprima uma mensagem personalizada como: "Olá [Nome], você está na aula 08!".
2. Contador de Caracteres
Crie um programa que peça uma palavra ao usuário e, usando a função strlen(), informe quantas letras a palavra possui.
🟡 Nível: Intermediário
3. Comparador de Nomes
Peça para o usuário digitar dois nomes. O programa deve dizer se os nomes são exatamente iguais ou se são diferentes (dica: use strcmp()).
4. Nome em Maiúsculas (Lógica)
Crie um programa que receba uma palavra em minúsculas e a transforme em maiúsculas. (Dica: Na tabela ASCII, a diferença entre 'a' e 'A' é de 32 valores. Tente subtrair 32 de cada caractere).
🔴 Nível: Desafio
5. Inversor de Textos
Escreva um programa que peça uma string ao usuário e a imprima de trás para frente.
Exemplo: Entrada: Roma Saída: amoR (Dica: Use um laço for começando do índice strlen(string) - 1 e decresça até 0).
Important
Aviso: Ao usar fgets, o C pode incluir o caractere de "Enter" (\n) no final da string. Fique atento a isso ao comparar textos!
📚 Gabarito e Soluções Comentadas
Gabarito Explicado ### Questão 1: Boas **Resposta Comentada:** - **Fundamentação:** No contexto de **Strings em C**, o conceito abordado (Boas) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Contador de Caracteres **Resposta Comentada:** - **Fundamentação:** No contexto de **Strings em C**, o conceito abordado (Contador de Caracteres) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Comparador de Nomes **Resposta Comentada:** - **Fundamentação:** No contexto de **Strings em C**, o conceito abordado (Comparador de Nomes) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Nome em Maiúsculas (Lógica) **Resposta Comentada:** - **Fundamentação:** No contexto de **Strings em C**, o conceito abordado (Nome em Maiúsculas (Lógica)) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Inversor de Textos **Resposta Comentada:** - **Fundamentação:** No contexto de **Strings em C**, o conceito abordado (Inversor de Textos) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.