Advertisement
weldisalves

Lista 07 - exercício 11

Jul 23rd, 2013
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.40 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define MAX_ITENS 1
  4. #define MAX_CARACTER 30
  5.  
  6. struct TipoHora{
  7.     int horas;
  8.     int mim;
  9.     char turno[2];
  10.     };
  11.  
  12. struct TipoData{
  13.     char dia[2];
  14.     char mes[3];
  15.     char ano[2];
  16.     };
  17.  
  18. struct TipoCompromisso{
  19.     char nome[MAX_CARACTER];
  20.     struct TipoData data;
  21.     struct TipoHora hora;
  22.     };
  23.  
  24. int menu()
  25. {
  26.     int opcao;
  27.  
  28.     printf("\n MENU\n");
  29.     printf("\n 1 - Listar todos os compromissos");
  30.     printf("\n 2 - Listar todos os compromissos apresentando os horarios no formato de hora 24h");
  31.     printf("\n 3 - Exibir os compromissos de uma determinada data fornecida pelo usuario");
  32.     printf("\n 4 - Exibir a quantidade de compromissos de um determinado mes fornecido pelo usuario");
  33.     printf("\n Digite a opcao desejada: ");
  34.     scanf("%d",&opcao);
  35.  
  36.     return opcao;
  37. }
  38.  
  39. void ListarTodosCompromissos(struct TipoCompromisso compromisso[])
  40. {
  41.     int i;
  42.  
  43.     for(i=0;i<MAX_ITENS;i++)
  44.     {
  45.         printf("\n Nome: %s, %s - %s - %s, %d : %d %s",compromisso[i].nome,compromisso[i].data.dia,compromisso[i].data.mes,compromisso[i].data.ano,compromisso[i].hora.horas,compromisso[i].hora.mim, compromisso[i].hora.turno);
  46.     }
  47. }
  48.  
  49. void ListarTodosCompromissos24horas(struct TipoCompromisso compromisso[])
  50. {
  51.     int i;
  52.  
  53.     for(i=0;i<MAX_ITENS;i++)
  54.     {
  55.         if(strcmp(compromisso[i].hora.turno,"PM")==0 && compromisso[i].hora.horas <= 12) compromisso[i].hora.horas + 12;
  56.         printf("\n Nome: %s, %s-%s-%s, %d:%d %s",compromisso[i].nome,compromisso[i].data.dia,compromisso[i].data.mes,compromisso[i].data.ano,compromisso[i].hora.horas,compromisso[i].hora.mim, compromisso[i].hora.turno);
  57.     }
  58. }
  59.  
  60.  
  61. void ExibirCompromissoData(char dia[],char mes[],char ano[],struct TipoCompromisso compromisso[])
  62. {
  63.     int i;
  64.     for(i=0;i<MAX_ITENS;i++)
  65.     {
  66.         if(strcmp(dia,compromisso[i].data.dia)==0)
  67.         {
  68.             if(strcmp(mes,compromisso[i].data.mes)==0)
  69.             {
  70.                 if(strcmp(ano,compromisso[i].data.ano)==0)
  71.                 {
  72.                     printf("\n Nome: %s, %s-%s-%s, %d:%d %s",compromisso[i].nome,compromisso[i].data.dia,compromisso[i].data.mes,compromisso[i].data.ano,compromisso[i].hora.horas,compromisso[i].hora.mim, compromisso[i].hora.turno);
  73.                 }
  74.             }
  75.         }
  76.     }
  77. }
  78.  
  79. void ContComprimissoMes(char mesEscolhido[],struct TipoCompromisso compromisso[])
  80. {
  81.     int i,cont=0;
  82.  
  83.     for(i=0;i<MAX_ITENS;i++)
  84.     {
  85.         if(strcmp(mesEscolhido,compromisso[i].data.mes)==0)cont++;
  86.     }
  87.  
  88.     printf("\n Resultado: %d",cont);
  89. }
  90.  
  91. int main()
  92. {
  93.     struct TipoCompromisso compromisso[MAX_ITENS];
  94.     strcpy(compromisso[0].nome,"weldis");
  95.     strcpy(compromisso[0].data.dia,"09");
  96.     strcpy(compromisso[0].data.mes,"JAN");
  97.     strcpy(compromisso[0].data.ano,"2013");
  98.     compromisso[0].hora.horas=12;
  99.     compromisso[0].hora.mim=13;
  100.     strcpy(compromisso[0].hora.turno,"PM");
  101.  
  102.     switch (menu())
  103.     {
  104.         case 1: ListarTodosCompromissos(compromisso);
  105.                 break;
  106.  
  107.         case 2: ListarTodosCompromissos24horas(compromisso);
  108.                 break;
  109.  
  110.         case 3: ExibirCompromissoData("09","JAN","2013",compromisso);
  111.                 break;
  112.  
  113.         case 4: ContComprimissoMes("JAN",compromisso);
  114.                 break;
  115.  
  116.         default: printf("\n OPCAO ERRADA");
  117.                  break;
  118.     }
  119.  
  120.     getch();
  121.     return 0;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement