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

Não tá achando a conta, só aparece isso e o código não é para estar errado

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

4 respostas

Olá, Miguel! Tudo bem?

Pelo que dá para ver dos seus prints do terminal, a pesquisa de contas não está retornando os dados esperados, além de apresentar uma inconsistência no seu método de buscar conta pelo CPF.

Poderia recomendar várias verificações para que você faça no seu código para identificar esse problema, mas, recomendo que compartilhe comigo todo o seu código, assim conseguirei testar e achar o erro o mais rápido possível para não atrapalhar mais os seus estudos! Envie utilize o GitHub ou Drive do Google como meio.

Fico no aguardo e à disposição
solução!

Boa tarde, Miguel!

Analisando o seu código notei que o problema está nos Console.WriteLine(); dentro do seu método PesquisarContas que são responsáveis por mostrar as informações dos usuário.

Sendo mais direto, no seu Switch case tanto para o caso 1 quanto para o 2 você usou o método ToString no Console.Write() de forma errada como pode ver no trecho de código abaixo:

    switch (int.Parse(Console.ReadLine()))
    {
        case 1:
            {
                Console.Write("Informe o número da Conta: ");
                string _numeroConta = Console.ReadLine();
                ContaCorrente consultaConta = ConsultaPorNumeroConta(_numeroConta);
                Console.WriteLine(consultaConta.ToString);
                Console.ReadKey();
                break;
            }
        case 2:
            {
                Console.Write("Informe o CPF do Titular: ");
                string _cpf = Console.ReadLine();
                ContaCorrente consultaCpf = ConsultaPorCPFTitular(_cpf);
                Console.WriteLine(consultaCpf.ToString);
                Console.ReadKey();
                break;
            }
        default:
            Console.WriteLine("Opção não implementada.");
            break;
    }

Como é um método, você deveria chamar colocando parênteses a frente do nome Console.WriteLine(consultaCpf.ToString()); e não como se fosse uma propriedade, apenas passando o nome Console.WriteLine(consultaCpf.ToString);.

Então a solução é apenas adicionar esses pares de parênteses a frente do ToString():

    switch (int.Parse(Console.ReadLine()))
    {
        case 1:
            {
                Console.Write("Informe o número da Conta: ");
                string _numeroConta = Console.ReadLine();
                ContaCorrente consultaConta = ConsultaPorNumeroConta(_numeroConta);
                Console.WriteLine(consultaConta.ToString());
                Console.ReadKey();
                break;
            }
        case 2:
            {
                Console.Write("Informe o CPF do Titular: ");
                string _cpf = Console.ReadLine();
                ContaCorrente consultaCpf = ConsultaPorCPFTitular(_cpf);
                Console.WriteLine(consultaCpf.ToString());
                Console.ReadKey();
                break;
            }
        default:
            Console.WriteLine("Opção não implementada.");
            break;
    }

Espero ter ajudado!

O que a falta de um parênteses não faz