1
resposta

Minha solução

namespace Teste4_Alura.ExercicioOO;

internal class Avaliacao
{
    public string Aluno { get; set; }
    public int Nota { get; private set; }

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


    public void AtribuirNota(double nota)
    {
        if (nota < 0 || nota > 10) { Console.WriteLine("Erro: A nota deve ser entre 0 e 10."); }
        else
        {
            Console.WriteLine($""""
                Aluno: {Aluno}
                nota atribuida: {nota}

                """");
        }
 
    }



}
#region Desafio Validacao de Nota minima
using Teste4_Alura.ExercicioOO;

Avaliacao avaliacao = new Avaliacao("Carla Silva");
avaliacao.AtribuirNota(11);
avaliacao.AtribuirNota(8.5);

#endregion
1 resposta

Olá, Ulysses! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de encapsulamento para proteger o atributo da nota, utilizou muito bem a validação condicional para garantir que os valores estejam dentro do intervalo permitido e ainda compreendeu a importância de estruturar mensagens claras para informar o usuário sobre erros ou sucesso na atribuição.

Uma dica interessante para o futuro é atualizar o atributo Nota dentro do método quando o valor for válido, garantindo que ele seja armazenado corretamente. Assim:

public void AtribuirNota(double nota)
{
    if (nota < 0 || nota > 10)
    {
        Console.WriteLine("Erro: A nota deve ser entre 0 e 10.");
    }
    else
    {
        Nota = (int)nota;
        Console.WriteLine($"""
            Aluno: {Aluno}
            Nota atribuída: {Nota}
            """);
    }
}

Isso faz com que a nota atribuída seja persistida na instância do objeto, permitindo consultas futuras.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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