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

"Não é possível converter implicitamente tipo \"bytebank.titular\" em \"string"

"Esta dando esse erro que ele esta tentando converter em string

aqui a classe conta corrente

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

namespace bytebank { public class contacorrente { public string titular; public double saldo; public int agencia;

    //PRiMEIRO METODO
    public void depositar(double valor){
        this.saldo= this.saldo+valor;
    }

//Segundo MEtodo
public void sacar(double valor){
    if(valor<=saldo){
    this.saldo=this.saldo-valor;
}else{
    Console.WriteLine("Saldo insuvicente ");
}
}


public void transferir(double valor,contacorrente destino){
    if(valor<valor){
        Console.WriteLine("Nao foi possivel transferir");
    }else{
        this.saldo=this.saldo-valor;
        destino.saldo=destino.saldo+valor;
       Console.WriteLine("Transferencia feita ");
    }
}

} }

AQUI O PROGRAM.CS

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

titular contadoPaulo=new titular(); contadoPaulo.nome="Paulo"; contadoPaulo.cpf="15116"; contadoPaulo.profissao="professor";

contacorrente conta=new contacorrente(); conta.titular=contadoPaulo; // O erro esta apontado para essa linha conta.agencia=2; conta.saldo=1200;

Console.WriteLine("A "+contadoPaulo.nome+" esta na agencia "+ conta.agencia+ " com o saldo de " + conta.saldo +" sendo sua profissao "+ contadoPaulo.profissao);

E A CLASSE TITULAR

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

namespace bytebank { public class titular { public string nome; public string cpf; public string profissao;

}

}"

6 respostas

Ficou um pouco mal formatado o código. Se puder colocar tudo dentro das ``` fica melhor de visualizar, mas me parece que você está tentando colocar toda uma classe Conta (contadoPaulo) em uma variável que é do tipo Titular (conta.titular) O que você queria fazer nessa linha? Se era atribuir uma conta à outra, creio que basta colocar

conta = contadoPaulo

se a ideia é pegar o nome do Paulo:

conta.titular.nome = contadoPaulo.titular.nome

Não tenho certeza também de como está estruturando a hierarquia das coisas, mas seria +- isso daí.

é que o site nao entendeu tudo como codigo

aqui a classe conta corrente

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

namespace bytebank { public class contacorrente { public string titular; public double saldo; public int agencia;

    //PRiMEIRO METODO
    public void depositar(double valor){
        this.saldo= this.saldo+valor;
    }

//Segundo MEtodo
public void sacar(double valor){
    if(valor<=saldo){
    this.saldo=this.saldo-valor;
}else{
    Console.WriteLine("Saldo insuvicente ");
}
}


public void transferir(double valor,contacorrente destino){
    if(valor<valor){
        Console.WriteLine("Nao foi possivel transferir");
    }else{
        this.saldo=this.saldo-valor;
        destino.saldo=destino.saldo+valor;
       Console.WriteLine("Transferencia feita ");
    }
}

} }

solução!

Ah tá. entendi!

Parece que você está criando uma Classe Titular e também está criando um atributo do tipo String chamado Titular. Por isso está ocorrendo essa confusão.

Recomendo trocar o nome de uma das duas variáveis para alguma outra coisa, ou talvez repensar a necessidade de todas elas no código.

Talvez você consiga resolver também simplesmente trocando a definição da classe conta corrente de

namespace bytebank {
    public class contacorrente {
        public string titular;
        public double saldo; 
        public int agencia;
    }
}
Para
namespace bytebank {
    public class contacorrente {
        public Titular titular;
        public double saldo; 
        public int agencia;
    }
}

Note que para isso funcionra, você precisa deixar a classe Titular com T maiúsculo também.

funcionou

public class contacorrente { public string titular;

    titular é uma string e eu estava tentando por um objeto

eu nao tinha atualizado a pagina e nao tinha visto a sua soluçao