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");
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");
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");
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++)
{
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");
}