Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

erro de conversão??

o codigo tava todo bonitin igual do proff na aula, até a parte de incluir a roberta no calculo de bonificação, aparece um erro de converter diretor em funcionario, não entendi muito bem... alguem consegue dar um help? o erro:

o codigo da bonificação:

using ByteBanke.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBanke.Funcionarios
{
    public class GerenciadorBonificacao
    {
        private double _totalBonificacao;

        public void Regsitrar(Diretor diretor)
        {
            _totalBonificacao += diretor.getBonificacao();
        }

        public void Registrar(Funcionario funcionario)
        {
            _totalBonificacao += funcionario.getBonificacao();
        }
        public double getTotalBonificacao()
        {
            return _totalBonificacao;
        }

    }
}
6 respostas

Wallace, boa tarde.

Você pode postar sua classe Funcionário e Diretor também?

Na classe GerenciadorBonificacao a chamada ao diretor.GetBonificacao() está diretor.getBonificacao()

using ByteBank.Modelos.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBank
{
    public class GerenciadorBonificacao
    {
        private double _totalBonificacao;

        public void Registrar(Diretor diretor)
        {
            _totalBonificacao += diretor.GetBonificacao();
        }

        public void Registrar(Funcionario funcionario)
        {
            _totalBonificacao += funcionario.GetBonificacao();
        }
        public double getTotalBonificacao()
        {
            return _totalBonificacao;
        }

    }
}

Na definição das classes Funcionário e Diretor:

 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;
        }
    }

e

 public class Diretor
    {
        public string Nome { get; set; }
        public string CPF { get; set; }
        public double Salario { get; set; }

        public double GetBonificacao()
        {
            return Salario;
        }
    }

Fiz esses ajustes com o código que você postou e o problema de conversão resolveu, testa ai e nos dê um feedback.

Att

solução!

Oi André! Troquei todos os gets pra Gets pra deixarr mais padrao e o erro continuar, ja revi a aula 2 vzs e acabei de refazer o codigo o erro persiste vou coloca-los aqui :

Classe Diretor:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBanke.Funcionarios
{
    public class Diretor
    {
        public string Nome { get; set; }
        public string CPF { get; set; }
        public double Salario { get; set; }

        public double GetBonificacao()
        {
            return Salario;
        }
    }
}

Classe funcionario:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBanke.Funcionarios
{
    public class Funcionario
    {
        private int _tipo;
        public string Nome { get; set; }
        public int CPF { get; set; }
        public double Salario { get; set; }

        public double GetBonificacao()
        {
          return Salario * 0.10;
        }
    }
}

Classe Bonificaçao:

using ByteBanke.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteBanke.Funcionarios
{
    public class GerenciadorBonificacao
    {
        private double _totalBonificacao;

        public void Regsitrar(Diretor diretor)
        {
            _totalBonificacao += diretor.GetBonificacao();
        }

        public void Registrar(Funcionario funcionario)
        {
            _totalBonificacao += funcionario.GetBonificacao();
        }
        public double GetTotalBonificacao()
        {
            return _totalBonificacao;
        }

    }
}

Programa:

using ByteBanke.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ByteBanke
{
    internal class Program
    {
        static void Main(string[] args)
        {
            GerenciadorBonificacao gerenciador = new GerenciadorBonificacao();

            Funcionario carlos = new Funcionario();

            carlos.Nome = "Carlos";
            carlos.CPF = 450280;
            carlos.Salario = 2000;

            gerenciador.Registrar(carlos);

            Diretor Roberta = new Diretor();

            Roberta.Nome = "diretor";
            Roberta.CPF = "CPF DO DIRETOR";
            Roberta.Salario = 4000;

            gerenciador.Registrar(Roberta);

            Console.WriteLine(carlos.Nome);
            Console.WriteLine(carlos.GetBonificacao());

            Console.WriteLine(Roberta.Nome);
            Console.WriteLine(Roberta.GetBonificacao());

            Console.WriteLine(gerenciador.GetTotalBonificacao());


            Console.ReadLine();
        }
    }
}

Wallace, boa tarde!

Camarada o erro está no nome do método em bonificação, dá uma olhada no seu código:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero ter ajudado!

eu só fui arrumar hoje isso! Muito obrigado e que vergonha eu to kkkkkk

Que isso camarada, isso acontece com todo mundo! o importante é praticar sempre.

Qualquer dúvida manda aqui no Fórum!

Att.