eu estava tentando implementar remover contas da aula 4
public void RemoveConta(Conta c)
{
comboContas.Items.Remove(c);
comboTransfere.Items.Add(c);
int i;
for (i = 0; i < this.QuantidadeDeContas; i++)
{
if (this.contas[i] == c)
{
break;
}
}
while (i + 1 < this.QuantidadeDeContas)
{
this.contas[i] = this.contas[i + 1];
i++;
}
}
private void RemoverConta_Click(object sender, EventArgs e)
{
int IndiceSelecionado = comboContas.SelectedIndex;
Conta ContaSelecionada = contas[IndiceSelecionado];
RemoveConta(ContaSelecionada);
}
mas simplesmente não acontece nada, já tentei ver como o instrutor fez pelos "arquivos da aula", está praticamente do mesmo jeito, só que não funciona como deveria.
Tentei usar um método mais direto que tambem não funcionou
private void RemoverConta_Click(object sender, EventArgs e)
{
int IndiceSelecionado = comboContas.SelectedIndex;
Conta ContaSelecionada = contas[IndiceSelecionado];
comboContas.Items.Remove(ContaSelecionada);
comboTransfere.Items.Remove(ContaSelecionada);
}
Se alguém puder ajudar.Desde já agradeço.
using Empresa.CaixaEletronico10.Clientes;
using Empresa.CaixaEletronico10.Contas;
namespace Empresa.CaixaEletronico10
{
public partial class Form1 : Form
{
private int QuantidadeDeContas=3;
private Conta[] contas = new Conta[20];
TotalizadorDeContas SaldoTotal = new TotalizadorDeContas();
public Form1()
{
InitializeComponent();
}
public void TotalSaldo()
{
foreach(Conta conta in contas)
{
SaldoTotal.Adiciona(conta);
}
textSaldoTotal.Text = Convert.ToString(SaldoTotal.SaldoTotal);
foreach (Conta conta in contas)
{
SaldoTotal.Retira(conta);
}
}
private void Form1_Load(object sender, EventArgs e)
{
ContaCorrente c1 = new ContaCorrente();
c1.Titular = new Cliente();
c1.Titular.Nome = "Alexander";
c1.Titular.CPF = "123456789 - 00";
c1.Titular.Emancipado = true;
c1.Titular.Idade = 18;
c1.Numero = 1;
contas[0] = c1;
ContaPoupanca c2 = new ContaPoupanca();
c2.Titular = new Cliente();
c2.Titular.Nome = "Bassani";
c2.Titular.CPF = "987654321 - 00";
c2.Titular.Emancipado = true;
c2.Titular.Idade = 18;
c2.Numero = 3;
contas[1] = c2;
ContaInvestimento c3 = new ContaInvestimento();
c3.Titular = new Cliente();
c3.Titular.Nome = "Amaral";
c3.Titular.CPF = "147896325 - 00";
c3.Titular.Emancipado = true;
c3.Titular.Idade = 18;
c3.Numero = 3;
contas[2] = c3;
foreach(Conta conta in contas)
{
if (conta != null)
{
comboContas.Items.Add(conta.Titular.Nome);
comboTransfere.Items.Add(conta.Titular.Nome);
}
}
this.TotalSaldo();
}
private void comboContas_SelectedIndexChanged(object sender, EventArgs e)
{
int IndiceSelecionada = comboContas.SelectedIndex;
Conta ContaSelecionada = contas[IndiceSelecionada];
textNome.Text = ContaSelecionada.Titular.Nome;
textNumero.Text = Convert.ToString(ContaSelecionada.Numero);
textCPF.Text = Convert.ToString(ContaSelecionada.Titular.CPF);
textSaldo.Text = Convert.ToString(ContaSelecionada.Saldo);
textRendimento.Text = Convert.ToString(ContaSelecionada.RendimentoAnual());
}
private void Sacar_Click(object sender, EventArgs e)
{
int IndiceSelecionada = comboContas.SelectedIndex;
Conta ContaSelecionada = contas[IndiceSelecionada];
string numero = textValor.Text;
double valor = Convert.ToDouble(numero);
try
{
ContaSelecionada.Sacar(valor);
MessageBox.Show("Dinheiro Liberado");
textSaldo.Text = Convert.ToString(ContaSelecionada.Saldo);
textRendimento.Text = Convert.ToString(ContaSelecionada.RendimentoAnual());
this.TotalSaldo();
}
catch(SaldoInsuficienteException)
{
MessageBox.Show("Saldo insuficiente");
}
catch (ArgumentException)
{
MessageBox.Show("Não é possível sacar um valor negativo");
}
this.TotalSaldo();
}
private void Depositar_Click(object sender, EventArgs e)
{
int IndiceSelecionada = comboContas.SelectedIndex;
Conta ContaSelecionada = contas[IndiceSelecionada];
string numero = textValor.Text;
double valor = Convert.ToDouble(numero);
try
{
ContaSelecionada.Deposita(valor);
MessageBox.Show("Dinheiro Depositado");
textSaldo.Text = Convert.ToString(ContaSelecionada.Saldo);
textRendimento.Text = Convert.ToString(ContaSelecionada.RendimentoAnual());
this.TotalSaldo();
}
catch (ArgumentException)
{
MessageBox.Show("Não é possível sacar um valor negativo");
}
}
private void Transferir_Click(object sender, EventArgs e)
{
int IndiceSelecionado = comboContas.SelectedIndex;
Conta ContaSelecionada = contas[IndiceSelecionado];
int IndiceSelecionado2 = comboTransfere.SelectedIndex;
Conta ContaSelecionada2 = contas[IndiceSelecionado2];
string numero = textValor.Text;
double valor = Convert.ToDouble(numero);
try
{
if (ContaSelecionada == ContaSelecionada2)
{
throw new ContaIgualExcepiton();
}
ContaSelecionada.Transfere(valor, ContaSelecionada2);
MessageBox.Show("Dinheiro Transferido de "+ContaSelecionada.Titular.Nome + " para "+ContaSelecionada2.Titular.Nome);
textSaldo.Text = Convert.ToString(ContaSelecionada.Saldo);
textRendimento.Text = Convert.ToString(ContaSelecionada.RendimentoAnual());
this.TotalSaldo();
}
catch (SaldoInsuficienteException)
{
MessageBox.Show("Saldo insuficiente para transferencia");
}
catch (ArgumentException)
{
MessageBox.Show("Não é possível transferir um valor negativo");
}
catch (ContaIgualExcepiton)
{
MessageBox.Show("Selecione outro destinatario para a transferencia");
}
/*
catch (valorNuloException)
{
MessageBox.Show("Digite um valor");
}
*/
}
private void TributosTotal_Click(object sender, EventArgs e)
{
TotalizadorDeTributos Tributos = new TotalizadorDeTributos();
ContaInvestimento ci = new ContaInvestimento();
ContaPoupanca cp = new ContaPoupanca();
ci.Titular = new Cliente();
cp.Titular = new Cliente();
cp.Titular.Emancipado = true;
ci.Titular.Emancipado = true;
cp.Titular.CPF = "0000";
ci.Titular.CPF = "0000";
ci.Deposita(1500.0);
cp.Deposita(1000.0);
Tributos.Acumula(ci);
Tributos.Acumula(cp);
MessageBox.Show("Tributos: " + Tributos.Total);
Tributos.Retira(ci);
Tributos.Retira(cp);
}
private void ContasCorrente_Click(object sender, EventArgs e)
{
ContaCorrente conta = new ContaCorrente();
MessageBox.Show("Proxima Contas:" + conta.ProximaConta());
MessageBox.Show("Numero Contas:" + conta.NumeroDeConta());
conta.ProximaConta();
}
private void ContasIguais_Click(object sender, EventArgs e)
{
Cliente cliente01 = new Cliente("Alex");
cliente01.RG = "1234-0";
Cliente cliente02 = new Cliente("Bass");
cliente02.RG = "1234-0";
MessageBox.Show("RG Igual? " + cliente01.Equals(cliente02));
MessageBox.Show(cliente01.ToString());
MessageBox.Show(cliente02.ToString());
}
//---------------------------------------------------------------------------------------------------
public void AdicionaConta(Conta c)
{
if (this.QuantidadeDeContas == this.contas.Length)
{
Conta[] novo = new Conta[this.contas.Length * 2];
for (int i = 0; i < this.QuantidadeDeContas; i++)
{
novo[i] = this.contas[i];
}
this.contas = novo;
}
this.contas[this.QuantidadeDeContas] = c;
this.QuantidadeDeContas++;
comboContas.Items.Add(c.Titular.Nome);
}
public void RemoveConta(Conta c)
{
comboContas.Items.Remove(c);
comboTransfere.Items.Add(c);
int i;
for (i = 0; i < this.QuantidadeDeContas; i++)
{
if (this.contas[i] == c)
{
break;
}
}
while (i + 1 < this.QuantidadeDeContas)
{
this.contas[i] = this.contas[i + 1];
i++;
}
}
private void AdicionarCONTAS_Click(object sender, EventArgs e)
{
CadastroDeContas Cadastro = new CadastroDeContas(this);
Cadastro.ShowDialog();
}
private void RemoverConta_Click(object sender, EventArgs e)
{
int IndiceSelecionado = comboContas.SelectedIndex;
Conta ContaSelecionada = contas[IndiceSelecionado];
RemoveConta(ContaSelecionada);
}
}
}
using Empresa.CaixaEletronico10.Clientes;
using Empresa.CaixaEletronico10.Contas;
namespace Empresa.CaixaEletronico10
{
public partial class CadastroDeContas : Form
{
private Form1 AplicaçãoPrincipal;
public CadastroDeContas(Form1 AplicaçãoPrincipal)
{
this.AplicaçãoPrincipal=AplicaçãoPrincipal;
InitializeComponent();
}
private void CadastroDeContas_Load(object sender, EventArgs e)
{
this.comboTipoDeConta.Items.Add("Conta Corrente");
this.comboTipoDeConta.Items.Add("Conta Poupança");
this.comboTipoDeConta.Items.Add("Conta Investimento");
}
private void comboTipoDeConta_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string titular = textTitularDaConta.Text;
int numero = Convert.ToInt32(textNumeroDaConta.Text);
string cPF = textCPFDoTitular.Text;
int idade = Convert.ToInt32(textIdadeDoTitular.Text);
Conta c;
if (comboTipoDeConta.Text.Equals("Conta Poupança"))
{
c = new ContaPoupanca();
}
else if (comboTipoDeConta.Text.Equals("Conta Corrente"))
{
c = new ContaCorrente();
}
else
{
c = new ContaInvestimento();
}
c.Numero = Convert.ToInt32(textNumeroDaConta.Text);
c.Titular = new Cliente();
c.Titular.Nome = textTitularDaConta.Text;
c.Titular.CPF = textCPFDoTitular.Text;
c.Titular.Idade = Convert.ToInt32(textIdadeDoTitular.Text);
this.AplicaçãoPrincipal.AdicionaConta(c);
}
}
}