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

duvida

Não da nenhuma mensagem de erro mas também não aparece nada em nenhuma das minha textBox.

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 CaixaEletronico
            {
                public partial class Form1 : Form
                {
                    public Form1()
                    {
                        InitializeComponent();
                    }

                    private void Form1_Load(object Sender, EventArgs e)
                    {
                        Conta conta = new Conta();
                        conta.Titular = new Cliente();
                        conta.Titular.Nome = "bruno";
                        conta.Numero = 1;
                        conta.Deposita(250);

                        textTitular.Text = conta.Titular.Nome;
                        textNumero.Text = Convert.ToString(conta.Numero);
                        textSaldo.Text = Convert.ToString(conta.Saldo);
                    }
                }
            }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CaixaEletronico
{
    class Conta
    {
        public int Numero {get; set;}
        public Cliente Titular { get; set;}
        public double Saldo { get; private set; }

        //atributos agencias e cpf omitidos

        public void Deposita(double valorASerDepositado)
        {
            if (valorASerDepositado >= 0)
            {
                this.Saldo += valorASerDepositado;
            }
        }

        public bool Saca(double valorASerSacado)
        {
            if (valorASerSacado > this.Saldo || valorASerSacado < 0)
            {
                return false;
            }
            else
            {
                if (this.Titular.EhMaiorDeIdade())
                {
                    this.Saldo -= valorASerSacado;
                    return true;
                }
                else
                {
                    if (valorASerSacado <= 200)
                    {
                        this.Saldo -= valorASerSacado;
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
        }

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

        public double CalculaRendimentoAnual()
        {
            double saldoNaqueleMes = this.Saldo;

            for (int i = 0; i < 12; i++)
            {
                saldoNaqueleMes = saldoNaqueleMes * 1.007;
            }

            double rendimento = saldoNaqueleMes - this.Saldo;

            return rendimento;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CaixaEletronico
{
    class Cliente
    {
        public string Nome {get; set;}
        public string rg;
        public string cpf;
        public string endereco; 
        public int idade;

        public Cliente(string nome)
        {
            this.Nome = nome;
        }
        public Cliente() { }// pq nome é opcional

        public bool EhMaiorDeIdade()
        {
            return this.idade >= 18;
        }
    }
}
6 respostas

Boa noite Bruno,

Fiz exatamente o mesmo código com vc e funcionou.

Você mudou o nome dos TextBox corretamente em "properties"?

Em seu código está textTitular, textNumero e textSaldo, sem o "o" de "texto" sugerido no exercício.

Além disso, vc clicou duas vezes no Form ou digitou o método Page_Load? Pq não adianta criar o método/evento sem referencia-lo tbm

Então, os nomes estão certos ''text...'' e eu cliquei duas vezes na caixa de texto. Vou tentar refazer esse exercício, Obrigado pela atenção .

solução!

E aí Brunão, conseguiu?

Uma dica muito legal pra você identificar isso é "debuggando". O debugger é um dos melhores amigos do desenvolvedor. Já sabe "debuggar"? Caso não, para "debuggar" você precisa colocar um ou mais break points no seu código, assim o compilador sempre para a execução neles quando encontrá-los e você poderá ver o que está ocorrendo passo a passo.

Manja o seu método Form1_Load()? Então, coloca um break point na primeira linha dele apertando F9 no teclado (na linha que você cria a referência e objeto Conta). Depois, dê F5. O compilador vai parar no break point e você pode seguir passo a passo apertando F10 ou F11. Com o F10 ele vai passo a passo, mas não entra em métodos adicionais, já o F11 vai bem afundo, entrando em cada método, até nos construtores das classes. Enfim, essa dica é interessante porque você pode usar o F10 para navegar até os textboxes e ver, deixando o cursor do mouse em cima das variáveis, qual valor elas estão passando para os textboxes.

Existem botões nas barras e menus do Visual Studio para executar as mesmas funções dos atalhos de teclado que mencionei, caso prefira.

Enfim, por mais que já talvez tenha resolvido esse exercício, pode ser útil para os próximos.

Po agora consegui, valeu pela dica!! Esta me ajudando muito. Estou gostando muito do Visual Studio. Alguém conhece um similar para ubuntu?

Tem o Visual Studio Code, é parecido com o VS Community mas foi feito para rodar no linux também.

Realmente o Visual Studio é um tremendo IDE. O Code pra Linux ainda não chega no pra Windows, mas acho que chegaremos lá...