Skip to content

Instantly share code, notes, and snippets.

@Lu1zLuna
Last active July 27, 2022 05:47
Show Gist options
  • Save Lu1zLuna/48d2fbb58e577c02c18ab16743102907 to your computer and use it in GitHub Desktop.
Save Lu1zLuna/48d2fbb58e577c02c18ab16743102907 to your computer and use it in GitHub Desktop.
Programa que simula o cadastro de uma conta bancária, com funções de depósito e saque de saldo. Utilizando os princípios de POO que aprendi até o momento.
using System;
using System.Globalization;
namespace ExercicioContaBancaria {
internal class ContaBancaria {
#region Atributos
public double Saldo { get; private set; }
public int NumeroConta { get; private set; }
public string Nome { get; set; }
#endregion
#region Construtores
public ContaBancaria(int numero, string nome) {
NumeroConta = numero;
Nome = nome;
//Nesse caso, por padrão o Saldo será 0.
}
public ContaBancaria(int numero, string nome, double depositoInicial) : this(numero, nome) {
Deposito(depositoInicial);
}
#endregion
#region métodos
//Verificar se a entrada foi um "sim" ou um "não"
public void SimOuNao(char resposta) {
if (resposta == 's' || resposta == 'S') {
}
}
// Adicionar dinheiro ao saldo:
public void Deposito(double quantia) {
Saldo += quantia;
}
// retirar dinheiro do saldo:
public void Saque(double quantia) {
double taxa = 5; // Há uma taxa fixa de R$ 5.00 para saques
Saldo -= quantia + taxa;
}
// Modifica a string da classe:
public override string ToString() {
return $"Conta: {NumeroConta}, Titular: {Nome}, " +
$"Saldo: $ {Saldo.ToString("F2", CultureInfo.InvariantCulture)}";
}
#endregion
}
}
using System;
using System.Globalization;
namespace ExercicioContaBancaria {
internal class Program {
static void Main(string[] args) {
ContaBancaria conta; //Instancia a classe ContaBancaria
char fazerCadastro, checaDepositoInicial;
int numeroConta;
string nomeTitular;
Console.WriteLine("Olá! Bem-vindo seu aplicativo de conta bancária\n");
Console.Write("Deseja realizar seu cadastro (s/n)? ");
fazerCadastro = Char.Parse(Console.ReadLine());
#region cadastro
if (fazerCadastro == 's' || fazerCadastro == 'S') {
#region ler numero da conta, nome e checar depósito inicial
Console.Write("Certo, então vamos lá!\n\n" +
"Digite o número da conta: ");
numeroConta = int.Parse(Console.ReadLine());
Console.Write("Digite o nome do titular da conta: ");
nomeTitular = Console.ReadLine();
Console.WriteLine("Haverá depósito inicial (s/n)?" );
checaDepositoInicial = char.Parse(Console.ReadLine());
#endregion
if (checaDepositoInicial == 's' || checaDepositoInicial == 'S') {
Console.Write("Digite o valor do depósito inicial: ");
double depositoInicial = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
conta = new ContaBancaria(numeroConta, nomeTitular, depositoInicial); /*chama o construtor da classe ContaBancaria
armazenando o deposito inicial*/
#region realizar o depósito
Console.Write("Digite o valor para depósito: ");
double quantia = double.Parse(Console.ReadLine());
conta.Deposito(quantia);
Console.WriteLine("Dados da conta atualizado:\n" + conta);
#endregion
#region realizar o saque
Console.Write("Digite o valor para saque: ");
quantia = double.Parse(Console.ReadLine());
conta.Saque(quantia);
Console.WriteLine("Dados da conta atualizado:\n" + conta);
#endregion
}
else {
conta = new ContaBancaria(numeroConta, nomeTitular); /*nesse caso, não há depósito inicial, então o construtor
leva apenas 2 argumentos.*/
}
Console.WriteLine("\n" +
"Dados da conta:\n" +
conta);
}
#endregion
#region cadastro não altorizado
else if (fazerCadastro == 'n' || fazerCadastro == 'N') {
Console.Write("Tudo bem! Nesse caso o programa será encerrado aqui ;)");
}
else {
Console.Write($"Ops, \"{fazerCadastro}\" não foi é uma opção válida. O programa será encerrado.");
}
#endregion
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment