Advertisement
idsystems

Practica 6 - Dados

Jan 17th, 2012
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.22 KB | None | 0 0
  1. /* DISELE UN PROGRAMA QUE SIMULE EL LANZAMIENTO DE DOS DADOS HASTA QUE SALGA UN SIETE DOS VECES CONSECUTIVAS
  2. EL PROGRAMA DEBE INDICAR EN QUE TIRADA OCURRIO ESE RESULTADO
  3.  
  4. Este programa es posible gracias a la utilizacion del generador de numeros aleatorios para simular el lanzamiento de dos dados
  5. El programa indica en que tirada se da el evento de los dos dados que caigan 7 consecutivamente.
  6. Para lograr esto se da la condicion ("if") que cada vez que caiga un 7 que vaya a evaluar si la siguiente tirada da otro siete.
  7. Si esto es asi, el programa se sale del ciclo o de lo contrario continua.
  8. Se añade tambien un contador que es el que dice finalmente a las cuantas tiradas se dio el eento de dos sietes consecutivamente*/
  9.  
  10. #include <stdio.h>
  11. #include <time.h>
  12. #include <windows.h>
  13.  
  14. #define FONDO (0)
  15. #define VERDE (10)
  16. #define AMARILLO (14)
  17.  
  18. void main() {
  19.     HANDLE hStdInput=INVALID_HANDLE_VALUE,
  20.         hStdOutput=INVALID_HANDLE_VALUE;
  21.     hStdInput=GetStdHandle(STD_INPUT_HANDLE);
  22.     hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);
  23.     SetConsoleTextAttribute(hStdOutput,FONDO|AMARILLO);
  24.     float salir;
  25.     int saliryesno;
  26.     salir=0;
  27.  
  28.     while(salir==0) {
  29.         system("cls");
  30.         SetConsoleTextAttribute(hStdOutput, FONDO|VERDE);
  31.         printf("\n\t\t\t     EJERCICIO 41 (DADOS)\n");
  32.         printf("\t\t\t     =====================\n");
  33.  
  34.         int a, lanzamiento, i=0, contador=0;
  35.         printf("\nPROBLEMA: DISEÑE UN PROGRAMA QUE SIMULE UN LANZAMIENTO DE DOS DADOS HASTA QUE\n");
  36.         printf("SALGA UN SIETE DOS VECES CONSECUTIVAS. EL PROGRAMA DEBE INDICAR EN QUE TIRADA\n");
  37.         printf("OCURRIO ESE RESULTADO.\n\n");
  38.         srand(time(NULL));  //Inicializar generador aleatorio
  39.         while(i==0){
  40.             lanzamiento=1+rand()%12;        //Generar numeros aleatorios
  41.                 if (lanzamiento==7){
  42.                     lanzamiento=1+rand()%12;
  43.                     contador=contador+1;
  44.                     if (lanzamiento==7){
  45.                         contador=contador+1;
  46.                         i=1;
  47.                     }
  48.                 }
  49.                 contador=contador+1;
  50.         }
  51.         printf("EL SIETE SALIO DOS VECES CONSECUTIVAS EN LA TIRADA NUMERO %d.\n\n",contador);
  52.         SetConsoleTextAttribute(hStdOutput, FONDO|AMARILLO);
  53.         printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: ");
  54.         scanf("%d", &saliryesno);
  55.         if (saliryesno==1){
  56.             printf("\n\a");
  57.             salir=1;
  58.         }
  59.     }   //Fin del while
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement