Pular para conteúdo

Exercícios: Aula 08 - Structs e Enums 🏗️

🟢 Básico

  1. Dados Pessoais: Crie uma struct Pessoa com campos nome, idade e email. Instancie duas pessoas no main.
  2. Cores Enums: Crie um enum Cor com as variantes Vermelho, Verde, Azul e Personalizada(u8, u8, u8).

🟡 Intermediário

  1. Área do Retângulo: Adicione um bloco impl para a struct Retangulo com um método nova(l: u32, a: u32) -> Retangulo (construtor) e um método area(&self) -> u32.
  2. Option Safe: Crie uma função que receba um Vec<i32> e retorne um Option<i32> contendo o primeiro elemento, se existir.

🔴 Desafio

5. Calculadora de Formas: Crie um enum Forma que pode ser um Circulo(f64) ou um Quadrado(f64). Implemente um método area para o enum Forma que use match para calcular a área dependendo da variante.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Dados Pessoais **Resolução e Implementação:**
// Estrutura de implementação recomendada para Dados Pessoais
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Structs e Enums ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Cores Enums **Resolução e Implementação:**
// Estrutura de implementação recomendada para Cores Enums
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Structs e Enums ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Área do Retângulo **Resolução e Implementação:**
// Estrutura de implementação recomendada para Área do Retângulo
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Structs e Enums ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Option Safe **Resolução e Implementação:**
// Estrutura de implementação recomendada para Option Safe
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Structs e Enums ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Calculadora de Formas **Resolução e Implementação:**
// Estrutura de implementação recomendada para Calculadora de Formas
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Structs e Enums ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.