Estou aprendendo c++ na faculdade e andei pegando alguns exercícios para praticar esta linguagem.
O programa que estou desenvolvendo é um programa bancário, com um struct conta e um vetor chamado vetconta.
struct conta {
char numero [9]; //guardar 8 digitos referentes ao numero da conta
char agencia [5]; // guardar 4 digitos referentes ao mumero da agência
float saldo; // guardar o saldo do cliente
int movimento; // quantidade de vezes que o cliente movimentou sua conta
};
conta vetconta [30]; // suporte para 30 clientes
Sei que o número e agência poderiam ser valores inteiros, mas o exercício pede que sejam em CHAR.
Minha função para cadastro ficou desta maneira:
int cadastra (int indice) {
if (indice < 30) {
cout<<"Informe o numero da conta: ";
cin.ignore(256,'\n');
cin.getline(vetconta[indice].numero,9);
cout<<"\nInforme o numero da agencia: ";
cin.ignore(256,'\n');
cin.getline(vetconta[indice].agencia,5);
cout<<"\nInforme o saldo a ser depositado: ";
cin>>vetconta[indice].saldo;
vetconta[indice].movimento = 0;
return 0;
} else {
return 1;
}
}
O problema é que ao utilizar o cin.ignore(256,'\n') o programa está criando uma linha a mais em agência e este problema não ocorre em número da conta. Onde está o erro?
Pergunta
DanOver
Olá galera,
Estou aprendendo c++ na faculdade e andei pegando alguns exercícios para praticar esta linguagem.
O programa que estou desenvolvendo é um programa bancário, com um struct conta e um vetor chamado vetconta.
Sei que o número e agência poderiam ser valores inteiros, mas o exercício pede que sejam em CHAR. Minha função para cadastro ficou desta maneira:O problema é que ao utilizar o cin.ignore(256,'\n') o programa está criando uma linha a mais em agência e este problema não ocorre em número da conta. Onde está o erro?
Editado por DanOverLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.