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

Como mostrar o valor da transferência?

Boa tarde pessoal, tudo bem?

Tenho o costume de sempre escrever o código junto com o professor e depois tentar escrever eu mesmo para ver se memorizei. Aí nessas, eu quis implementar no código de exercício um Console.WriteLine que mostrasse qual o valor da transferência pra não termos apenas os valores finais.

Qual seria a solução? Segue o código até então:

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

namespace ExercícioByteBank
{
    class Program
    {
        static void Main(string[] args)
        {
            ContaCorrente contaDoBruno = new ContaCorrente();

            contaDoBruno.titular = "Bruno";
            contaDoBruno.saldo = 700;

            ContaCorrente contaDaGabriela = new ContaCorrente();

            contaDaGabriela.titular = "Gabriela";
            contaDaGabriela.saldo = 500;

            Console.WriteLine("O saldo de Bruno antes da transferência é: " + contaDoBruno.saldo);
            Console.WriteLine("O saldo de Gabriela antes da transferência é: " + contaDaGabriela.saldo);

            contaDoBruno.Transferir(200, contaDaGabriela);

            //Console.WriteLine("O valor da transferência é " + Qual parâmetro colocar aqui?);

            Console.WriteLine("O saldo de Bruno depois da transferência é: " + contaDoBruno.saldo);
            Console.WriteLine("O saldo de Gabriela depois da transferência é: " + contaDaGabriela.saldo);

            Console.ReadLine();

        }
    }
}
2 respostas

Não sei se tem como colocar esse valor desse jeito somente, pois você inseriu ele direto no método. Pra poder manipular ele, o ideal é guardar numa variável, conforme código abaixo:

Console.Write("Digite o valor de transferência: ") double valorTransf = int.Parse(Console.ReadLine());

contaDoBruno.Transferir(valorTransf, contaDaGabriela); Console.WriteLine("O valor da transferência é " +valorTransf);

solução!

Fala Marcelo, tranquilo?

Você tem que pensar na regra da sua aplicação, observe que quem realiza a transferência é a sua classe ContaCorrente, ou seja, ela quem deve informar esse valor.

Mesmo que você guarde o VALOR DA ENTRADA DO USUARIO na sua classe main, para no final ser exibido, não significa que vai ser esse valor mesmo que foi feito! Dentro do seu método transferir pode existir dezenas de calculos e verificações se esse valor que o usuario informou, de fato pode ser transferido.

O que eu posso te sugerir de momento:

Fazer o método Transferir retornar o valor da transferência.

ou

Criar uma propriedade dentro da classe ContaCorrente armazenando o valor da ultima transferência, dessa forma você pode acessa-la a qualquer momento.

E por ultimo,talvez o mais correto, criar uma nova classe para seu projeto e ir armazenando dentro de uma lista um historico de transferencia das contas, onde você vai poder acessar o valor, horario...

Ah, e não esquece de antes de exibir o valor da transferência para o usuário, fazer uma comparação se de fato o valor que ele inseriu foi o valor que foi transferido.

exemplo:

double valorTranferir = 200;
contaDoBruno.Transferir(valorTranferir, contaDaGabriela);

//nesse caso eu criei uma propriedade dentro da classe contaCorrente para armazenar o valor da ultima transferencia
double valorConfirmadoTransferencia = contaDoBruno.UltimaTransferencia;

if(valorConfirmadoTransferencia != valorTranferir)
{
    Console.WriteLine("não foi possivel realizar a transferencia");
}
else 
{
    Console.WriteLine("O valor da transferência é " + valorConfirmadoTransferencia );
}

Mesmo que seja apenas um exercicio, sempre tenha esse cuidado em tratar os dados de entrada do usuario e deixar que sua aplicação informe o valor que foi processado.

Qualquer duvida, pode mandar.