Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <stdio.h> #include <stdlib.h> #include <string.h> #include<conio.h> //#include"AGENDA.h" //#include "estruturas-.h" //ESTRUTURAS PARA A AGENDA //=============================================================== //E-MAIL struct email{ char END_MAIL[64]; }; //=============================================================== //ENDEREÇO struct endereco{ char nome_end[64]; int num_end; char complemento[32]; char bairro[32]; char cidade[32]; char estado[2]; }; //=============================================================== //REGISTRAR OS CONTATOS E OS LEMBRETES struct contatos{ int codigo; char nome[32]; char sobrenome[32]; char aniversario[10]; endereco residencial[64]; endereco comercial[64] ; email E_MAIL1[64]; email E_MAIL2[64]; email E_MAIL3[64]; }; //CALENDARIO struct data{ int ano; int mes; int dia; }; //PROGRAMA PRINCIPAL main() { int i=0; struct TCNTT codi, NM[32], SBNM[32], ANIV[10],RESI[64], COM[64]; struct TEML EML[3]; struct TDT ANIV; FILE *fd; int menu,tamanho_do_nomepess,tamanho_do_sobpess,tamanho_do_email[3],tamanho_do_endereco,tamanho_do_aniversario,tamanho_do_telefone,tamanho_do_lembrete,tamanho_da_data; char ,,aniversario[10],telefone[10],[50],lembrete[150],data[10]; while (menu!=0) { printf("\n\t* * * * * * * * * * * * * * **"); printf("\n\t* AGENDA *"); printf("\n\t* * * * * * * * * * * * * * **"); printf("\n\t* MENU *"); printf("\n\t* * * * * * * * * * * * * * **"); printf("\n\t* (1)\tRegistrar Contato *"); printf("\n\t* (2)\tProcurar Contato *"); printf("\n\t* (3)\tListar Tudo *"); printf("\n\t* (4)\tListar Contato *"); printf("\n\t* (5)\tApagar Tudo *"); printf("\n\t* (6)\tApagar Contato *"); printf("\n\t* * * * * * * * * * * * * * *"); printf("\n\t* (0)\tSair *"); printf("\n\t* * * * * * * * * * * * * * **"); printf("\nMenu "); scanf("%d",&menu); switch (menu) { case 1: { printf("QUANTAS PESSOAS VOCE QUER REGISTRAS"); scanf("%d",&QNT); do{ printf("\n\tCodigo:"); scanf("%d",&codi.codpess); printf("\n\tEntre com o Nome: "); scanf("%s",&NM[i].nomepess); tamanho_do_nome=strlen(NM[i].nomepess); printf("\n\tEntre com o Sobrenome: "); scanf("%s",&SBNM[i].sobnpess); tamanho_do_sobnpess=strlen(SBNM[i].sobnpess); for (i=0;i<3;i++){ printf("\n\tEntre com o e-mail: "); scanf("%s",&EML[i].E_MAIL[i].endemail); tamanho_do_email[i]=strlen(EML[i].E_MAIL[i].endemail); } printf("\n\tEntre com o endereco: "); scanf("%s",&endereco); tamanho_do_endereco=strlen(endereco); printf("\nRESIDENCIAL"); printf("\nRUA: "); scanf("%s",&RESI[i].residencial.descend); printf("\nNUMERO:", RESI[i].residencial.numend); scanf("%d",&RESI[i].residencial.numend); printf("\nCOMPLEMENTO: "); scanf("%s",&RESI[i].residencial.compend); printf("\nBAIRRO: "); scanf("%s",&RESI[i].residencial.bairroend); printf("\nCIDADE: "); scanf("%s",&RESI[i].residencial.cidend); printf("\nUF: "); scanf("%s",&RESI[i].residencial.uf); printf(fd, "\nCOMERCIAL"); printf("\nRUA: "); scanf("%s",&COM[i].comercial.descend); printf("\nNUMERO:", COM[i].comercial.numend); scanf("%d",&COM[i].comercial.numend); printf("\nCOMPLEMENTO: "); scanf("%s",&COM[i].comercial.compend); printf("\nBAIRRO: "); scanf("%s",&COM[i].comercial.bairroend); printf("\nCIDADE: "); scanf("%s",&COM[i].comercial.cidend); printf("\nUF: "); scanf("%s",&COM[i].comercial.uf); printf("\n\tEntre com a data de aniversario\n\t"); printf( "\n\tDIA: " scanf("%%d",ANIV.aniversario.dia); printf("\tMES: "); scanf("%d",ANIV.aniversario.mes); printf("\tANO: "); scanf("%d",ANIV.aniversario.ano); tamanho_do_aniversario=strlen(aniversario); registra(nome,telefone,E_MAIL,endereco,aniversario); i++; }while (i<=QNT); } break; case 2: { printf("\n\tEntre com o Nome: "); scanf("%s",&nome); tamanho_do_nome=strlen(nome); if (tamanho_do_nome>30) { printf("O tamanho do nome passa de 30 letras.\n"); } else { pesquisa(nome); } } break; case 3: { listar(); } break; case 4: { listalimp(); } break; case 5: { printf("\n\tAgenda criada por Grace Kelly\n\n"); } break; case 6: { printf("\n\tAdionar data do Lembrete.\n"); scanf("%s",&data); tamanho_da_data=strlen(data); printf("\n\tAdionar Lembrete.\n"); scanf("%s",&lembrete); tamanho_do_lembrete=strlen(lembrete); eventos(data,lembrete); }break; case 7: listar_evento(); break; case 8: CALENDARIO(); break; case 0: break; default: { printf("\n\tOpcao invalida.\n"); } } } return(0); } //FUNÇÕES //REGISTRA DADOS void registra(){ struct TCNTT codi, NM[32], SBNM[32], ANIV[10],RESI[64], COM[64]; struct TEML EML[3]; struct TDT ANIV; FILE *fd; fd=fopen("nome_agenda","a"); while ((fscanf(fd,"%d", codi))!=EOF){ fprintf(fd, "%d\n", codi.codpess); fprintf(fd, "%s\n", NM[i].nomepess); fprintf(fd, "%s\n", SBNM[i].sobnpess); fprintf(fd, "%s\n", EML[i].E_MAIL[i].endemail); fprintf(fd, "\nRESIDENCIAL"); fprintf(fd, "%s\n", RESI[i].residencial.descend); fprintf(fd, "%s\n", RESI[i].residencial.numend); fprintf(fd, "%s\n", RESI[i].residencial.compend); fprintf(fd, "%s\n", RESI[i].residencial.bairroend); fprintf(fd, "%s\n", RESI[i].residencial.cidend); fprintf(fd, "%s\n", RESI[i].residencial.uf); fprintf(fd, "\nCOMERCIAL"); fprintf(fd, "%s\n", COM[i].comercial.descend); fprintf(fd, "%s\n", COM[i].comercial.numend); fprintf(fd, "%s\n", COM[i].comercial.compend); fprintf(fd, "%s\n", COM[i].comercial.bairroend); fprintf(fd, "%s\n", COM[i].comercial.cidend); fprintf(fd, "%s\n", COM[i].comercial.uf); fprintf(fd, "\nANIVERSARIO"); fprintf(fd, "%d\n",ANIV.aniversario.dia); fprintf(fd, "%d\n",ANIV.aniversario.mes); fprintf(fd, "%d\n",ANIV.aniversario.ano); printf("\n\tDados registrados!\n"); } } fclose(fd); getchar(); } //FUNÇAO CODIGO void cod(){ FILE *fd; fd=fopen("nome_agenda","w"); printf ("CODIGO: "); scanf("%d",&codi); //===================================================== //LIMPA A AGENDA void listalimp() { FILE *fd; fd=fopen("nome_agenda","w+"); printf("\n\tAGENDA APAGADA!\n"); fclose(fd); getchar(); } //====================================================== //PESQUISA CONTATOS void pesquisa(char pesq[]) { FILE *fd; char curs[30],E_MAIL[30],telefone[10],endereco[50],aniversario[10]; int existe=0; fd=fopen("nome_agenda","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"); fscanf(fd,"\n%s", &E_MAIL); printf("\n\tE-mail: %s\n", E_MAIL); fscanf(fd,"\n"); fscanf(fd,"\n%s", &endereco); printf("\n\tEndereco: %s\n", endereco); fscanf(fd,"\n"); fscanf(fd,"\n%s", &aniversario); printf("\n\tAniversario: %s\n", aniversario); fscanf(fd,"\n"); existe=1; } else fscanf(fd,"\n\n"); if (existe==0) printf("Cadastro inexistente!\n"); getchar(); fclose(fd); } //====================================================== //LISTA CONTATOS void listar() { FILE *fd; char curs[30],endereco[50],aniversario[10],E_MAIL[10],telefone[10]; int i=0; fd=fopen("nome_agenda","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"); fscanf(fd,"\n%s", &E_MAIL); printf("\n\tE-mail: %s\n", E_MAIL); fscanf(fd,"\n"); fscanf(fd,"\n%s", &endereco); printf("\n\tEndereco: %s\n", endereco); fscanf(fd,"\n"); fscanf(fd,"\n%s", &aniversario); printf("\n\tAniversario: %s\n", aniversario); fscanf(fd,"\n\n"); i++; } printf("\n\n\t\tTotal de registros: %d",i); } //=============================================================== //EVENTOS void eventos(char data[10],char lembrete[150]) { FILE *fd; fd=fopen("nome_agenda","a"); fprintf(fd, "%s\n", data); fprintf(fd, "%s\n", lembrete); printf("\n\tLembrete registrados!\n"); fclose(fd); } //=============================================================== //LISTAR EVENTOS void listar_evento(){ FILE *fd; char data[10],lembrete[150]; int i=0; fd=fopen("nome_agenda","r"); fscanf(fd,"\n%s", &data); printf("\n\tData: %s",data); fscanf(fd,"\n%s", &lembrete); printf("\n\tLembrete: %s\n", lembrete); fscanf(fd,"\n"); i++; printf("\n\n\t\tTotal de registros: %d",i); } //====================================================== //CALENDARIO CALENDARIO(){ int ano, mes, i, dias_mes, anobi, diasecular; int termo1, termo2, termo3, termo4, termo5, termo6, termo7, resto; printf("Calendario\n\n"); printf("Entre com o ano (1901-2099):"); scanf("%d", &ano); if(ano>=1901 && ano<2099){ }else{ printf("\nO ano tem que ser entre 1901 e 2099\n\n"); system("PAUSE"); return EXIT_SUCCESS;} printf("Entre com o mes (1-12):"); scanf("%d", &mes); if(mes <=12 && mes >= 1){ if(mes==2 && ano%4==0 && ano%100!=0 || mes==2 && ano%400==0){ anobi = 1; }else{ anobi = 0;} if (mes == 2 && anobi== 1){ dias_mes = 29;} else if (mes == 2 && anobi== 0){ dias_mes = 28;} else if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12){ dias_mes = 31;} else if(mes == 4 || mes == 6 || mes == 9 || mes == 11){ dias_mes = 30;} //COLOCA OS DIAS DO MES NA ORDEM CORRETA termo1 = (ano - 1901)*365; termo2 = (ano - 1901)/4; termo3 = (mes - 1) *31; termo4 = (mes * 4 + 23)/10; termo5 = (mes + 12)/ 15; termo6 = (4 - ano % 4) / 4; termo7 = (mes + 12)/ 15; diasecular = termo1 + termo2 + 1 + termo3 - termo4 * termo5 + termo6 * termo7; resto = diasecular % 7; // printf("%d Dia-do-Seculo(%d)\n\n", diasecular, resto); switch(resto){ case 0: printf("\nD S T Q Q S S\n"); printf(" 1 "); for (i=2;i<7;i++){ printf("%d ", i);} printf("\n"); for (i=7;i<10;i++){ printf("%d ", i);} for (i=10;i<14;i++){ printf("%d ", i);} printf("\n"); for (i=14;i<21;i++){ printf("%d ", i);} printf("\n"); for (i=21;i<28;i++){ printf("%d ", i);} printf("\n"); if (dias_mes == 28){ printf("28\n");} if (dias_mes >=29){ for (i=28;i<=dias_mes;i++){ printf("%d ", i);} printf("\n");} break; case 1: printf("\nD S T Q Q S S\n"); printf(" 1 "); for (i=2;i<6;i++){ printf("%d ", i);} printf("\n"); for (i=6;i<10;i++){ printf("%d ", i);} for (i=10;i<13;i++){ printf("%d ", i);} printf("\n"); for (i=13;i<20;i++){ printf("%d ", i);} printf("\n"); for (i=20;i<27;i++){ printf("%d ", i);} printf("\n"); for (i=27;i<=dias_mes;i++){ printf("%d ", i);} printf("\n"); break; case 2: printf("\nD S T Q Q S S\n"); printf(" 1 "); for (i=2;i<5;i++){ printf("%d ", i);} printf("\n"); for (i=5;i<10;i++){ printf("%d ", i);} for (i=10;i<12;i++){ printf("%d ", i);} printf("\n"); for (i=12;i<19;i++){ printf("%d ", i);} printf("\n"); for (i=19;i<26;i++){ printf("%d ", i);} printf("\n"); for (i=26;i<=dias_mes;i++){ printf("%d ", i);} printf("\n"); break; case 3: printf("\nD S T Q Q S S\n"); printf(" 1 "); for (i=2;i<4;i++){ printf("%d ", i);} printf("\n"); for (i=4;i<9;i++){ printf("%d ", i);} for (i=9;i<11;i++){ printf("%d ", i);} printf("\n"); for (i=11;i<18;i++){ printf("%d ", i);} printf("\n"); for (i=18;i<25;i++){ printf("%d ", i);} printf("\n"); for (i=25;i<=dias_mes;i++){ printf("%d ", i);} printf("\n"); break; case 4: printf("\nD S T Q Q S S\n"); printf(" 1 "); for (i=2;i<3;i++){ printf("%d ", i);} printf("\n"); for (i=3;i<10;i++){ printf("%d ", i);} printf("\n"); for (i=10;i<17;i++){ printf("%d ", i);} printf("\n"); for (i=17;i<24;i++){ printf("%d ", i);} printf("\n"); if (dias_mes == 30 || dias_mes == 29||dias_mes == 28 ){ for (i=24;i<=dias_mes;i++){ printf("%d ", i);} printf("\n"); }else{ for (i=24;i<=30;i++){ printf("%d ", i);} printf("\n"); printf("31\n");} break; case 5: printf("\nD S T Q Q S S\n"); printf(" 1\n"); for (i=2;i<9;i++){ printf("%d ", i);} printf("\n"); printf("9 "); for (i=10;i<16;i++){ printf("%d ", i);} printf("\n"); for (i=16;i<23;i++){ printf("%d ", i);} printf("\n"); if (dias_mes == 28 || dias_mes == 29){ for (i=23;i<=dias_mes;i++){ printf("%d ", i);} printf("\n");} else if (dias_mes == 30){ for (i=23;i<=30;i++){ printf("%d ", i);} printf("\n"); printf("30\n");} else if (dias_mes == 31){ for (i=23;i<30;i++){ printf("%d ", i);} printf("\n"); printf("30 "); printf("31\n"); } break; case 6: printf("\nD S T Q Q S S\n"); printf("1 "); for (i=2;i<8;i++){ printf("%d ", i);} printf("\n"); for (i=8;i<10;i++){ printf("%d ", i);} for (i=10;i<15;i++){ printf("%d ", i);} printf("\n"); for (i=15;i<22;i++){ printf("%d ", i);} printf("\n"); for (i=22;i<29;i++){ printf("%d ", i);} printf("\n"); for (i=29;i<=dias_mes;i++){ printf("%d ", i);} printf("\n"); break; } }else{ printf("\nO mes tem que ser de 1 a 12\n\n");} return EXIT_SUCCESS; }
Compartilhar