} // exercicio675_Click /// <summary> /// Qual a saída do código? /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio678_Click(object sender, EventArgs e) { // Criando a conta do mauricio e preenchendo o saldo Conta mauricio = new Conta(); // Agora o saldo não pode mais ser alterado diretamente. Só utilizando métodos. //mauricio.Saldo = 2000.0; mauricio.Deposita(2000); // Criando a conta do guilherme e preenchendo o saldo Conta guilherme = new Conta(); // Agora o saldo não pode mais ser alterado diretamente. Só utilizando métodos. //guilherme.Saldo = 5000.0; guilherme.Deposita(5000); // Alterando os saldos das contas // Agora o saldo não pode mais ser alterado diretamente. Só utilizando métodos. //mauricio.Saldo -= 200.0; mauricio.Deposita(-200); // Agora o saldo não pode mais ser alterado diretamente. Só utilizando métodos. //guilherme.Saldo += 200.0; guilherme.Deposita(200); // Exibindo os saldos das contas MessageBox.Show("mauricio = " + mauricio.Saldo); MessageBox.Show("guilherme = " + guilherme.Saldo); } // fim exercicio678_Click
private void button12_Click(object sender, EventArgs e) { Conta c = new Conta(); double valorADepositar = 200.0; c.Deposita(valorADepositar); }
public void Transfere(double valor, Conta destino) { if (this.Saca(valor)) { destino.Deposita(valor); } }
} // fim exercicio6713_Click /// <summary> /// Alterando o método Saca para trabalhar com limite /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio6714_Click(object sender, EventArgs e) { // Declarando uma conta e preenchendo atributos Conta c1 = new Conta(); //c1.Saldo = 2000.0; c1.Deposita(2000); // Agora a idade não fica mais em conta, fica na classe cliente. Para acessar esse valor, preciso criar um cliente e acessar o atributo titular. //c1.idade = 16; c1.Titular = new Cliente(); c1.Titular.Nome = "Ana"; c1.Titular.Idade = 16; // Testa o metodo saca agora com limite por idade. SE retornou "true" ... if (c1.Saca(500)) { // ... exibir mensagem de saque efetuado com sucesso. MessageBox.Show("Saque efetuado com sucesso"); } else // CASO CONTRÁRIO ... // ... exibir mensagem de erro genérico, já que pode ser tanto saldo insuficiente quanto limite inválido. { MessageBox.Show("Ocorreu um erro ao sacar"); } } // fim exercicio6714_Click
} // fim exercicio6712_Click /// <summary> /// Alterando o método Saca para retornar o valor /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio6713_Click(object sender, EventArgs e) { // Cria uma conta e preenche seus atributos Conta c1 = new Conta(); //c1.Saldo = 2000.0; c1.Deposita(2000); // Agora a idade não fica mais em conta, fica na classe cliente. Para acessar esse valor, preciso criar um cliente e acessar o atributo titular. //c1.idade = 16; c1.Titular = new Cliente(); c1.Titular.Nome = "Ana"; c1.Titular.Idade = 16; // SE o saque for um sucesso... if (c1.Saca(500)) { // Exibe a mensagem de sucesso MessageBox.Show("Saque efetuado com sucesso"); } else { // Exibe a mensage de saldo insuficiente MessageBox.Show("Saldo insuficiente"); } } // fim exercicio6713_Click
} // fim exercicio548_Click /// <summary> /// Testes criando várias contas com atributos diferentes /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio675_Click(object sender, EventArgs e) { // Cria uma nova conta Conta contaVictor = new Conta(); // Preenche seus atributos, agora eles são propriedades // Agora o atributo titular não é mais do tipo String...é do tipo Cliente... //mauricio2.titular = "Mauricio"; contaVictor.Titular = new Cliente(); contaVictor.Titular.Nome = "Victor"; contaVictor.Numero = 1; // Agora o saldo não pode mais ser alterado diretamente. Só utilizando métodos. //contaVictor.Saldo = 100.0; contaVictor.Deposita(100); // Exibe o nome do titular preenchido. MessageBox.Show(contaVictor.Titular.Nome); // Repetindo a operacao anterior com novos valores Conta contaLeo = new Conta(); // Agora o atributo titular não é mais do tipo String...é do tipo Cliente... //mauricio2.titular = "Mauricio"; contaLeo.Titular = new Cliente(); contaLeo.Titular.Nome = "Leo"; contaLeo.Numero = 2; // Agora o saldo não pode mais ser alterado diretamente. Só utilizando métodos. //contaLeo.Saldo = 200.0; contaLeo.Deposita(200); // Exibe o saldo da conta do Leo MessageBox.Show("Saldo: " + contaLeo.Saldo); } // exercicio675_Click
private void button21_Click(object sender, EventArgs e) { Conta contaVictor = new Conta(); Cliente victor = new Cliente(); victor.nome = "victor"; contaVictor.titular = victor; contaVictor.numero = 1; contaVictor.saldo = 100.0; contaVictor.Deposita(100.0); MessageBox.Show("Saldo atual: " + contaVictor.saldo); contaVictor.Saca(50.0); MessageBox.Show("Saldo atual: " + contaVictor.saldo); Conta contaAlessandro = new Conta(); Cliente alessandro = new Cliente(); alessandro.nome = "Alessandro"; contaAlessandro.titular = alessandro; contaAlessandro.numero = 2; contaAlessandro.saldo = 0.0; contaAlessandro.Deposita(1000.0); MessageBox.Show("Saldo atual: " + contaAlessandro.saldo); contaAlessandro.Saca(500.0); MessageBox.Show("Saldo atual: " + contaAlessandro.saldo); }
} // fim Saca /// <summary> /// Realiza uma transferencia entre contas /// </summary> /// <param name="destino">A referência para a conta de destino</param> /// <param name="valor">O valor a ser transferido</param> public void Transfere(Conta destino, double valor) { // Tenta realizar um saque da conta de origem (this) bool sucesso = this.Saca(valor); // SE foi um sucesso... if (sucesso) { // ... deposita na conta de destino destino.Deposita(valor); } // fim if } // fim Transfere
} // fim exercicio6710_Click /// <summary> /// Implementando e usando o método transfere /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio6711_Click(object sender, EventArgs e) { // Valor a ser transferido double valor = 1000; // Criando a conta de origem Conta origem = new Conta(); //origem.Saldo = 2000.0; origem.Deposita(2000); // Criando a conta de destino Conta destino = new Conta(); // Transferindo um valor da conta de origem para a conta de destino origem.Transfere(destino, valor); // Exibe uma mensagem com o valor de transferência e os saldos das duas contas MessageBox.Show("Valor transferido: " + valor + "\nSaldo c1: " + origem.Saldo + "\nSaldo c2: " + destino.Saldo); } // fim exercicio6711_Click
} // fim exercicio679_Click/ /// <summary> /// Qual é a saída do código? /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio6710_Click(object sender, EventArgs e) { // Criando a conta do mauricio e atribuindo um saldo Conta mauricio = new Conta(); //mauricio.saldo = 2000.0; mauricio.Deposita(2000); // Copiando a referência da variavel mauricio e colando na variavel copia Conta copia = mauricio; // Alterando o atributo saldo do objeto da referência de copia //copia.saldo = 3000.0; copia.Deposita(3000); // Exibindo os saldos. // Nesse caso, os saldos serão iguais. Como mauricio e copia possuem a referência para um mesmo objeto, // se um deles modificar um atributo, o outro irá enxergar a mudança automaticamente. MessageBox.Show("mauricio = " + mauricio.Saldo); MessageBox.Show("copia = " + copia.Saldo); } // fim exercicio6710_Click
} // fim exercicio678_Click /// <summary> /// Qual a saída do código? /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio679_Click(object sender, EventArgs e) { // Criando a conta do mauricio e preenchendo os atributos Conta mauricio = new Conta(); mauricio.Numero = 1; // Agora o atributo titular não é mais do tipo String...é do tipo Cliente... //mauricio2.titular = "Mauricio"; mauricio.Titular = new Cliente(); mauricio.Titular.Nome = "Maurício"; //mauricio.Saldo = 100.0; mauricio.Deposita(100); // Criando outra conta do mauricio e preenchendo os atributos com os mesmos valores Conta mauricio2 = new Conta(); mauricio2.Numero = 1; // Agora o atributo titular não é mais do tipo String...é do tipo Cliente... //mauricio2.titular = "Mauricio"; mauricio2.Titular = new Cliente(); mauricio2.Titular.Nome = "Maurício"; //mauricio2.Saldo = 100.0; mauricio2.Deposita(100); // SE mauricio e mauricio2 forem iguais... if (mauricio == mauricio2) { // ... Exibe mensagem de iguais MessageBox.Show("As contas são iguais"); } // fim if else // CASO CONTRÁRIO... { // ... Exibe mensagem de diferentes // Neste caso, as contas são diferentes, mesmo que seus valores sejam idênticos. // Como criamos duas referências diferentes (fizemos "new" duas vezes"), são objetos diferentes, com valores de atributos iguais. // Isso faz diferença. MessageBox.Show("As contas são diferentes"); } // fim else } // fim exercicio679_Click/
} // fim exercicio6711_Click /// <summary> /// Adicionando uma validação no método Saca /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void exercicio6712_Click(object sender, EventArgs e) { // Criando uma conta e inicializando seu saldo Conta c1 = new Conta(); //c1.Saldo = 2000.0; c1.Deposita(2000); // Realiza um saque e recupera o resultado bool sucesso = c1.Saca(500); // SE foi um sucesso ... if (sucesso) { // ... exibe a mensagem de sucesso MessageBox.Show("Saque efetuado com sucesso!"); } else // CASO CONTRÁRIO... // ... exibe a mensagem de saldo insuficiente { MessageBox.Show("Saldo insuficiente"); } } // fim exercicio6712_Click
public void Transfere(double valor, Conta destino) { this.Saca(valor); destino.Deposita(valor); }