Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Buzina Lopes

C++ Programa em C++ de conta bancária - Loop Infinito

Recommended Posts

#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;
}

5a2c042997f6d_Semttulo.thumb.png.9459a09c3025af5f595ad076f09d82bd.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×