#include<stdio.h>
#include<stdlib.h>
/* Prototipos de funcao */
FILE * AbrirArquivo(char caminho[], char modo);
void FecharArquivo(FILE *arquivo);
void ApresentarMenu();
void EscolherOpcao(char opcao);
void Encerrar();
void TexteEncerrar();
void Cadastrar();
void Listar();
//-----------------------------------------------------------------------------------
FILE *AbrirArquivo(char caminho[], char modo)
{
FILE *arquivo;
switch(modo)
{
case 'G':
arquivo = fopen(caminho, "wt");
break;
case 'L':
arquivo = fopen(caminho, "rt");
break;
case 'A':
arquivo = fopen(caminho, "a");
break;
default: printf("\nCarater invalido\n");
}
if(arquivo == NULL)
{
printf("\nNao foi possivel abrir o arquivo %s\n", caminho);
exit(0);
}
return arquivo;
}
void TexteEncerrar()
{
int opcao;
system("cls");
printf("\n\t\t| ********************* Software de cadastros e pesquisas ****************** |\n");
printf("\t\t|------------------------------------------------------------------------------|\n");
printf("\t\t| Tens certeza que queres encerrar o soft? ------------------------|\n");
printf("\t\t| SIM[1] - NAO[2] ------------------------|\n");
printf("\t\t|------------------------------------------------------------------------------|\n");
printf("\t\t|-------- Opcao: | ");
switch(opcao)
{
case 1: Encerrar();
case 2: ApresentarMenu();
default: system("cls");
printf("\n\nOpcao Invalida. Tente Novamente!!\n\n");
TexteEncerrar();
}
}
void Encerrar()
{
system("cls");
printf("\n\t\t| ********************* Software de cadastros e pesquisas ****************** |\n");
printf("\t\t|------------------------------------------------------------------------------|\n");
printf("\t\t|------------------------------------------------------------------------------|\n");
printf("\t\t| ***************** SOFTWARE ENCERRADO **************** |\n");
printf("\t\t|------------------------------------------------------------------------------|\n");
printf("\t\t|------------------------------------------------------------------------------|\n");
exit(0);
system("pause");
}
void FecharArquivo(FILE *arquivo)
{
fclose(arquivo);
}
void ApresentarMenu()
{
int opcao;
system("cls");
printf("\n\t\t| ********************* Software de cadastros e pesquisas ****************** |\n");
printf("\t\t|------------------------------------------------------------------------------|\n");
printf("\t| Opcao |________________ Menu _______________|\n");
printf("\t|\t|------------------------------------------------------------------------------|\n");
printf("\t| 1 >>> | --- Cadastrar Nomes e Telefones --- |");
printf("\n\t| 2 >>> | --- Pesquisar Nomes e Telefones --- |");
printf("\n\t| 3 >>> | --- Presentar Nomes e Telefones --- |");
printf("\n\t| 4 >>> | --- Encerrar Software ------------- |\n\t--------\n Opcao: | ");
scanf("%d", &opcao);
EscolherOpcao(opcao);
}
void EscolherOpcao(int opcao)
{
switch(opcao)
{
case 1:
Cadastrar();
break;
//-----
case 2:
break;
//-----
case 3:
Listar();
break;
//-----
case 4: TexteEncerrar();
break;
//---------
default: ApresentarMenu();
}
}
void Cadastrar()
{
FILE *arquivo;
char Nome[100];
int Telefone;
char CaminhoArquivo[100] = "C:\\Dados\\Telefones.txt";
fflush(stdin);
printf("\nNome: ");
gets(Nome);
printf("\nTelefone: ");
scanf("%d", &Telefone);
arquivo = AbrirArquivo("CaminhoArquivo", 'A');
fprintf(arquivo, "%s - %d\n", &Nome, &Telefone);
printf("\nDados Gravados com sucesso!!\n\n");
system("pause");
FecharArquivo(arquivo);
ApresentarMenu();
}
void Listar()
{
FILE *arquivo;
char Nome[100];
int Telefone;
arquivo = AbrirArquivo("C:\\Dados\\Telefones.txt", 'L');
system("cls");
while(!feof(arquivo))
{
fscanf(arquivo, "%s - %d ", &Nome, &Telefone);
printf("\nNome: %s :: Telefone: %d\n", Nome, Telefone);
}
}
main()
{
ApresentarMenu();
system("cls");
printf("\n\n Saido \n\n");
}