From df48a9a65b974849c5080442f3a3093fb1664677 Mon Sep 17 00:00:00 2001 From: joaovitorvneves Date: Tue, 21 Nov 2023 08:11:54 -0300 Subject: [PATCH 1/4] msg --- Banco.hpp | 26 --------------------- ContaBancaria.hpp | 33 --------------------------- ContaCorrente.hpp | 23 ------------------- ContaPoupanca.hpp | 18 --------------- descricao.txt | 29 +++++++++++++++++++++++ include/Banco.hpp | 17 ++++++++++++++ include/ContaBancaria.hpp | 24 ++++++++++++++++++++ include/ContaCorrente.hpp | 18 +++++++++++++++ include/ContaPoupanca.hpp | 18 +++++++++++++++ src/Banco.cpp | 21 +++++++++++++++++ src/ContaBancaria.cpp | 44 +++++++++++++++++++++++++++++++++++ src/ContaCorrente.cpp | 25 ++++++++++++++++++++ src/ContaPoupanca.cpp | 20 ++++++++++++++++ src/main.cpp | 48 +++++++++++++++++++++++++++++++++++++++ 14 files changed, 264 insertions(+), 100 deletions(-) delete mode 100644 Banco.hpp delete mode 100644 ContaBancaria.hpp delete mode 100644 ContaCorrente.hpp delete mode 100644 ContaPoupanca.hpp create mode 100644 descricao.txt create mode 100644 include/Banco.hpp create mode 100644 include/ContaBancaria.hpp create mode 100644 include/ContaCorrente.hpp create mode 100644 include/ContaPoupanca.hpp create mode 100644 src/Banco.cpp create mode 100644 src/ContaBancaria.cpp create mode 100644 src/ContaCorrente.cpp create mode 100644 src/ContaPoupanca.cpp create mode 100644 src/main.cpp diff --git a/Banco.hpp b/Banco.hpp deleted file mode 100644 index 66b8739..0000000 --- a/Banco.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef BANCO_H -#define BANCO_H - -#include -#include -#include -#include "ContaBancaria.hpp" - -using namespace std; - -class Banco { -public: - void adicionarConta(ContaBancaria* conta) { - contas.push_back(conta); - } - - void exibir_todas_contas() { - for (ContaBancaria* conta : contas) { - std::cout << "Saldo da conta de " << conta->titular << ": R$" << conta->saldo << "\n"; - } - } - - std::vector contas; -}; - -#endif \ No newline at end of file diff --git a/ContaBancaria.hpp b/ContaBancaria.hpp deleted file mode 100644 index b11e26c..0000000 --- a/ContaBancaria.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef CONTA_BANCARIA_H -#define CONTA_BANCARIA_H - -#include -#include -#include - -class ContaBancaria { -public: - void depositar(double valor) { - if (valor > 0) { - saldo += valor; - std::cout << "Depósito de R$" << valor << " efetuado com sucesso.\n"; - } else { - std::cout << "Valor de depósito inválido.\n"; - } - } - -void sacar(double valor) { -if (valor > 0 && valor <= saldo) { -saldo -= valor; -std::cout << "Saque de R$" << valor << " efetuado com sucesso.\n"; -} else { -std::cout << "Saque inválido. Verifique o valor ou saldo insuficiente.\n"; -} -} - - - std::string titular; - double saldo; -}; - -#endif diff --git a/ContaCorrente.hpp b/ContaCorrente.hpp deleted file mode 100644 index 5736421..0000000 --- a/ContaCorrente.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef CONTA_CORRENTE_H -#define CONTA_CORRENTE_H - -#include -#include "ContaBancaria.hpp" - -class conta_corrente : public ContaBancaria { -public: -void usarChequeEspecial(double valor) { - double valorTotal = saldo + limiteChequeEspecial; - if (valor > 0 && valor <= valorTotal) { - saldo -= valor; - std::cout << "Uso de cheque especial de R$" << valor << " efetuado com sucesso.\n"; - } else { - std::cout << "Uso de cheque especial inválido. Verifique o valor ou limite.\n"; - } - } - - double limiteChequeEspecial; -}; - - -#endif \ No newline at end of file diff --git a/ContaPoupanca.hpp b/ContaPoupanca.hpp deleted file mode 100644 index 25c986a..0000000 --- a/ContaPoupanca.hpp +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef CONTA_POUPANCA_H -#define CONTA_POUPANCA_H - -#include -#include "ContaBancaria.hpp" - -class conta_poupanca : public ContaBancaria { - public: - void calcularJuros() { - double juros = saldo * taxaJuros / 100; - saldo += juros; - std::cout << "Juros de R$" << juros << " calculados e adicionados à conta.\n"; - } - double taxaJuros; -}; - - -#endif \ No newline at end of file diff --git a/descricao.txt b/descricao.txt new file mode 100644 index 0000000..098d7fc --- /dev/null +++ b/descricao.txt @@ -0,0 +1,29 @@ +Dividi o programa em arquivos header (.hpp) e de implementação (.cpp) para facilitar a manutenção, tornando o código mais claro e independente. Organizei os arquivos em pastas separadas: "include" para headers e "src" para implementações. + +Removi o "using namespace" para evitar confusões de nomes, mantendo as coisas mais limpas. Isso auxilia na prevenção de problemas no código e facilita a compreensão da origem das funções e classes. + +Adotei os modificadores de acesso "public" e "private" para os membros das classes, estabelecendo encapsulamento. Essa prática restringe o acesso direto a certos atributos e métodos, prevenindo manipulações externas à classe e garantindo a integridade e segurança dos dados internos. + +Algumas funções agora são declaradas como "const", indicando que não alteram o estado interno do objeto. Além de expressar a intenção do desenvolvedor, essa abordagem oferece garantias adicionais de segurança no código. + +Substituí "\n" por "std::endl" para assegurar a manipulação correta de novas linhas em diferentes sistemas operacionais e manter uma formatação consistente. + +Padronizei os nomes das funções para snake_case, seguindo uma convenção comum que torna o código mais legível. + +Adicionei underscores (_) na frente dos atributos privados para distingui-los claramente dos públicos, melhorando a clareza do código. + +Removi includes desnecessários e duplicados, otimizando a compilação e evitando conflitos entre headers. + +Corrigi a indentação para tornar o código mais legível, seguindo padrões comuns. + +Eliminei quebras de linha desnecessárias para manter uma estética mais limpa e adicionei algumas estrategicamente para facilitar a visualização do código. + +Introduzi "getters" e "setters" para fornecer controle mais granular sobre o acesso e modificação dos atributos da classe, seguindo o princípio de encapsulamento. + +Criei a função "alterar_saldo" para encapsular a lógica específica de alteração do saldo em um método dedicado. Vale ressaltar que essa função difere de um setter convencional, pois incrementa o saldo atual com um valor fornecido, enquanto "set_saldo" atribui um novo valor absoluto ao saldo da conta. + +Mudei o nome das classes para PascalCase, seguindo uma convenção comum em muitas linguagens de programação e tornando o código mais consistente. + +Implementei construtores e destrutores para todas as classes. A introdução desses elementos garante uma inicialização consistente de objetos e uma liberação apropriada de recursos, promovendo uma gestão eficaz da memória no sistema. + +Realizei algumas alterações em main.cpp para garantir que o programa funcione corretamente na nova estrutura com as novas funções, mantendo a coesão global do projeto. \ No newline at end of file diff --git a/include/Banco.hpp b/include/Banco.hpp new file mode 100644 index 0000000..1d9b9ae --- /dev/null +++ b/include/Banco.hpp @@ -0,0 +1,17 @@ +#ifndef BANCO_HPP +#define BANCO_HPP + +#include "ContaBancaria.hpp" + +class Banco { +private: + std::vector _contas; +public: + Banco(const std::vector& contas); + ~Banco(); + + void adicionar_conta(ContaBancaria* conta); + void exibir_todas_contas() const; +}; + +#endif // BANCO_HPP \ No newline at end of file diff --git a/include/ContaBancaria.hpp b/include/ContaBancaria.hpp new file mode 100644 index 0000000..9df82ec --- /dev/null +++ b/include/ContaBancaria.hpp @@ -0,0 +1,24 @@ +#ifndef CONTA_BANCARIA_HPP +#define CONTA_BANCARIA_HPP + +#include +#include + +class ContaBancaria { +private: + std::string _titular; + double _saldo; +public: + ContaBancaria(const std::string& titular, double saldo); + ~ContaBancaria(); + + void depositar(double valor); + void sacar(double valor); + std::string get_titular() const; + void set_titular(std::string nome); + double get_saldo() const; + void set_saldo(double valor); + void alterar_saldo(double valor); +}; + +#endif // CONTA_BANCARIA_HPP \ No newline at end of file diff --git a/include/ContaCorrente.hpp b/include/ContaCorrente.hpp new file mode 100644 index 0000000..1fd4bc9 --- /dev/null +++ b/include/ContaCorrente.hpp @@ -0,0 +1,18 @@ +#ifndef CONTA_CORRENTE_HPP +#define CONTA_CORRENTE_HPP + +#include "ContaBancaria.hpp" + +class ContaCorrente : public ContaBancaria { +private: + double _limiteChequeEspecial; +public: + ContaCorrente::ContaCorrente(const std::string& titular, double saldo, double limiteChequeEspecial); + ContaCorrente::~ContaCorrente(); + + void usarChequeEspecial(double valor); + double get_limiteChequeEspecial() const; + void set_limiteChequeEspecial(double limiteChequeEspecial); +}; + +#endif // CONTA_CORRENTE_HPP \ No newline at end of file diff --git a/include/ContaPoupanca.hpp b/include/ContaPoupanca.hpp new file mode 100644 index 0000000..8d1b0ab --- /dev/null +++ b/include/ContaPoupanca.hpp @@ -0,0 +1,18 @@ +#ifndef CONTA_POUPANCA_HPP +#define CONTA_POUPANCA_HPP + +#include "ContaBancaria.hpp" + +class ContaPoupanca : public ContaBancaria { +private: + double _taxaJuros; +public: + ContaPoupanca(const std::string& titular, double saldo, double taxaJuros); + ~ContaPoupanca(); + + void calcularJuros(); + double get_taxaJuros() const; + void set_taxaJuros(double taxaJuros); +}; + +#endif // CONTA_POUPANCA_HPP \ No newline at end of file diff --git a/src/Banco.cpp b/src/Banco.cpp new file mode 100644 index 0000000..d3602c2 --- /dev/null +++ b/src/Banco.cpp @@ -0,0 +1,21 @@ +#include "include/Banco.hpp" + +Banco::Banco(const std::vector& contas) + : _contas {contas} {} + +Banco::~Banco() { + for (ContaBancaria* conta : _contas) { + delete conta; + } + _contas.clear(); +} + +void Banco::adicionar_conta(ContaBancaria* conta) { + _contas.push_back(conta); +} + +void Banco::exibir_todas_contas() const { + for (const ContaBancaria* conta : _contas) { + std::cout << "Saldo da conta de " << conta->get_titular() << ": R$" << conta->get_saldo() << std::endl; + } +} \ No newline at end of file diff --git a/src/ContaBancaria.cpp b/src/ContaBancaria.cpp new file mode 100644 index 0000000..25603a4 --- /dev/null +++ b/src/ContaBancaria.cpp @@ -0,0 +1,44 @@ +#include "include/ContaBancaria.hpp" + +ContaBancaria::ContaBancaria(const std::string& titular, double saldo) + : _titular {titular}, _saldo {saldo} {} + +ContaBancaria::~ContaBancaria() {} + +void ContaBancaria::depositar(double valor) { + if (valor > 0) { + _saldo += valor; + std::cout << "Depósito de R$" << valor << " efetuado com sucesso." << std::endl; + } else { + std::cout << "Valor de depósito inválido." << std::endl; + } +}; + +void ContaBancaria::sacar(double valor) { + if (valor > 0 && valor <= _saldo) { + _saldo -= valor; + std::cout << "Saque de R$" << valor << " efetuado com sucesso." << std::endl; + } else { + std::cout << "Saque inválido. Verifique o valor ou saldo insuficiente." << std::endl;; + } +} + +std::string ContaBancaria::get_titular() const { + return _titular; +} + +void ContaBancaria::set_titular(std::string nome) { + _titular = nome; +} + +double ContaBancaria::get_saldo() const { + return _saldo; +} + +void ContaBancaria::set_saldo(double valor) { + _saldo = valor; +} + +void ContaBancaria::alterar_saldo(double valor) { + _saldo += valor; +} \ No newline at end of file diff --git a/src/ContaCorrente.cpp b/src/ContaCorrente.cpp new file mode 100644 index 0000000..2aab12f --- /dev/null +++ b/src/ContaCorrente.cpp @@ -0,0 +1,25 @@ +#include "include/ContaCorrente.hpp" + +ContaCorrente::ContaCorrente(const std::string& titular, double saldo, double limiteChequeEspecial) + : ContaBancaria {titular, saldo}, _limiteChequeEspecial {limiteChequeEspecial} {} + +ContaCorrente::~ContaCorrente() {} + +void ContaCorrente::usarChequeEspecial(double valor) { + double valorTotal = get_saldo() + _limiteChequeEspecial; + + if (valor > 0 && valor <= valorTotal) { + alterar_saldo(-valor); + std::cout << "Uso de cheque especial de R$" << valor << " efetuado com sucesso." << std::endl; + } else { + std::cout << "Uso de cheque especial inválido. Verifique o valor ou limite." << std::endl; + } +} + +double ContaCorrente::get_limiteChequeEspecial() const { + return _limiteChequeEspecial; +} + +void ContaCorrente::set_limiteChequeEspecial(double limiteChequeEspecial) { + _limiteChequeEspecial = limiteChequeEspecial; +} \ No newline at end of file diff --git a/src/ContaPoupanca.cpp b/src/ContaPoupanca.cpp new file mode 100644 index 0000000..1a4d4c2 --- /dev/null +++ b/src/ContaPoupanca.cpp @@ -0,0 +1,20 @@ +#include "include/ContaPoupanca.hpp" + +ContaPoupanca::ContaPoupanca(const std::string& titular, double saldo, double taxaJuros) + : ContaBancaria {titular, saldo}, _taxaJuros {taxaJuros} {} + +ContaPoupanca::~ContaPoupanca() {}; + +void ContaPoupanca::calcularJuros() { + double juros = get_saldo() * _taxaJuros / 100; + alterar_saldo(juros); + std::cout << "Juros de R$" << juros << " calculados e adicionados à conta." << std::endl; +} + +double ContaPoupanca::get_taxaJuros() const { + return _taxaJuros; +} + +void ContaPoupanca::set_taxaJuros(double taxaJuros) { + _taxaJuros = taxaJuros; +} \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..63bfaf2 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,48 @@ +#include "include/Banco.hpp" +#include "include/ContaPoupanca.hpp" +#include "include/ContaCorrente.hpp" + +int main() { + std::vector contas; + Banco meuBanco(contas); + + ContaCorrente* conta1 = new ContaCorrente("Joao", 1500, 200); + ContaPoupanca* conta2 = new ContaPoupanca("Maria", 1000, 2.0); + ContaPoupanca* conta3 = new ContaPoupanca("Luiz", 3000, 1.5); + ContaPoupanca* conta4 = new ContaPoupanca("Lara", 2000, 2.5); + ContaCorrente* conta5 = new ContaCorrente("Luisa", 5000, 300); + + meuBanco.adicionar_conta(conta1); + meuBanco.adicionar_conta(conta2); + meuBanco.adicionar_conta(conta3); + meuBanco.adicionar_conta(conta4); + meuBanco.adicionar_conta(conta5); + + meuBanco.exibir_todas_contas(); + + conta1->depositar(500); + conta2->sacar(200); + conta3->sacar(100); + conta4->depositar(-1); + conta5->sacar(5001); + + meuBanco.exibir_todas_contas(); + + conta1->sacar(500); + conta2->depositar(200); + conta3->depositar(100); + conta4->sacar(300); + conta5->depositar(50); + + meuBanco.exibir_todas_contas(); + + conta1->usarChequeEspecial(500); + conta2->calcularJuros(); + conta3->calcularJuros(); + conta4->calcularJuros(); + conta5->usarChequeEspecial(50); + + meuBanco.exibir_todas_contas(); + + return 0; +} \ No newline at end of file From d477b37e9ebfa0657db10173a8ad59ff3a56dd63 Mon Sep 17 00:00:00 2001 From: joaovitorvneves Date: Thu, 23 Nov 2023 22:38:53 -0300 Subject: [PATCH 2/4] Versao 2 --- Makefile | 28 ++++++++++++++++++++++++++++ descricao.txt | 29 ----------------------------- include/ContaCorrente.hpp | 4 ++-- src/ContaBancaria.cpp | 2 +- src/ContaCorrente.cpp | 4 ++-- src/ContaPoupanca.cpp | 2 +- src/main.cpp | 6 +++--- 7 files changed, 37 insertions(+), 38 deletions(-) create mode 100644 Makefile delete mode 100644 descricao.txt diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..aaaa8db --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +CXX = g++ +CXXFLAGS = -std=c++11 -Wall -Wextra + +SRC_DIR = src +INC_DIR = include +OBJ_DIR = obj +BIN_DIR = bin + +SOURCES = $(wildcard $(SRC_DIR)/*.cpp) +OBJECTS = $(patsubst $(SRC_DIR)/%.cpp, $(OBJ_DIR)/%.o, $(SOURCES)) +EXECUTABLE = $(BIN_DIR)/main + +INCLUDES = -I$(INC_DIR) + +all: directories $(EXECUTABLE) + +$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp + $(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@ + +$(EXECUTABLE): $(OBJECTS) + $(CXX) $(CXXFLAGS) $(INCLUDES) $(OBJECTS) -o $@ + +directories: + mkdir -p $(OBJ_DIR) + mkdir -p $(BIN_DIR) + +clean: + rm -rf $(OBJ_DIR) $(BIN_DIR) \ No newline at end of file diff --git a/descricao.txt b/descricao.txt deleted file mode 100644 index 098d7fc..0000000 --- a/descricao.txt +++ /dev/null @@ -1,29 +0,0 @@ -Dividi o programa em arquivos header (.hpp) e de implementação (.cpp) para facilitar a manutenção, tornando o código mais claro e independente. Organizei os arquivos em pastas separadas: "include" para headers e "src" para implementações. - -Removi o "using namespace" para evitar confusões de nomes, mantendo as coisas mais limpas. Isso auxilia na prevenção de problemas no código e facilita a compreensão da origem das funções e classes. - -Adotei os modificadores de acesso "public" e "private" para os membros das classes, estabelecendo encapsulamento. Essa prática restringe o acesso direto a certos atributos e métodos, prevenindo manipulações externas à classe e garantindo a integridade e segurança dos dados internos. - -Algumas funções agora são declaradas como "const", indicando que não alteram o estado interno do objeto. Além de expressar a intenção do desenvolvedor, essa abordagem oferece garantias adicionais de segurança no código. - -Substituí "\n" por "std::endl" para assegurar a manipulação correta de novas linhas em diferentes sistemas operacionais e manter uma formatação consistente. - -Padronizei os nomes das funções para snake_case, seguindo uma convenção comum que torna o código mais legível. - -Adicionei underscores (_) na frente dos atributos privados para distingui-los claramente dos públicos, melhorando a clareza do código. - -Removi includes desnecessários e duplicados, otimizando a compilação e evitando conflitos entre headers. - -Corrigi a indentação para tornar o código mais legível, seguindo padrões comuns. - -Eliminei quebras de linha desnecessárias para manter uma estética mais limpa e adicionei algumas estrategicamente para facilitar a visualização do código. - -Introduzi "getters" e "setters" para fornecer controle mais granular sobre o acesso e modificação dos atributos da classe, seguindo o princípio de encapsulamento. - -Criei a função "alterar_saldo" para encapsular a lógica específica de alteração do saldo em um método dedicado. Vale ressaltar que essa função difere de um setter convencional, pois incrementa o saldo atual com um valor fornecido, enquanto "set_saldo" atribui um novo valor absoluto ao saldo da conta. - -Mudei o nome das classes para PascalCase, seguindo uma convenção comum em muitas linguagens de programação e tornando o código mais consistente. - -Implementei construtores e destrutores para todas as classes. A introdução desses elementos garante uma inicialização consistente de objetos e uma liberação apropriada de recursos, promovendo uma gestão eficaz da memória no sistema. - -Realizei algumas alterações em main.cpp para garantir que o programa funcione corretamente na nova estrutura com as novas funções, mantendo a coesão global do projeto. \ No newline at end of file diff --git a/include/ContaCorrente.hpp b/include/ContaCorrente.hpp index 1fd4bc9..edd5d7b 100644 --- a/include/ContaCorrente.hpp +++ b/include/ContaCorrente.hpp @@ -7,8 +7,8 @@ class ContaCorrente : public ContaBancaria { private: double _limiteChequeEspecial; public: - ContaCorrente::ContaCorrente(const std::string& titular, double saldo, double limiteChequeEspecial); - ContaCorrente::~ContaCorrente(); + ContaCorrente(const std::string& titular, double saldo, double limiteChequeEspecial); + ~ContaCorrente(); void usarChequeEspecial(double valor); double get_limiteChequeEspecial() const; diff --git a/src/ContaBancaria.cpp b/src/ContaBancaria.cpp index 25603a4..f9f9521 100644 --- a/src/ContaBancaria.cpp +++ b/src/ContaBancaria.cpp @@ -1,4 +1,4 @@ -#include "include/ContaBancaria.hpp" +#include "../include/ContaBancaria.hpp" ContaBancaria::ContaBancaria(const std::string& titular, double saldo) : _titular {titular}, _saldo {saldo} {} diff --git a/src/ContaCorrente.cpp b/src/ContaCorrente.cpp index 2aab12f..131c716 100644 --- a/src/ContaCorrente.cpp +++ b/src/ContaCorrente.cpp @@ -1,7 +1,7 @@ -#include "include/ContaCorrente.hpp" +#include "../include/ContaCorrente.hpp" ContaCorrente::ContaCorrente(const std::string& titular, double saldo, double limiteChequeEspecial) - : ContaBancaria {titular, saldo}, _limiteChequeEspecial {limiteChequeEspecial} {} + : ContaBancaria {titular, saldo}, _limiteChequeEspecial {limiteChequeEspecial}{} ContaCorrente::~ContaCorrente() {} diff --git a/src/ContaPoupanca.cpp b/src/ContaPoupanca.cpp index 1a4d4c2..3ed1e85 100644 --- a/src/ContaPoupanca.cpp +++ b/src/ContaPoupanca.cpp @@ -1,4 +1,4 @@ -#include "include/ContaPoupanca.hpp" +#include "../include/ContaPoupanca.hpp" ContaPoupanca::ContaPoupanca(const std::string& titular, double saldo, double taxaJuros) : ContaBancaria {titular, saldo}, _taxaJuros {taxaJuros} {} diff --git a/src/main.cpp b/src/main.cpp index 63bfaf2..ff316ef 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,6 @@ -#include "include/Banco.hpp" -#include "include/ContaPoupanca.hpp" -#include "include/ContaCorrente.hpp" +#include "../include/Banco.hpp" +#include "../include/ContaPoupanca.hpp" +#include "../include/ContaCorrente.hpp" int main() { std::vector contas; From e387b5245ac2a42b22d9a5e173319c2d59ea4b64 Mon Sep 17 00:00:00 2001 From: joaovitorvneves Date: Thu, 23 Nov 2023 22:49:06 -0300 Subject: [PATCH 3/4] Versao 3 --- main.cpp | 71 -------------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 main.cpp diff --git a/main.cpp b/main.cpp deleted file mode 100644 index 8d0111b..0000000 --- a/main.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include -#include -#include -#include "ContaBancaria.hpp" -#include "ContaPoupanca.hpp" -#include "ContaCorrente.hpp" -#include "Banco.hpp" - - -int main() { - Banco meuBanco; - - conta_corrente* conta1 = new conta_corrente(); - conta1->titular = "Joao"; - conta1->saldo = 1500; - conta1->limiteChequeEspecial = 200; - - conta_poupanca* conta2 = new conta_poupanca(); - conta2->titular = "Maria"; - conta2->saldo = 1000; - conta2->taxaJuros = 2.0; - - conta_poupanca* conta3 = new conta_poupanca(); - conta3->titular = "Luiz"; - conta3->saldo = 3000; - conta3->taxaJuros = 1.5; - - conta_poupanca* conta4 = new conta_poupanca(); - conta4->titular = "Lara"; - conta4->saldo = 2000; - conta4->taxaJuros = 2.5; - - conta_corrente* conta5 = new conta_corrente(); - conta5->titular = "Luisa"; - conta5->saldo = 5000; - conta5->limiteChequeEspecial = 300; - - meuBanco.adicionarConta(conta1); - meuBanco.adicionarConta(conta2); - meuBanco.adicionarConta(conta3); - meuBanco.adicionarConta(conta4); - meuBanco.adicionarConta(conta5); - - meuBanco.exibir_todas_contas(); - - conta1->depositar(500); - conta2->sacar(200); - conta3->sacar(100); - conta4->depositar(-1); - conta5->sacar(5001); - - meuBanco.exibir_todas_contas(); - - conta1->sacar(500); - conta2->depositar(200); - conta3->depositar(100); - conta4->sacar(300); - conta5->depositar(50); - - meuBanco.exibir_todas_contas(); - - conta1->usarChequeEspecial(500); - conta2->calcularJuros(); - conta3->calcularJuros(); - conta4->calcularJuros(); - conta5->usarChequeEspecial(50); - - meuBanco.exibir_todas_contas(); - - return 0; -} From a1ef39c19d59ddadc947da09d4cb0eaa8ed59bd1 Mon Sep 17 00:00:00 2001 From: joaovitorvneves Date: Thu, 23 Nov 2023 22:54:55 -0300 Subject: [PATCH 4/4] V4 --- src/Banco.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Banco.cpp b/src/Banco.cpp index d3602c2..ff3d623 100644 --- a/src/Banco.cpp +++ b/src/Banco.cpp @@ -1,4 +1,4 @@ -#include "include/Banco.hpp" +#include "../include/Banco.hpp" Banco::Banco(const std::vector& contas) : _contas {contas} {}