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

Quando digito o valor para realizar saque ou deposito ele da erro

insira seu código aqui

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CaixaEle
{
    public partial class Form1 : Form
    {
         Conta conta;
        public Form1()
        {
            InitializeComponent();

    }

        private void button1_Click(object sender, EventArgs e)
        {
            Cliente cliente = new Cliente("luis");
            MessageBox.Show(cliente.nome);
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Conta conta = new Conta();
            conta.titular = "Luis Amaral";
            conta.numero = 1;
            conta.Deposita(250);

            txtSaldo.Text = Convert.ToString(conta.Saldo);
            txtNumero.Text = Convert.ToString(conta.numero);
            txtTitular.Text = conta.titular;


        }

        private void txtNumero_TextChanged(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {


            string textoDoValorDoDeposito = txtValor.Text;
            double valorDeposito = Convert.ToDouble(textoDoValorDoDeposito);
            this.conta.Deposita(valorDeposito);

            txtSaldo.Text = Convert.ToString(conta.Saldo);
            txtNumero.Text = Convert.ToString(conta.numero);
            txtTitular.Text = conta.titular;
        }

        private void button3_Click(object sender, EventArgs e)
        {


            string textoDoValorDoSaque = txtValor.Text;
            double valorSaque = Convert.ToDouble(textoDoValorDoSaque);
            this.conta.Saca(valorSaque);

            txtSaldo.Text = Convert.ToString(conta.Saldo);
            txtNumero.Text = Convert.ToString(conta.numero);
            txtTitular.Text = conta.titular;

        }
    }
}

insira seu código aqui

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

namespace CaixaEle
{
    class Conta
    {
        public int numero { get; set; }
        public string titular { get; set; }
        public double Saldo { get; private set; }
        public string cpf;
        public int agencia;

        public Cliente cliente;

        public void Saca(double valorSaque)
        {
            this.Saldo -= valorSaque;
        }

        public void Deposita(double valorDeposito)
        {
            this.Saldo += valorDeposito;
        }

        public void Transfere(double valor, Conta destino)
        {
            this.Saca(valor);
            destino.Deposita(valor);

        }


    }
}
6 respostas

Luis, edita teu post e coloca teu código no lugar de insira seu código aqui, entre os 2 grupos de 3 sinais, pra poder aparecer o código direitinho. Daí fica mais fácil pra gente dar uma olhada.

Abraço.

Pode postar tua classe Conta também?

Corrigi a postagem.

qual erro que aparece?

digito o valor no textbox e clico no botão ele traz esse erro

Ocorreu uma exceção sem tratamento do tipo "System.NullReferenceException" em CaixaEle.exe

Informações adicionais: Referência de objeto não definida para uma instância de um objeto.

solução!

Na sua função Form_Load tente isso:

private void Form1_Load(object sender, EventArgs e)
        {
            this.conta = new Conta();
            conta.titular = "Luis Amaral";
            conta.numero = 1;
            conta.Deposita(250);

            txtSaldo.Text = Convert.ToString(conta.Saldo);
            txtNumero.Text = Convert.ToString(conta.numero);
            txtTitular.Text = conta.titular;


        }

Ao invés de Conta conta = new Conta() coloque this.conta = new Conta(). Me parece que ao carregar o formulário a variável conta, nesta função, não é o atributo da sua classe do formulário. Ou seja, você está criando uma conta em uma variável local, e seu atributo conta acessado pelo this.conta continua nulo, sem inicializado.