Ir para conteúdo
Fórum Script Brasil
  • 0

So Estou Conseguindo Listar O Arq Uma Vez. Pq?


Guest Guisawyer

Pergunta

Guest Guisawyer

Estou fazendo um programa para a faculdade, que é para gravar no HD um cadastro de um cliente, com alguns dados...

E estou usando a biblioteca fstream, assim:

#include <fstream>

using std::istream;

using std::ostream;

O programa mesmo, roda dentro de um DO / While, que é para rodar sempre com um menu...

Assim... o programa começa mostrando um menu:

1 - cadastro de pessoas

2 - cadastro de livros

3 - Listar pessoas

4 - listar livros...

E a cada finalização você escolhe se volta ou não para esse menu...

cada opção desta estar dentro da função Switch()...

ai quando eu escolho a opção 3... ele lista beleza...

depois de mostar todos, tem a opção de voltar para o menu, ou sair do programa, quando você escolhe voltar para o menu, e escolhe denovo a opção 3, listar novamente as pessoas, ele n le mais nada...

olha o codigo do case 3: para listar pessoas:

case 3:

system ("cls");

cout<<"==================\n";

cout<<"Lista dos Clientes\n";

cout<<"==================\n\n";

inCliente.open("cli.dat", ios::in);

inCliente.seekg(0, ios::beg);

if(!inCliente)

{

cerr<<"Arquivo não pode ser aberto"<<endl;

exit(1);

}

inCliente.read(reinterpret_cast<char *> (&x), sizeof(cliente) ) ;

do

{

x.print();

inCliente.read(reinterpret_cast<char *> (&x), sizeof(cliente) ) ;

}

while(inCliente && !inCliente.eof() );

inCliente.close();

break;

ai quando eu listo na segunda aparece a mensagem: "Arquivo não pode ser aberto", q é a função q testa se estar tudo ok...

eu já fiz até o teste tirando o q estar em negrito... mas a unica diferença é q n aparece a mensagem q n pode abrir...

e quando eu coloco o // antes do exit(1), ele lista so a ultima pessoa cadastrada...

Eu já to ficando doido com esse problema...

E desde já muito Obrigado!!!

Até!

Link para o comentário
Compartilhar em outros sites

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

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...