Faça um programa gerenciar uma agenda de contatos. Para cada contato armazene o nome, o telefone e o aniversário (dia e mês). O programa deve permitir
(1) inserir contato
(2) remover contato
(3) pesquisar um contato pelo nome
(4) listar todos os contatos
(5) listar os contatos cujo nome inicia com uma dada letra
(6) imprimir os aniversariantes do mês.
não consigo fazer a parte de remover contato
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include<locale.h>
#include<string.h>
typedef struct data DATA;
struct data{
int dia;
int mes;
int ano;
};
typedef struct contato CONTATO;
struct contato{
char nome[30];
char fone[15];
DATA aniv;
};
void cabecalho();
void inputData();
void listar();
void pesquisar();
void anivMes();
void excluir();
int main(){
setlocale(LC_ALL,"portuguese");
int opcao;
do{
cabecalho();
printf("1 - inserir\n");
printf("2 - Remover\n");
printf("3 - pesquisar pelo nome\n");
printf("4 - listar\n");
printf("5 - listar por uma inicial\n");
printf("6 - imprimir aniversariante do mês\n");
printf("7 - sair\n\n");
printf("Escolha uma opção: ");
scanf("%d",&opcao);
switch(opcao){
case 1:
inputData();
break;
case 2:
break;
case 3:
pesquisar();
break;
case 4:
listar();
break;
case 5:
break;
case 6:
anivMes();
break;
case 7:
printf("obrigado pela visita!\n");
break;
default:
printf("Opção inválida!\n");
getch();
break;
}
}while(opcao!=7);
}
void cabecalho(){
system("cls");
printf("----------------------------\n");
printf(" AGENDA ELETRONICA\n");
printf("----------------------------\n\n");
}
void inputData(){
FILE* f;
CONTATO ctt;
cabecalho();
f = fopen("agenda.txt","ab");
if(f == NULL){
printf("problemas na abertura do arquivo\n");
}
else{
do{
fflush(stdin);
printf("digite o nome: ");
gets(&ctt.nome);
fflush(stdin);
printf("digite o fone: ");
gets(&ctt.fone);
printf("digite o aniversário: ");
scanf("%d %d %d", &ctt.aniv.dia,&ctt.aniv.mes, &ctt.aniv.ano);
fwrite(&ctt,sizeof(CONTATO),1,f);
printf("deseja continuar (s/n)?\n");
}while(getche()=='s');
fclose(f);
}
}
void listar(){
FILE* f;
CONTATO ctt;
cabecalho();
f = fopen("agenda.txt","rb");
if(f==NULL){
printf("Erro na abertura\n");
}
else{
while(fread(&ctt, sizeof(CONTATO),1,f)== 1 ){
printf(" Nome: %s\n",ctt.nome);
printf(" Fone: %s\n",ctt.fone);
printf(" Aniversário: %d/%d/%d\n",ctt.aniv.dia, ctt.aniv.mes, ctt.aniv.ano);
printf("----------------------\n\n");
}
}
fclose(f);
getch();
}
void pesquisar(){
FILE* f;
CONTATO ctt;
char nome[30];
cabecalho();
f = fopen("agenda.txt","rb");
if(f==NULL){
printf("problemas na abertura do arquivo");
}
else{
fflush(stdin);
printf("digite o nome a pesquisar\n");
gets(nome);
while(fread(&ctt,sizeof(CONTATO),1,f)==1 ){
if (strcmp(nome,ctt.nome)==0){
printf(" Nome: %s\n",ctt.nome);
printf(" Fone: %s\n",ctt.fone);
printf(" Aniversário: %d/%d/%d\n",ctt.aniv.dia, ctt.aniv.mes, ctt.aniv.ano);
printf("----------------------\n\n");
}
}
}
fclose(f);
getch();
}
void anivMes(){
FILE* f;
CONTATO ctt;
cabecalho();
f = fopen("agenda.txt","rb");
if(f == NULL){
printf("Problema na abertura\n");
}
else{
int mes;
printf("Digite o mês\n");
scanf("%d",&mes);
while (fread(&ctt,sizeof(CONTATO),1,f)==1){
if(mes==ctt.aniv.mes){
printf(" Nome: %s\n",ctt.nome);
printf(" Fone: %s\n",ctt.fone);
printf(" Aniversário: %d/%d/%d\n",ctt.aniv.dia, ctt.aniv.mes, ctt.aniv.ano);
printf("----------------------\n\n");
}
}
}
fclose(f);
getch();
}