#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct pessoa
{
char nome[15];
char telefone[10];
};
typedef struct pessoa Pessoa;
void registra(char nome[15], int telefone[10])
{
FILE *fd;
fd=fopen("nomesagenda","a");
fprintf(fd, "%s\n", nome);
fprintf(fd, "%s\n", telefone);
printf("Dados registrados\n\n");
fclose(fd);
getchar();
}
void listalimp()
{
FILE *fd;
fd=fopen("nomesagenda","w+");
printf("Lista limpa\n\n");
fclose(fd);
getchar();
}
void pesquisa(char pesq[])
{
FILE *fd;
char curs[15];
char telefone[10];
int existe=0;
fd=fopen("nomesagenda","r");
while ((fscanf(fd,"%s", curs))!=EOF)
if (!strcmp(curs, pesq))
{
printf("\n\tNome: %s", curs);
fscanf(fd,"\n%s", &telefone);
printf("\n\tTelefone: %s\n", telefone);
fscanf(fd,"\n");
existe=1;
}
else fscanf(fd,"\n\n");
if (existe==0) printf("Cadastro inexistente!\n");
getchar();
fclose(fd);
}
// essa funcao que nao funciona
void excluir(char exc[])
{
FILE *fd;
char curs[15];
char telefone[10];
int existe=0;
fd=fopen("nomesagenda","a");
while ((fscanf(fd,"%s", curs))!=EOF)
if (!strcmp(curs, exc))
{
strcpy(curs,"");
strcpy(telefone,"");
printf("Registro excluido\n\n");
getchar();
existe=1;
}
else fscanf(fd,"\n\n");
if (existe==0) printf("Cadastro inexistente!\n");
getchar();
fclose(fd);
}
void listar()
{
FILE *fd;
char curs[15];
char telefone[10];
int i=0;
fd=fopen("nomesagenda","r");
while ((fscanf(fd,"%s", curs))!=EOF)
{
printf("\n\tNome: %s",curs);
fscanf(fd,"\n%s", &telefone);
printf("\n\tTelefone: %s\n", telefone);
fscanf(fd,"\n");
i++;
}
printf("\n\tTotal de registros: %d",i);
}
int main(void)
{
FILE *fd;
int menu,tamnome;
Pessoa pe;
while (menu!=0)
{
system("cls");
printf("Agenda de telefones\n\n");
printf("(1) Registrar nome\n");
printf("(2) Procurar nome\n");
printf("(3) Listar nomes\n");
printf("(4) Limpar lista\n");
printf("(5) Excluir registro\n");
printf("(0) Sair\n\n");
printf("Escolha uma opcao: ");
scanf("%d",&menu);
getchar();
switch (menu)
{
case 1:
printf("\n\tEntre com o Nome: ");
scanf("%s",&pe.nome);
getchar();
tamnome=strlen(pe.nome);
if (tamnome>15)
{
printf("O tamanho do nome passa de 15 letras.\n");
getchar(); getchar();
}
else
{
printf("\n\tEntre com o Telefone: ");
scanf("%s",&pe.telefone);
getchar();
registra(pe.nome, pe.telefone);
}
break;
case 2:
printf("\n\tEntre com o Nome: ");
scanf("%s",&pe.nome);
getchar();
tamnome=strlen(pe.nome);
if (tamnome>15)
{
printf("O tamanho do nome passa de 15 letras.\n");
getchar(); getchar();
}
else
{
pesquisa(pe.nome);
}
break;
case 3:
listar();
getchar();
break;
case 4:
listalimp();
getchar();
break;
case 5:
system("cls");
printf("Exclusao\n\n");
printf("Entre com o Nome: ");
scanf("%s",&pe.nome);
getchar();
exluir(pe.nome);
getchar();
break;
case 0:
system("cls");
printf("Finalizando\n\n");
system("pause");
break;
default:
system("cls");
printf("Opcao invalida\n\n");
system("pause");
break;
}
}
return 0;
}