Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Faça como eu fiz: validação de nota mínima

Avaliacao.cs

namespace Escola.Modelos;
class Avaliacao {

    public string? Aluno {get;set;}
    public double Nota {get; private set;}

    public Avaliacao(string? aluno) {
        Aluno = aluno;
    }

    public void AtribuirNota(double nota) {
        if (nota < 0 || nota > 10) {
            Console.WriteLine("Não foi possível atribuir a nota. (Ela deve estar entre 0 e 10)");
        }
        else {
            Nota = nota;
            Console.WriteLine("Nota atribuída com sucesso!");
            Console.WriteLine($"\nAluno: {Aluno}");
            Console.WriteLine($"Nota: {nota}");
        }
    }
}

Program.cs

using Escola.Modelos;
Console.Clear();

Avaliacao avaliacao = new Avaliacao("Cado");
avaliacao.AtribuirNota(10.3);
avaliacao.AtribuirNota(-1);
avaliacao.AtribuirNota(3.4); 
1 resposta
solução!

Oi, Diego! Como vai?

Ótima forma como você protegeu a propriedade Nota com private set e criou o método AtribuirNota() para validar os valores antes da atribuição. Isso mostra um bom uso de encapsulamento, porque a nota só pode ser alterada de um jeito controlado dentro da classe.

Uma dica interessante para o futuro é usar o método Math.Clamp() quando você quiser limitar um valor dentro de uma faixa. Veja este exemplo:


double nota = 10.3;
double notaAjustada = Math.Clamp(nota, 0, 10);
Console.WriteLine(notaAjustada);

Nesse código, Math.Clamp() garante que o valor fique entre 0 e 10, o que ajuda bastante em validações simples.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!