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

problemas com a classe Cliente

ola, estou enfrentando um pequeno problema em meu codigo e estou precisando de uma ajuda

esta é a mensagem de erro:

Não é possível converter implicitamente tipo "string" em "banco.Cliente"

codigo da minha classe cliente:

namespace banco
{
    class Cliente
    {
        public string nome;
        public string rg;
        public string endereco;
    }
}

codigo da minha classe conta:

namespace banco
{
    class Conta
    {
        public int numero;
        public double Saldo { get; protected set; } // deixa o elemento privado, podendo ser alterado apenas por metodos
        public Cliente Titular { get; set; } //indica que o elemento pode ser alterado
        public int tipo { get; set; }


        public virtual void deposita(double valor) {

            this.Saldo += valor;
        }

        //virtual indica que outra class pode sobrescrever esse metodo
        public virtual void saca(double valor)
        {

         this.Saldo -= valor;
        }

        public void tranfere(double valor, Conta destino)
        {
            this.saca(valor);
            destino.deposita(valor);
        }
    }
}

e por fim, o codigo do form1 que é onde eu estou sofrendo o problema:

Conta[] contas;
private void Form1_Load(object sender, EventArgs e)
        {
            //utilizando combobox
            contas = new Conta[2];
            contas[0] = new Conta();
            contas[0].numero = 1;
            contas[0].Titular = "victor";

        }

desde ja, agradeço por qualquer ajuda

4 respostas

Olá, Felipe,

Tudo bem?

Na classe Conta, Titular é definido como uma instância de Cliente.

Ao fazer:

contas[0].Titular = "victor";

Está tentando atribuir a string "victor" a Titular que deveria receber Cliente.

Tente algo do tipo:

Cliente cliente = new Cliente();
cliente.nome = "Victor";
contas[0].Titular = cliente;

Dá um retorno ai dos resultados. Espero ter ajudado.

Ola, José Muito obrigado pela ajuda, mas resolveu em partes, pois agora o texto na combobox agora é: Banco.Cliente e não Victor :/

antes de mais nada gostaria de alertar que o código:

Conta[] contas;
private void Form1_Load(object sender, EventArgs e)
        {
            //utilizando combobox
            contas = new Conta[2];
            contas[0] = new Conta();
            contas[0].numero = 1;
            contas[0].Titular = "victor";

        }

foi passado pelo instrutor, mas pelo jeito, eu acabei pulando alguma parte da aula, o que ocasionou nessa grande bola de neve

para confirmar isso, o instrutor passou um outro codigo e o mesmo deu erro pelo mesmo motivo :/

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int indiceSeleciodado = comboBox1.SelectedIndex;
            Conta contaSelecionada = contas[indiceSeleciodado];

            textoTiluar.Text = contaSelecionada.Titular;

        }

gostaria de saber por que esta ocorrendo esse erro e onde esta ocorrendo

mas mesmo assim, quero agradecer ao José por estar dando esta ajuda

Ate Breve

solução!

Felipe tenta o seguinte:

 textoTiluar.Text = contaSelecionada.Titular.nome;

Aguardo retorno!

Funcionou!!!, Agradeço muito pela ajuda :)

Abraços

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software