Ir ao conteúdo
  • Cadastre-se

Buzina Lopes

Membro Pleno
  • Posts

    26
  • Cadastrado em

  • Última visita

Reputação

14
  1. entendi, é que eu fiquei bugado na hora de setar usando o get. Achei bom, mas nunca tinha visto antes, muito obrigado a ajuda foi boa
  2. @RafaelCLP rapaz funcionou, mas agora fiquei bugadao teria como explicar esse get dentro do set por favor?
  3. @devair1010 eu não entendi porque o meu jeito está errado, poderia explicar de novo por favor? e muito obrigado pela ajuda
  4. #include<iostream> #include<string.h> #include<fstream> #include<cstdio> using namespace std; /*2 Descrição O objetivo deste trabalho é desenvolver um sistema de gerência bancário. Esse sistema deverá ser capaz de cadastrar novos clientes e fazer operações de crédito rotineiras para cada cliente. Também deverá ser disponibilizada uma opção para a exclusão de clientes do sistema. A representação de um cliente poderá ser através das classes já implementadas em sala de aula. Além disso, deverá ser implementada uma lista de clientes. Essa lista deverá ser salva em um arquivo chamado clientes.txt toda vez que for feita uma alteração no banco de dados de clientes (por exemplo, adicionar ou remover um novo cliente). Cada cliente deverá ser identificado por um número de conta único, dentro de sua própria agência. Diferentes agências deverão possuir números diferentes. Poderá ocorrer de duas contas possuírem números iguais porém com agências diferentes. Para este trabalho, considere que uma pessoa possui apenas uma conta dentre todas as agências. O programa deverá permitir a adição de novas agências ao sistema, que deverão estar listadas em um arquivo chamado agencias.txt. Cada agência é definida por um número único e um endereco. Não é possível haver agência sem endereço! 3 Funcionalidades O sistema deverá apresentar as seguintes funcionalidades mínimas: • Cadastrar e excluir novos clientes. • Cadastrar novas agências. • Pesquisar por clientes, utilizando o nome ou Conta c/ Agência. • Listar total de fundos por agência • Saques, depósitos, e transferências entre contas*/ class Cliente { private: string Nome; int Idade; public: void Cadastrar() { cout << "Digite o nome do cliente: " << endl; cin.ignore(); getline(cin, Nome); cout << "Digite a idade do cliente: " << endl; cin >> Idade; } void SetNome(string Nome) { this->Nome = Nome; } void SetIdade(int Idade) { this->Idade = Idade; } string GetNome() { return Nome; } int GetIdade() { return Idade; } void RemoveCliente() { delete &Nome; delete &Idade; } friend ostream& operator<<(ostream& os, const Cliente& c) { // escrever cada membro os << "\n" << c.Nome << "\n"; os << c.Idade; return os; } }; class Agencia: public Cliente { private: int IdAgencia; string NomAgen; string Endereco; int NumContaCli; fstream Agencia; public: void CadastrarAgencia() { cout << "Nome da Agencia: " << endl; cin.ignore(); getline(cin, NomAgen); cout << "Digite o Endereco: " << endl; getline(cin, Endereco); while(Endereco.size() == 0) { cout << "A agencia precisa de um endereco, entre com um: " << endl; getline(cin, Endereco); } cout << "Digite a Identificacao da Agencia: " << endl; cin >> IdAgencia; Agencia.open("Agencia.txt"); Agencia << IdAgencia << endl; Agencia << Endereco << endl; Agencia.close(); } void Cadastrar() { Cliente::Cadastrar(); cout << "Digite a identificacao do cliente: " << endl; cin >> NumContaCli; } void SetNumConta(int Id) { this->NumContaCli=Id; } void ListarAgencia() { string Linha; Agencia.open("Agencia.txt"); while(!Agencia.eof()) { getline(Agencia, Linha); cout << Linha << endl; cout << endl; } Agencia.close(); } void Removecliente() { Cliente::RemoveCliente(); delete &NumContaCli; } int GetNumConta() { return NumContaCli; } }; int main() { int Escolha; int NConta; string Name, Nome; int Idade, Id; cout << "Digite 1 para Cadastrar Cliente: " << endl; cout << "Digite 2 para Excluir Cliente: " << endl; cout << "Digite 3 procurar cliente pelo Nome ou Número da conta: " << endl; cout << "Digite 4 para cadastrar uma agencia:" << endl; cout << "Digite a escolha:" << endl; cin >> Escolha; Cliente c; Agencia Age; while(true) { if(Escolha == 1) { Age.Cadastrar(); // app = append (adiciona ao final do arquivo) ofstream ofs("arquivo.txt", fstream::app); // seta o nome e a idade c.SetNome(Nome); c.SetIdade(Idade); // escrever cada membro ofs <<c; ofs.close(); fflush(stdin); cout << "O que deseja fazer agora?" << endl; cin >> Escolha; } else if(Escolha == 2) { cout << "Digite a identificacao do cliente: " << endl; fflush(stdin); cin >> NConta; if(NConta == Age.GetNumConta()) { Age.Removecliente(); } break; cout << "O que deseja fazer agora?" << endl; cin >> Escolha; } else if(Escolha == 3) { cout << "Digite o Nome: " << endl; cin.ignore(); getline(cin, Name); cout << "Digite o Numero da conta: " << endl; cin >> NConta; cout << "\n"; break; cout << "O que deseja fazer agora?" << endl; fflush(stdin); cin >> Escolha; } else if(Escolha == 4) { int NumAgencia; cout << "Deseja cadastrar quantas agencias: " << endl; cin >> NumAgencia; Age.CadastrarAgencia(); break; } } } Se alguém me puder ajudar a como passar os dados continuamente seria de grande ajuda!
  5. #include <iostream> using namespace std; /*Classe Conta Bancária: Implemente uma classe para representar uma conta bancária. • Propriedades: – Número da conta bancária – Número da agência – Pessoa, utilizando a classe Pessoa acima – Saldo, representando o saldo atual • Métodos: – int sacar(int valor): saca uma determinada quantidade da conta do cliente. Retorna a quantidade que foi sacada caso seja bem sucedido ou 0 caso não seja possível – void depositar(int valor): deposita uma determinada quantidade na conta do cliente.*/ class Pessoa { private: string nome; long long int cpf; int rg; int DataDeNascimento; string Endereco; public: bool VerificaCpf(long long int cpf); void Cadastrar() { cout << "Digite o nome:" << endl; getline(cin, nome); cin.ignore(); cout << "Digite o cpf:" << endl; cin >> cpf; while(VerificaCpf(cpf) == false) { cout << "Cpf invalido, tente novamente" << endl; cin >> cpf; } cout << "Digite o Rg:" << endl; cin >> rg; cout << "Digite a data de nascimento" << endl; cin >> DataDeNascimento; cout << "Digite o endereco:" << endl; cin.ignore(); getline(cin, Endereco); } }; //Verifica se o Cpf é válido bool Pessoa::VerificaCpf(long long int cpf) { int SomaCpf, SomaCpf2, resto1, resto2; long int num11; int num10, num9, num8, num7, num6, num5, num4, num3, num2, num1; num11 = ((cpf / 10000000000) % 10); num10 = ((cpf / 1000000000) % 10); num9 = ((cpf / 100000000) % 10); num8 = ((cpf / 10000000) % 10); num7 = ((cpf / 1000000) % 10); num6 = ((cpf / 100000) % 10); num5 = ((cpf / 10000) % 10); num4 = ((cpf / 1000) % 10); num3 = ((cpf / 100) % 10); num2 = ((cpf / 10) % 10); num1 = cpf % 10; SomaCpf = ((num11 * 10) + (num10 * 9) + (num9 * 8) + (num8 * 7) + (num7 * 6) + (num6 * 5) + (num5 * 4) + (num4 * 3) + (num3 * 2)); SomaCpf2 = ((num11 * 11) + (num10 * 10) + (num9 * 9) + (num8 * 8) + (num7 * 7) + (num6 * 6) + (num5 * 5) + (num4 * 4) + (num3 * 3) + (num2 * 2)); resto1 = ((SomaCpf * 10) % 11); resto2 = ((SomaCpf2 * 10) % 11); if((num1 == num2) && (num2 == num3) && (num3 == num4) && (num4 == num5) && (num5 == num6) && (num6 == num7) && (num7 == num8) && (num8 == num9) && (num9 == num10) && (num10 == num11)) { return false; } if (resto2 == 10) { resto2 = 0; } if((resto1 == num10) && (resto2 == num11)) { return true; } else { return false; } } class ContaBancaria: public Pessoa { private: int Saldo; int ContaBancaria; public: void Cadastrar() { Pessoa::Cadastrar(); cout << "Digite o Saldo: " << endl; cin >> Saldo; cout << "Digite o Número da Conta: " << endl; cin >> ContaBancaria; } int Sacar(int Sacar) { if(Saldo > 0) { return Saldo - Sacar; cout << "Saldo atual eh:" << Saldo - Sacar << endl; } else { cout << "A conta esta vazia"; } } void Depositar(int Deposito) { Saldo = Saldo + Deposito; } int GetSaldo() { return Saldo; } }; int main(int argc, char *argv[]) { int Escolha; int Sacar = 0; int Saldo = 0; int Deposito = 0; ContaBancaria CB; do { cout << "\nDigite 1 para Cadastrar " << endl; cout << "Digite 2 para Sacar " << endl; cout << "Digite 3 para Depositar " << endl; cout << "Digite 4 para ver saldo " << endl; cin >> Escolha; if(Escolha == 1) { CB.Cadastrar(); } if(Escolha == 2) { cout << "Digite o valor a ser sacado: " << endl; cin >> Sacar; CB.Sacar(Sacar); cout << Sacar << endl; cout << Saldo; } if(Escolha == 3) { cout << "Digite o valor a ser depositado: " << endl; cin >> Deposito; cout << Deposito << endl; cout << Saldo; } if(Escolha == 4) { cout << CB.GetSaldo() << endl; } } while(Escolha > 0 && Escolha < 4); return 0; }
  6. @TYSQUARE89 nem todo herói veste capa, tá certinho segundo as condições do Professor. Muito Obrigado
  7. Quando eu inicializo tudo em um construtor dá certo adicionado 0 minutos depois @CiroboyBR eita rapaz vou tentar aqui, poderia me dar uma ideia geral de como eu faria isso?
  8. Resultado esperado: 9 24 4052 -1 0 1 Resultado do programa: 437134 213243 2531515
  9. O problema é que os valores não estão batendo adicionado 3 minutos depois ?
  10. @CiroboyBR então porque meu código nao esta funcionando? class Datas { private: int dia, mes, ano, anoatual, mesatual, diaatual; public: Datas(int dia, int mes, int ano); Datas(); void SomaDatas() { int a, b, c; a = diaatual + dia; b = mesatual + mes; c = anoatual + ano; cout << a << endl; cout << b << endl; cout << c << endl; } void SubtraiDatas() { int a, b, c; a = diaatual - dia; b = mesatual - mes; c = anoatual - ano; cout << a << endl; cout << b << endl; cout << c << endl; } }; Datas::Datas() { struct tm *local; time_t t; time(&t); local = localtime(&t); int anoatual = local->tm_year; anoatual = anoatual + 1900; int diaatual = local->tm_mday; int mesatual = local->tm_mon + 1; this->diaatual = diaatual; this->mesatual = mesatual; this->anoatual = anoatual; } Datas::Datas(int dia, int mes, int ano) { this->dia = dia; this->mes = mes; this->ano = ano; } int main() { Datas f2(4, 12, 2018); f2.SomaDatas(); }
  11. sim, essa questão eu consegui fazendo um construtor só. Mas não sei como faz pra usar dois
  12. Como faço para usar dois construtores como na seguinte questão? Classe Data: Implemente uma classe para representar datas. • Propriedades: – ano – mês – dia • Métodos construtores: – Construtor-padrão: deverá iniciar os campos de data com a data atual (procure no header time.h como você pode fazer isso) – Um construtor onde deverão ser passados os 3 campos da data • Métodos: – Data soma(Data somaData): Soma a data representada pelo objeto com a data recebida como parâmetro, retornando um novo objeto representado a nova data. – Data subtrai(Data subtraiData): Igual à soma, porém realiza a subtração das duas datas
  13. Calma rapaz acabei de começar na brincadeira
  14. Mas qual a necessidade de usar this-> ?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...