Boa noite senhores. A função abaixo escreve os dados em um arquivo, porém está travando no "gets(dados.cpf)". Se troco o gets por um "scanf("%d",dados.cpf)" o programa fica simplesmente parado. Segue a função problemática:
void novoreg()
{
char lixo[255];
struct agenda dados;
gets(lixo);
fseek(arquivo,0,SEEK_END);
printf("\nDigite os dados da pessoa nos campos abaixo:\n");
printf("\nNome: ");
gets(dados.nome);
printf("\nEndereço: ");
gets(dados.endereco);
printf("\nTelefone: ");
gets(dados.fone);
printf("\nRG: ");
gets(dados.rg);
digitacpf();
validacpf();
gets(dados.cpf);
fwrite(&dados, sizeof(struct agenda),1,arquivo);
printf("\n\nRegistro adicionado com sucesso!\n");
}
Esclarecendo:
1 - criei uma struct chamado agenda;
2 - função digitacpf recebe um cpf em char e converte em int.
3 - função validacpf confere se o cpf é válido ou não, fazendo os devidos cálculos.
Pergunta
steel_sp
Boa noite senhores. A função abaixo escreve os dados em um arquivo, porém está travando no "gets(dados.cpf)". Se troco o gets por um "scanf("%d",dados.cpf)" o programa fica simplesmente parado. Segue a função problemática:
Esclarecendo:
1 - criei uma struct chamado agenda;
2 - função digitacpf recebe um cpf em char e converte em int.
3 - função validacpf confere se o cpf é válido ou não, fazendo os devidos cálculos.
Onde está o erro?
Link para o comentário
Compartilhar em outros sites
3 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.