Pessoal gostaria de ajuda neste código, a agenda precisa ter as funções : adicionar contato , exluir , listar , buscar e editar.
Eu estou aprendendo ainda , porém segue o que fiz até agora , eu me perdi na lógica e gostaria de ajuda.
#include <stdio.h>
#include <stdlib.h>
#define RETORNA_MENU 0
#define MAX_X 100
#define MAX_NOME 100
#define MAX_TELEFONE 10
int qtdContatos = 0;
int main()
{
char Contatos_Totais[MAX_X][MAX_NOME];
char Telefones_Totais[MAX_X][MAX_TELEFONE];
char **ptrNomes;
char **ptrTelefones;
ptrNomes = &Contatos_Totais;
ptrTelefones = &Telefones_Totais;
char Nome[MAX_NOME];
char Telefone[MAX_TELEFONE];
int opcao;
MostraMenu();
scanf("%d",&opcao);
fflush(stdin);
fflush(stdout);
while(opcao != 6){
switch(opcao){
case 1: // ADICIONA CONTATO A LISTA.
printf("\n-- Cadastro de novo contato --\n");
printf("Nome do contato:\n");
gets(Nome);
printf("Telefone do contato:\n");
gets(Telefone);
Adicionar_Contato(Nome,Telefone,(ptrNomes + qtdContatos),(ptrTelefones + qtdContatos));
break;
/*case 2: // REMOVE CONTATO DA LISTA.
Remover_Contato();
break;*/
case 3: // FAZ A LISTAGEM DE TODOS OS CONTATOS CADASTRADOS.
Listagem_Contatos();
break;
/*case 4: // BUSCA informações INDIVIDUAIS DE UM CONTATO.
Busca_Contato();
break;
case 5: // EDITA informações DE UM CONTATO.
Editar_Contato();
break;*/
default:
printf("Opcao incorreta.\n\n");
}
printf("\nEscolha outra opcao ou digite %d para retornar ao menu:\n",RETORNA_MENU);
scanf("%d",&opcao);
fflush(stdin);
if(opcao == RETORNA_MENU){
MostraMenu();
scanf("%d",&opcao);
fflush(stdin);
}
}
}
void MostraMenu(){
printf("\n====== AGENDA TELEFONICA ======\n\n");
printf("\n====== MENU ======\n");
printf("Informe a opcao desejada:\n\n");
printf("1) Adicionar um contato a agenda.\n");
printf("2) Remover um contato da agenda.\n");
printf("3) Lista de contatos cadastrados da agenda.\n");
printf("4) Buscar contato na agenda.\n");
printf("5) Editar contato da agenda.\n");
printf("6) Sair.\n\n");
}
void Adicionar_Contato(char Nome[MAX_NOME],char Telefone[MAX_TELEFONE],char **ptrNomes,char **ptrTelefones){
if(Nome != "" && Nome != NULL){
*ptrNomes = Nome;
}
int i = 0;
for (i=0;i<MAX_TELEFONE;i++){
if(Telefone== '\0')
break;
}
if (i == MAX_TELEFONE){
*ptrTelefones = Telefone;
}
else{
printf("O numero precisa ter 9 digitos... \n");
return;
}
printf("Contato Cadastrado!\n\n");
qtdContatos++;
}
/*void Remover_Contato(int id,char **ptrNomes,char **ptrTelefones){
char opcao;
printf("Digite ")
if(opcao){
}
*/
void Listagem_Contatos(char Contatos_Totais[MAX_X][MAX_NOME],char Telefones_Totais[MAX_X][MAX_TELEFONE],int qtdContatos){
int i = 0;
int j = 0;
printf("\n======= LISTA DE CONTATOS CADASTRADOS =======\n");
for(i=0;i<qtdContatos;++i){
for(j=0;j<qtdContatos;++j){
printf("*** Contato %d ***\n",i+1);
printf("Nome: %s\n",Contatos_Totais[j]);
printf("Telefone: %s\n",Telefones_Totais[j]);
fflush(stdin);
i++;
j++;
}
}
}
void Buscar_Contato(){
}