Cadastro binario em linguagem c
#include
#include
typedef struct {
char nome[25]; int codigo; char telefone[15]; int idade; int excluido;
}tpPessoa;
void cadastro(){
tpPessoa pessoa; FILE *fpArq; int ref;
scanf("%*c"); puts("Digite o seu nome: "); /* Ocorre o cadastro de pessoa */ gets(pessoa.nome);
puts("Digite a sua idade: "); scanf("%d",&pessoa.idade);
scanf("%*c"); puts("Digite o seu telefone: "); gets(pessoa.telefone);
pessoa.excluido = 0;
if(fpArq = fopen(" cadPessoa.dat","a+b")){ /* nome do meu arquivo cadPessoa*/
fwrite(&pessoa,1,sizeof(tpPessoa),fpArq); /* codigo do meu arquivo de cada usuario */
pessoa.codigo = ftell(fpArq)-sizeof(tpPessoa); /* atribui o tamanho da minha strut para codigo do usuario para logo mas fazer a busca atraves dele */
printf("%d",pessoa.codigo); /*serve para ver o codigo do usuario inserido controle*/
system("cls"); }else{
printf("\n\n Arquivo nao existente");
}
fclose(fpArq);
}
void imprimePessoas(tpPessoa pessoa){ /* criei uma funcao para fazer a impresao das pessoas cadastradas */
printf("Nome....:%s\n",pessoa.nome); printf("Idade...:%d\n",pessoa.idade); printf("Telefone:%s\n",pessoa.telefone); printf("Excluido..:%d\n",pessoa.excluido);
printf("\n \n");
}
int listaPessoa(int opcaoAfazer){
tpPessoa pessoa; FILE *fpArq; int sair,posicao,escolha,posicaoAnt;
do{
if(fpArq = fopen("cadPessoa.dat","a+b")){
fread(&pessoa,1,sizeof(tpPessoa),fpArq);
while(!feof(fpArq)){
if(opcaoAfazer == 0){
imprimePessoas(pessoa); /*faco a pesquisa de todas as pessoas cadastradas */
fread(&pessoa,1,sizeof(tpPessoa),fpArq); /* faco