Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #define MAX 20
- //struct dos compromissos
- struct tipoAgenda{
- char nome[20], mes[10];
- char am_pm[3];
- int dias, ano, auxMes;
- int horas, minutos;
- };
- // protótipos das funções
- int menu();
- void cadastroCompromissos();
- void listarCompromissos();
- void converterHoras();
- void determinadaData();
- void converterMes();
- //funçao principal
- int main()
- {
- struct tipoAgenda compromissos[MAX];
- cadastroCompromissos(compromissos);
- switch(menu()){
- case 1:
- converterHoras(compromissos);
- converterMes(compromissos);
- listarCompromissos(compromissos);
- break;
- case 2:
- converterMes(compromissos);
- converterHoras(compromissos);
- listarCompromissos(compromissos);
- break;
- case 3:
- converterMes(compromissos);
- converterHoras(compromissos);
- determinadaData(compromissos);
- break;
- case 4:
- converterMes(compromissos);
- printf("\nQauntidade de compromissos no mes: %d\n",determinadoMes(compromissos));
- break;
- default:
- printf("\nOpcao invalida!\n");
- break;
- }
- }
- //funçao menu
- int menu()
- {
- system("cls");
- int opcao;
- printf("****************************** Menu Principal *******************************\n\n");
- printf("(1)Listar todos os compromissos.\n");
- printf("(2)Listar todos os compromissos apresentando os horarios no formato de hora 24h.");
- printf("(3)Exibir os compromissos de uma determinada data.\n");
- printf("(4)Exibir a quantidade de compromissos de um determinado mes.\n\n");
- printf("********************************************************************************\n\n");
- printf("Escolha uma opcao: ");
- scanf("%d", &opcao);
- return opcao;
- }
- //funçao cadastro
- void cadastroCompromissos(struct tipoAgenda compromissos[])
- {
- int i;
- for(i=0;i<MAX;i++){
- printf("Digite o nome do compromisso: ");
- fflush(stdin);
- gets(compromissos[i].nome);
- printf("Digite a data (ex: 18 07 13): ");
- scanf("%d %d %d", &compromissos[i].dias, &compromissos[i].auxMes, &compromissos[i].ano);
- printf("Digite a a hora (ex: 09 40 AM/PM): ");
- fflush(stdin);
- scanf("%d %d %s", &compromissos[i].horas, &compromissos[i].minutos, compromissos[i].am_pm);}
- }
- //funçao listar compromissos
- void listarCompromissos(struct tipoAgenda compromissos[])
- {
- system("cls");
- int i;
- printf("*************************** Todos os compromissos ***************************\n\n");
- for(i=0;i<MAX;i++)
- printf("%s, %02d-%s-%d, %02d:%02d %s\n", compromissos[i].nome, compromissos[i].dias, compromissos[i].mes, compromissos[i].ano, compromissos[i].horas, compromissos[i].minutos, compromissos[i].am_pm);
- }
- //funçao converter horas
- void converterHoras(struct tipoAgenda compromissos[])
- {
- int i;
- for(i=0;i<MAX;i++)
- if(strcmp(compromissos[i].am_pm,"pm")==0)
- if(compromissos[i].horas<12)
- compromissos[i].horas+=12;
- }
- //exibir a data no formato aa-mmm-aa
- void converterMes(struct tipoAgenda compromissos[])
- {
- int i;
- for(i=0;i<MAX;i++)
- if(compromissos[i].auxMes==1)
- strcpy(compromissos[i].mes,"Jan");
- else if(compromissos[i].auxMes==2)
- strcpy(compromissos[i].mes,"Fev");
- else if(compromissos[i].auxMes==3)
- strcpy(compromissos[i].mes,"Mar");
- else if(compromissos[i].auxMes==4)
- strcpy(compromissos[i].mes,"Abr");
- else if(compromissos[i].auxMes==5)
- strcpy(compromissos[i].mes,"Mai");
- else if(compromissos[i].auxMes==6)
- strcpy(compromissos[i].mes,"Jun");
- else if(compromissos[i].auxMes==7)
- strcpy(compromissos[i].mes,"Jul");
- else if(compromissos[i].auxMes==8)
- strcpy(compromissos[i].mes,"Ago");
- else if(compromissos[i].auxMes==9)
- strcpy(compromissos[i].mes,"Set");
- else if(compromissos[i].auxMes==10)
- strcpy(compromissos[i].mes,"Out");
- else if(compromissos[i].auxMes==11)
- strcpy(compromissos[i].mes,"Nov");
- else
- strcpy(compromissos[i].mes,"Dez");
- }
- //funçao que exibi por uma determinada data
- void determinadaData(struct tipoAgenda compromissos[])
- {
- system("cls");
- int i, dia, ano, mes;
- printf("Digite uma data(ex: dia mes ano): ");
- scanf("%d %d %d", &dia, &mes, &ano);
- for(i=0;i<MAX;i++)
- if(compromissos[i].dias==dia && compromissos[i].auxMes==mes && compromissos[i].ano==ano)
- printf("\n%s, %02d:%02d %s\n", compromissos[i].nome, compromissos[i].horas, compromissos[i].minutos, compromissos[i].am_pm);
- }
- //funçao que exibi por um determinado mes
- int determinadoMes(struct tipoAgenda compromissos[])
- {
- system("cls");
- int i, cont=0;
- char mes[10];
- printf("Digite o nome do Mes: ");
- fflush(stdin);
- gets(mes);
- for(i=0;i<MAX;i++)
- if(strcmp(mes,compromissos[i].mes)==0)
- cont++;
- return cont;
- }
Advertisement
Add Comment
Please, Sign In to add comment