Agenda telefônica em c
· Funções para funcionamento da agenda:
§ Inclusão
§ Validar Resposta
§ Listar Contatos
§ Pesquisar por Nome
§ Pesquisar por telefone
§ Pesquisar por E-mail
§ Organizar por ordem Alfabética
§ Menu
Código fonte:
1. /* UFMA 2010.1
/* main.c */
#include
#include
#include
#include
#include
typedef struct Agenda
{
char nome[50]; char fone[17]; char email[80];
}T_agenda;
// prototipos void inclusao(void); void Listar(void); void quick_struct(int); void qs_struct(int,int); void ordenar(void); void pesquisar(void); char Validaresp();
static int qtd = 0;
T_agenda Tab[100];
FILE *fp;
// =================================================================
// ======Incluir dados no arquivo ==================================
void inclusao(void){ int total = 0, retorno; char op = 's';
if ((fp = fopen("agenda.db", "a")) == NULL) { printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } while ((total < 100) && (op == 's')) { printf ("Digite o nome: "); gets(Tab[total].nome); printf ("Digite o numero: "); gets(Tab[total].fone); printf ("Digite o E-mail: "); gets(Tab[total].email);
retorno = fwrite (&Tab[total], sizeof(struct Agenda) ,1,fp);
if (retorno == 1) { printf(" \nGravacao ok ! "); } total++; op = Validaresp(); qtd++; } fclose (fp);
}
//======================================================================
// ======Valida resposta ===============================================
char Validaresp() { char op; do { printf(" \nDeseja inserir novos dados? [S ou N] ? " ); op = getch(); printf("\n" ); } while