#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define TAM 2
int cont;
struct data{
int dia;
int mes;
int ano;
};
struct contato{
char nome[50];
char fone[15];
struct data niver;
}agenda[TAM];
enserir(){
FILE *arq;
arq=fopen("agenda.data","ab");
if(arq==NULL){
printf("Erro na abertura do arquivo.\n");
}else{
if(cont<=TAM){
do{
fflush(stdin);
printf("\nInsira o nome do contato: ");
scanf("%s", &agenda[cont].nome);
printf("Insira o telefone do contato: ");
scanf("%s", &agenda[cont].fone);
printf("Insira a data de aniversario do contato: ");
scanf("%d %d %d", &agenda[cont].niver.dia, &agenda[cont].niver.mes, &agenda[cont].niver.ano);
fseek(arq, cont*sizeof(struct contato), SEEK_SET);
fwrite(agenda,sizeof(struct contato),1,arq);
cont++;
printf("\nContato salvo com sucesso.\n");
printf("Deseja inserir mais contatos? (s/n) : ");
}while(getche() == 's');
}else{
printf("Agenda cheia");
}
fclose(arq);
}
}
listar(){
FILE *arq;
struct contato aux;
arq=fopen("agenda.data","rb");
if(arq==NULL){
printf("Erro na abertura do arquivo.\n");
}else{
while(fread(&aux, sizeof(struct contato),1,arq)==1 && !feof(arq)){
printf("\nNome: %s\n", aux.nome);
printf("Telefone: %s\n", aux.fone);
printf("Aniversaio: %d/%d/%d\n",aux.niver.dia,aux.niver.mes,aux.niver.ano);
fread(&aux, sizeof(struct contato), 1, arq);
}
}
fclose(arq);
getch();
}