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

Contador arquivo .txt


Gabriel Passos

Pergunta

Pessoal, estou tento um probleminha com meu código. Estou desenvolvendo uma agenda telefônica como exercício do curso C++. Tudo está indo bem, porém estou com dificuldade de fazer um contador para auxiliar na exibição dos contatos. Ex: 1) Fulano - 00000.   A minha ideia é, escanear o ultimo número de contador escrito no arquivo .txt que armazena os dados e depois incrementa-lo e escreve-lo novamente na linha seguinte para o próximo contato. Nos primeiros dois contatos ele escreveu correto, mas depois do segundo começou a repetir o numero 2 para todos os outros. 

Tentei fazer laços e atribuir o valor para outra variável auxiliar mas não obtive sucesso. Segue parte do código.

 

void CadastroNT(char nome[30], int tel){
    FILE *arquivo;
    char nome1[30];
    int tel1 = 0;
    int contador = 0;
    arquivo = AbrirA("Lista.txt",'l');
    while(!feof(arquivo)){
        fscanf(arquivo,"%d %s %d\n",&contador,&nome1,&tel1);
        if ((strcasecmp(nome1,nome)==1) || (tel1 != tel)){
            FechA(arquivo);
            arquivo = AbrirA("Lista.txt",'a');
            contador ++;                        
            fprintf(arquivo,"%d %s %d\n", contador, nome,tel);
            printf("Cadastro efetuado.\n");
            FechA(arquivo);
            break;
        }else{
            FechA(arquivo);
            printf("Nome ou Telefone já existe. Tente novamente!\n");
            break;
        }
    }
}
	
Editado por Gabriel Passos
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Em 13/02/2018 at 18:25, Gabriel Passos disse:

            FechA(arquivo);

está escrito errado não///

n entendi geralmente eu uso 

FILE *file;
file = fopen("nome.txt","w");
fprintf("OI");
fclose(file);

nesse caso é aasim que eu edito nunca procurei saber se há outra forma possa ser que o arquivo continue aberto

Link para o comentário
Compartilhar em outros sites

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...