namespace ByteBank.Funcionarios { public class Funcionario { public string Nome { get; set; } public string CPF { get; set; } public double Salario { get; set; }
public double GetBonificacao()
{
return Salario *=0.10 ;
}
}
}
namespace ByteBank.Funcionarios { public class Diretor { public string Nome { get; set; } public string CPF { get; set; } public double Salario { get; set; }
public double GetBonificacao()
{
return Salario;
}
}
}
namespace ByteBank {
public class GerenciadorBonificacao
{
private double _totalBonificacao;
public void Registrar(Funcionario funcionario)
{
_totalBonificacao += funcionario.GetBonificacao();
}
public void Registrar(Diretor diretor)
{
_totalBonificacao += diretor.GetBonificacao();
}
public double GetTotalBonificacao()
{
return _totalBonificacao;
}
}
}
namespace ByteBank { class Program { static void Main(string[] args) {
Funcionario carlos = new Funcionario();
carlos.Nome = "Carlos";
carlos.CPF = "546.879.157-20";
carlos.Salario = 2000;
Diretor roberta = new Diretor();
roberta.Nome = "Roberta";
roberta.CPF = "454.658.148-3";
roberta.Salario = 5000;
Console.WriteLine(carlos.Nome);
Console.WriteLine(carlos.GetBonificacao());
Console.WriteLine(roberta.Nome);
Console.WriteLine(roberta.GetBonificacao());
GerenciadorBonificacao gerenciador = new GerenciadorBonificacao();
gerenciador.Registrar(carlos);
gerenciador.Registrar(roberta);
Console.WriteLine("O total de bonificação é de " + gerenciador.GetTotalBonificacao());
Console.ReadLine();
}
}
}
O Meu código está dando um erro na hora de imprimir os valores
Ta imprimindo Carlos 200 Roberta 5000
Mais o resultado da soma apresenta o valor 5020
Mais se eu realizar a seguinte alteração no código
colocar o gerenciador.Registrar(carlos); antes do Console.WriteLine(carlos.Nome);
o programa imprime o seguintes valores
Carlos 20 Roberta 5000 O resultado da soma apresenta o valor 5200
Não consigo entender porque está apresentado essa alteração de valores dependendo da posição do gerenciador.Registrar(carlos);