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:
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.
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.