Advertisement
weldisalves

Lista 07 - Exercício 11

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