5126660.Ep2_matheus.cpp


/********************************************************************/
/* Matheus Correard                                                 */
/* Exerc?cio-Programa 02(Ca?a-Niqueis)                              */
/* Curso Licenciatura em F?sica - Turma 22 - Professor Reverbel     */
/* Compilador Dev C++                                               */
/********************************************************************/
#include<stdio.h>
/*biblioteca de calculos*/
#include<math.h>
/* biblioteca para o system pause*/
#include<stdlib.h>
double seno(double y)/*fun??o seno*/
{
       double  termo, seno, y_quad;
       int i;
       i = 2;
       y_quad = -y*y;
       termo=y;
       seno = 0.0;
       while(termo>=1e-8 || termo<=-1e-8)
       {
                  seno = seno + termo;
                  termo=termo*y_quad/(i*(i+1));
                  i = i + 2;
       }
       return seno;
}

void  grafico (int ast)/*fun??o do histrograma*/
{
   int i;
   for(i=0; i<ast; i++)
            printf("*");
}

int main()/*?nicio do programa*/
{
    int opcao;
    double y, x;
    printf ("Bem vindo ao programa CacaNiqueis!!! Suas opcoes sao:\n");
    printf ("    0 - sair do programa\n");
    printf ("    1 - aposta so na figura f1\n");
    printf ("    2 - aposta em qualquer premio\n");
    printf ("    3 - aposta em qualquer premio\n");
    printf ("    4 - modo de afericao\n");
    printf ("\nDigite a opcao desejada: ");
    scanf ("%d", & opcao);
    y = 0.5126660;
    x = (9821.0 * fabs (seno(y)) + 0.211327);
    y = x - floor (x);
    while (opcao != 0)/*la?o da op??o*/
    {
          if (opcao > 0 && opcao <= 4)/*Verifica??o da op??o*/
          {
                    int figura, rolo1, rolo2, rolo3;
                    if (opcao == 1)
                    {
                          printf("Voce apostou so na figura f1\n");
other                          figura = (int) (y*5) + 1;
                          rolo1 = figura;
                          x = (9821.0 * fabs (seno(y)) + 0.211327);
                          y = x - floor (x);
                          figura = (int) (y*5) + 1;
                          rolo2 = figura;
                          x = (9821.0 * fabs (seno(y)) + 0.211327);
                          y = x - floor (x);
                          figura = (int) (y*5) + 1;
                          rolo3 = figura;
                          printf ("As figuras sorteadas foram: f%d f%d f%d\n", rolo1, rolo2, rolo3);
                          if (rolo1 == 1 && rolo2 == 1 && rolo3 == 1)
                             printf ("Parabens voce ganhou 4*X");
                          else
                              printf ("Que pena, infelizmente voce nao ganhou nada\n");
                    }
                    else if (opcao == 2)
                    {
                         printf ("Voce apostou em tres figuras iguais\n");
other                         figura = (int) (y*5) + 1;
                         rolo1 = figura;
                         x = (9821.0 * fabs (seno(y)) + 0.211327);
                         y = x - floor (x);
                         figura = (int) (y*5) + 1;
                         rolo2 = figura;
                         x = (9821.0 * fabs (seno(y)) + 0.211327);
                         y = x - floor (x);
                         figura = (int) (y*5) + 1;
                         rolo3 = figura;
                         printf ("As figuras sorteadas foram: f%d f%d f%d\n", rolo1, rolo2, rolo3);
                         if (rolo1 == rolo2 && rolo2 == rolo3 && rolo1 != 1 && rolo2 !=1 && rolo3 !=1)
                            printf ("Parabens voce ganhou 2*X\n");
                         else if (rolo1 == 1 && rolo2 == 1 && rolo3 == 1)
                              printf ("Parabens voce ganhou 4*x\n");
                         else
                             printf ("Que pena, infelizmente voce nao ganhou nada\n");
                    }
                    else if (opcao == 3)
                    {
                         printf ("Voce apostou em qualquer premio\n");
other                         figura = (int) (y*5) + 1;
                         rolo1 = figura;
                         x = (9821.0 * fabs (seno(y)) + 0.211327);
                         y = x - floor (x);
                         figura = (int) (y*5) + 1;
                         rolo2 = figura;
                         x = (9821.0 * fabs (seno(y)) + 0.211327);
                         y = x - floor (x);
                         figura = (int) (y*5) + 1;
                         rolo3 = figura;
                         printf ("As figuras sorteadas foram: f%d f%d f%d\n", rolo1, rolo2, rolo3);
                         if (rolo1 == 1 && rolo2 == 1 && rolo3 == 1)
                            printf ("Parabens voce ganhou 4*X\n");
                         else if (rolo1 == rolo2 && rolo2 == rolo3)
                              printf ("Parabens voce ganhou 2*X\n");
                         else if (rolo1 != rolo2 && rolo2 != rolo3 && rolo1 != rolo3)
                              printf ("Que pena, infelizmente voce nao ganhou nada\n");
                         else
                             printf ("Parabens voce ganhou X\n");
                    }
                    else
                    {
                        int numapos,i;
                        printf ("Modo de afericao, diigte o numero de apostas: ");
                        scanf("%d", & numapos);
                        printf ("Numero de apostas: %d\n", numapos);
                        int prem1, prem2, prem3, prem4;
                        prem1 = 0;
                        prem2 = 0;
                        prem3 = 0;
                        prem4 = 0;
                        for (i = 0; i < numapos; i++)
                        {
other                              figura = (int) (y*5) + 1;
                              rolo1 = figura;
                              x = (9821.0 * fabs (seno(y)) + 0.211327);
                              y = x - floor (x);
                              figura = (int) (y*5) + 1;
                              rolo2 = figura;
                              x = (9821.0 * fabs (seno(y)) + 0.211327);
                              y = x - floor (x);
                              figura = (int) (y*5) + 1;
                              rolo3 = figura;
                              if (rolo1 == 1 && rolo2 == 1 && rolo3 == 1)
                                 prem1 = prem1 + 1;
                              else if (rolo1 == rolo2 && rolo2 == rolo3)
                                   prem2 = prem2 + 1;
                              else if (rolo1 != rolo2 && rolo2 != rolo3 && rolo1 != rolo3)
                                   prem4 = prem4 + 1;
                              else
                                  prem3 = prem3 +1;
                        }
                        printf ("Resultados:\n");
                        printf ("\n              Premio        1        2        3        4");
                        printf ("\n              Ocorrencias   %d        %d       %d       %d\n", prem1, prem2, prem3, prem4);
                        printf ("\n Histograma: ");
                        printf ("\n  1 ");
                        grafico ((int) 180*prem1/numapos);
                        printf ("\n  2 ");
                        grafico ((int) 180*prem2/numapos);
                        printf ("\n  3 ");
                        grafico ((int) 180*prem3/numapos);
                        printf ("\n  4 ");
                        grafico((int) 180*prem4/numapos);
                        double esperado, diferenca;
                        esperado = numapos * 14.0 / 25.0;
                        diferenca = prem3 - esperado;
                        printf ("\nPremio X: esperado %g, obitido %d, diferenca %g\n", esperado, prem3, diferenca);
                        esperado = numapos * 4.0 / 125.0;
                        diferenca = prem2 - esperado;
                        printf ("Premio 2*X: esperado %g, obitido %d, diferenca %g\n", esperado, prem2, diferenca);
                        esperado = numapos * 1.0 / 125.0;
                        diferenca = prem1 - esperado;
                        printf ("Premio 4*X: esperado %g, obitido %d, diferenca %g\n", esperado, prem1, diferenca);
                        esperado = numapos * 2.0 / 5.0;
                        diferenca = prem4 - esperado;
                        printf ("Premio 0: esperado %g, obitido %d, diferenca %g\n", esperado, prem4, diferenca);
                    }          
                    printf ("\nDigite a opcao desejada: ");
                    scanf ("%d", & opcao);
          }
          else
          {
              printf ("Opcao invalida\n");
              printf ("\nDigite a opcao desejada: ");
              scanf ("%d", & opcao);
          }
    }
    printf("Volte sempre!!!\n");
    system ("PAUSE");
}