Ir ao conteúdo
  • Cadastre-se

C++ problemas com numero aleatorio


Posts recomendados

Bom dia!

Então, eu to querendo gerar um numero aleatorio para o numero da conta do banco, até ai tudo bem, digamos que ele gera o numero 123456, quando vou visualizar o numero, ele muda...

 

 

//arquivo ContaBancaria.cpp
#include "ContaBancaria.h"
#include <iostream>

ContaBancaria::ContaBancaria()
{

}

void ContaBancaria::setNumeroConta(int numeroConta)
{
    this->numeroConta = numeroConta;
}

int ContaBancaria::getNumeroConta()
{
    this->numeroConta = numeroConta;
}

void ContaBancaria::setNome(string nome)
{
    this->nome = nome;
}

string ContaBancaria::getNome()
{
    return this->nome;
}

void ContaBancaria::setNascimento(string nascimento)
{
    this->nascimento = nascimento;
}

string ContaBancaria::getNascimento()
{
    return this->nascimento;
}

void ContaBancaria::setCpf(string cpf)
{
    this->cpf = cpf;
}

string ContaBancaria::getCpf()
{
    return this->cpf;
}

void ContaBancaria::setSenha(char senha[])
{
   strcpy(this->senha, senha);
}

char *ContaBancaria::getSenha()
{
    return this->senha;
}

void ContaBancaria::setValor(double valor)
{
    this->valor = this->valor + valor;
}

double ContaBancaria::getValor()
{
    return this->valor;
}

void ContaBancaria::criarConta()
{
    char ch;
    int aleatorio;


    ContaBancaria *contabancaria = new ContaBancaria();

    int entradaUsuarioInt;
    string entradaUsuarioString;

    cout << endl << "Para criar uma conta digite as informações abaixo" << endl << endl;

    cout << "Cpf: ";
    cin.get();
    getline(cin, entradaUsuarioString);
    contabancaria->setCpf(entradaUsuarioString);

    cout << "Nome: ";
    getline(cin, entradaUsuarioString);
    contabancaria->setNome(entradaUsuarioString);

    cout << "Nascimento: ";
    getline(cin, entradaUsuarioString);
    contabancaria->setNascimento(entradaUsuarioString);

    /*cout << "Senha de até 16 caracteres: ";
    for(int i = 0; i < 16 || senha[i] == 13; i++)
    {
        senha[i] = getch();
        cout << "*";
    }

    cout << endl;*/

    aleatorio = 10000+(rand()%89999);
    contabancaria->setNumeroConta(aleatorio);

    cout << "Numero da conta: " << contabancaria->getNumeroConta();
    cout << endl << endl << "Conta criada com sucesso!" << endl << endl;

    vecContaBancaria.insert(vecContaBancaria.end(), *contabancaria);

}

void ContaBancaria::showInfo()
{
    ContaBancaria *contabancaria = new ContaBancaria();


    for(int i = 0; i < vecContaBancaria.size(); i++)
    {
        contabancaria = &vecContaBancaria.at(i);
        cout << endl << "Numero da conta: " << contabancaria->getNumeroConta() << endl;
        cout << "Nome: " << contabancaria->getNome() << endl;
        cout << "Nascimento: " << contabancaria->getNascimento() << endl;
        cout << "CPF: " << contabancaria->getCpf() << endl;
        //cout << "Senha" <<
        cout << "Valor R$ " << contabancaria->getValor() << endl;
        system("pause");
    }

}




#include "ContaBancaria.h"
#include <iostream>

//arquivo ContaBancaria.h
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include <vector>
#include <string.h>
#include <conio.h>

using namespace std;
class ContaBancaria
{
public:
    ContaBancaria();
  
    void criarConta();
  
    void setNumeroConta(int numeroConta);
    int getNumeroConta();
  
    void setNome(string nome);
    string getNome();
  
    void setNascimento(string nasicmento);
    string getNascimento();
  
    void setCpf(string cpf);
    string getCpf();
  
    void setSenha(char senha[]);
    char *getSenha();
  
    void setValor(double valor);
    double getValor();
  
    void showInfo();
private:
    int numeroConta;
    string nome;
    string nascimento;
    string cpf;
    char senha[17];
    double valor;
    vector <ContaBancaria> vecContaBancaria;
};
 
//arquivo main.cpp
#include "ContaBancaria.h"
int main()
{
    int escolhaOpcao;
    setlocale(LC_ALL,"Portuguese");
    ContaBancaria *cb = new ContaBancaria();
    do
    {
        cout << "Hello world!" << endl << endl;
        cout << "Escolha uma opção:" << endl;
        cout << "1)Criar conta" << endl;
        cout << "2)Ver conta" << endl;
        cout << "3)Saque" << endl;
        cout << "4)Depósito" << endl;
        cout << "5)Transferir" << endl;
        cout << "6)Sair" << endl;
        cin >> escolhaOpcao;

        switch(escolhaOpcao)
        {
        case 1:
            cb->criarConta();
            break;
        case 2:
            cb->showInfo();
            break;
        case 3:
            break;
        case 4:
            break;
        case 5:
            break;
        case 6:
            break;
        default:
            cout << endl << "Opção inválida" << endl;
        }
    }while(escolhaOpcao!=6);
    return 0;
}


 

Link para o comentário
Compartilhar em outros sites

Seu método getNumero() está igual ao método setNumeroConta();

troque isso:

 

void ContaBancaria::setNumeroConta(int numeroConta)
{
    this->numeroConta = numeroConta;
}

int ContaBancaria::getNumeroConta()
{
    this->numeroConta = numeroConta;
}

por isso:

 

void ContaBancaria::setNumeroConta(int numeroConta)
{
    this->numeroConta = numeroConta;
}

int ContaBancaria::getNumeroConta()
{
    return this->numeroConta;
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...