Fiz o exercício e ele compilou, porém no lugar do nome do cliente ele mostra "CaixaEletronico.Cliente". Todo o resto funciona corretamente.
Baixei os arquivos da unidade, porém ele não contém a resolução desse exercício.
Meu código:
//Form1.cs
namespace CaixaEletronico
{
public partial class Form1 : Form
{
Conta[] contas;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
contas = new Conta[2];
Cliente fabio = new Cliente("Fabio Jordão");
contas[0] = new Conta();
contas[0].Numero = 1;
contas[0].Titular = fabio;
contas[0].Deposita(6700);
contas[1] = new Conta();
Cliente joao = new Cliente("João da Silva");
contas[1].Numero = 2;
contas[1].Titular = joao;
contas[1].Deposita(100);
foreach (Conta conta in contas)
{
ComboContas.Items.Add(conta.Titular);
}
}
private void ComboContas_SelectedIndexChanged(object sender, EventArgs e)
{
int indiceSelecionado = ComboContas.SelectedIndex;
Conta contaSelecionada = contas[indiceSelecionado];
textoTitular.Text = contaSelecionada.Titular.Nome;
textoNumero.Text = Convert.ToString(contaSelecionada.Numero);
TextoSaldo.Text = Convert.ToString(contaSelecionada.Saldo);
}
}
////////////////////////////////////////---------------------------------------------
class Banco
{
private Conta[] contas = new Conta[10];
private int quantidade;
public void Adiciona (Conta conta)
{
this.contas[this.quantidade] = conta;
this.quantidade++;
}
}
////////////////////////////////////////---------------------------------------------
class Cliente
{
public string Nome { get; set; }
public string rg;
public string cpf;
public string endereco;
public int idade;
public Cliente (string nomeCliente)
{
this.Nome = nomeCliente;
}
public bool EhMaiorDeIdade()
{
return this.idade >= 18;
}
}
////////////////////////////////////////---------------------------------------------
class Conta
{
public int Numero { get; set; }
public Cliente Titular { get; set; }
public double Saldo { get; protected set; }
public void Deposita(double valorASerDepositado)
{
if (valorASerDepositado > 0)
{
this.Saldo += valorASerDepositado;
}
}
public virtual 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;
}
}