• 0
Sign in to follow this  
Gabriel Passos

Contador arquivo .txt

Question

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;
        }
    }
}
	
Edited by Gabriel Passos

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this