sistemasjose
(usa Linux Mint)
Enviado em 26/06/2018 - 16:03h
diegomrodrigues escreveu:
José,
Onde você irá armazenar os contatos da sua agenda?
Usará um banco de dados?
Uma escolha simples seria o SQLite 3.
Abaixo uma idéia de um programa com o menu principal, que chama as funções necessárias.
#include <stdio.h>
// Menu principal
int exibirMenu() {
char *texto;
int opcao=0;
texto = "\n----- SISTEMA AGENDA DE TELEFONES -----\n\n" \
"1. Cadastrar um contato\n" \
"2. Pesquisar um contato\n" \
"3. Alterar um contato\n" \
"4. Excluir um contato\n" \
"5. Classificar\n" \
"6. Listar os contatos\n" \
"7. Sair\n\n" \
"Opção: ";
printf("%s", texto);
scanf("%d", &opcao);
while ( opcao < 1 && opcao > 7) {
printf("\nOpção inválida!\n\nOpção: ");
scanf("%d", &opcao);
}
return opcao;
}
// Função para incluir um contato
int cadastrarContato() {
printf("\nCadastrando um contato...\nCriar código!\n");
return 1;
}
// Função principal do sistema
int main() {
int opcao = 0;
while (opcao != 7) {
opcao = exibirMenu();
switch (opcao) {
case 1:
if (cadastrarContato()) {
printf("\nContato incluído com sucesso!\n");
} else {
printf("\nFalha ao incluir um Contato.\n");
}
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
}
}
return 0;
}
Abraço,
Diego M. Rodrigues
Olá! Desde já agradeço a ajuda!
É um programa simples, não é necessário banco de dados.
Os contatos da Agenda irão ser salvos em um arquivos "clientes.dat"
Estou trabalho com arquivo.
Segue o código faltando apenas fazer o excluir e o listar para ficar completo.
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
typedef struct {
char nom[20];
char tel[14];
char cel[14];
int exc;
} tAgenda;
FILE *file;
tAgenda tmp;
tAgenda a;
int c;
int incluir(){
//char str[80];
file = fopen("clientes.dat", "a");
//solicitar dados do novo registro
printf("\nDigite o nome: ");
scanf("%s",&a.nom);
printf("\nDigite o fone: ");
scanf("%s",&a.tel);
printf("\nDigite o celular: ");
scanf("%s",&a.cel);
fwrite(a.nom,20,1,file);
fwrite(a.tel,14,1,file);
fwrite(a.cel,14,1,file);
fclose(file);
}
int pesquisar() {
int i=0;
char busca[30];
file = fopen("clientes.dat", "r");
printf("Buscar Clientes\n==================\n\n");
printf("Qual cliente esta Buscando?\n");
scanf("%s", &busca);
rewind(file);
fread(tmp.nom, 20, 1, file);
fread(tmp.tel, 14, 1, file);
fread(tmp.cel, 14, 1, file);
do{
if (strcmp(busca, tmp.nom) == 0) {
printf("\nCliente Encontrado!\n");
printf("NOME: %s | TEL: %S | CEL: %s\n", tmp.nom, tmp.tel, tmp.cel);
return ftell(file);
}
i++;
fread(tmp.nom, 20, 1, file);
fread(tmp.tel, 14, 1, file);
fread(tmp.cel, 14, 1, file);
}while(!feof(file));
printf("\nCliente Nao Encontrado!\n");
fclose(file);
return -1;
}
int alterar() {
printf("Alterar Cliente\n==================\n\n");
tAgenda agenda[50];
int i=0;
char busca[30];
int achou = 0;
printf("Qual cliente esta Buscando?\n");
scanf("%s", &busca);
file=fopen("clientes.dat","a+");
if(!file){printf("ERRO AO ABRIR ARQUIVO!");
}
rewind(file);
fread(agenda[i].nom,20,1,file);
fread(agenda[i].tel,14,1,file);
fread(agenda[i].cel,14,1,file);
do{
if (strcmp(busca, agenda[i].nom) == 0){
achou = 1;
printf("\nDigite o Nome do Novo Cliente:\n");
scanf("%s", &agenda[i].nom);
printf("Digite o telefone:\n");
scanf("%s", &agenda[i].tel);
printf("Digite o celular:\n");
scanf("%s", &agenda[i].cel);
}
i++;
fread(agenda[i].nom,20,1,file);
fread(agenda[i].tel,14,1,file);
fread(agenda[i].cel,14,1,file);
}while(!feof(file));
fclose(file);
if (achou == 1){
file = fopen("clientes.dat", "w");
for(i=0;i<50;i++){
if (strcmp(agenda[i].nom,"")!=0){
fwrite(agenda[i].nom, 20, 1, file);
fwrite(agenda[i].tel, 14, 1, file);
fwrite(agenda[i].cel, 14, 1, file);
}
else
break;
}
fclose(file);
}
else
printf("\nCliente Nao Encontrado!\n");
}
int excluir() {
}
int classificar() {
}
int listar(){
int i=0;
file = fopen("clientes.dat", "r");
rewind(file);
fread(tmp.nom, 20, 1, file);
fread(tmp.tel, 14, 1, file);
fread(tmp.cel, 14, 1, file);
do{
printf("NOME: %s | TEL: %s | CEL: %s\n", tmp.nom, tmp.tel, tmp.cel);
i++;
fread(tmp.nom, 20, 1, file);
fread(tmp.tel, 14, 1, file);
fread(tmp.cel, 14, 1, file);
}while(!feof(file));
fclose(file);
}
int main()
{
int opc;
do{
printf("============================<< SISTEMA DE CADASTRO DE CLIENTES >>============================\n");
printf("1 - Incluir\n");
printf("2 - Alterar\n");
printf("3 - Excluir\n");
printf("4 - Ordenar\n");
printf("5 - Listar\n");
printf("6 - Pesquisar\n");
printf("7 - Sair\n");
printf("DIGITE UMA OPCAO: ");
scanf("%d",&opc);
printf("=======================================================================\n");
if(opc==1) incluir();
if(opc==2) alterar();
if(opc==3) excluir();
if(opc==4) classificar();
if(opc==5) listar();
if(opc==6)pesquisar();
}while(opc!=7);
return 0;
}