Version:0.9 StartHTML:0000000105 EndHTML:0000010843 StartFragment:0000000152 EndFragment:0000010809
/******************************************************/
/*************** Isidro Pastor Jorda ******************/
/******************************************************/
/****************** Telematica ************************/
/******************************************************/

#include <iostream.h>
#include <stdlib.h>
#include <time.h>

float Aleatorio( float downlim, float uplim );

int main()
{


   float A, B, C, D, E, F, al, quiniela;
   bool salir = false;
   int opcion ;

   srand (time(NULL)); // inicializamos la funcion srand para numeros aleatorios

   cout << " Programa de generacion de numeros de Primitiva y Quiniela deportiva V 0.1 "<< endl;
   cout << " **************************************************************************" << endl ;

   do
   {
    cout << endl << " ****** M E N U ***********" ;
    cout << endl << " * 1.- Loteria Primitiva  *" ;
    cout << endl << " * 2.- Quiniela Deportiva *" ;
    cout << endl << " * 3.- Salir              *" ;
    cout << endl << " **************************" ;

    do
    {
         cout << endl << " Selecciona una opcion -> " ;
         cin >> opcion ;
    }
    while (opcion < 1 || opcion > 3 );

    switch (opcion)
    {
        case 1:
          A = 0;    // iniciamos las variables
          B = 0;
          C = 0;
          D = 0;
          E = 0;
          F = 0;


          for (int i=1; i<=6; i++)    // repetimos los aleatorios hasta que tengamos 6
          {
            do
                  al = Aleatorio (1, 50);  // llamamos a la funcion Aleatorio hecha en el ejercicio 2
            while  ( al == A || al == B || al == C || al == D || al == E || al == F); // repetimos hasta que sean diferentes todas

            switch (i) // en este swich iremos asignando valores a las variables en cada paso hasta 6 variables
            {
               case 1:
                   A = al;
                   break;

               case 2:
                   B = al;
                   break;

               case 3:
                   C = al;
                   break;

               case 4:
                   D = al;
                   break;

               case 5:
                   E = al;
                   break;

               case 6:
                   F = al;
                   break;

            }
          }

          cout << endl << " Los numeros generados son " << A << " " << B << " " << C << " " << D << " " << E << " " << F << endl;

          cin.ignore();
          cout << endl << " Pulsa INTRO para continuar ...." << endl;
          cin.get();
          system ("cls");
          break;

        case 2:

          cout << endl <<  " Resultados aleatorios para la Quiniela Deportiva" << endl << endl ;

          for (int i=1; i<15; i++)  // repčtiremos hasta que hayamos imprimido por pantalla 14 valores
          {
              quiniela = Aleatorio (1, 4); // llama a la funcion aleatorio con limites 1 incluido y 4 excluido

              if (i<10)      // ajuste del primer caracter para alinear los resultados
                  cout << " ";
              if (quiniela == 1 )
                  cout << i << ".- 1" << endl;  // si el aleatorio generao es 1 pasamos 1 a la pantalla
              if (quiniela == 2)
                  cout << i << ".-     2" << endl; //  si es un 2 pasamos un 2 a la pantalla
              if (quiniela == 3)
                  cout << i << ".-   X  " << endl; // si es un 3 pasaremos una X a la pantalla

          }

          cin.ignore();
          cout << endl << " Pulsa INTRO para continuar ...." << endl;
          cin.get();
          system ("cls");
          break;

        case 3:
          salir = true;
          break;
    }
   }
   while (!salir);

   system ("cls");
   cout << " ************************" << endl;
   cout << " * Fin de la Aplicacion *" << endl;
   cout << " ************************" << endl << endl ;
   system("PAUSE");
   return 0;
}


/************************************************************************************
* Funcion: Aleatorio
* Descripcion: Funcion que nos da un numero aleatorio comprendido
*              entre un limite inferior, downlim (incluido) y un limite
*              superior (excluido) uplim
*
* Parametros
* Nombre       E/S       Descripcion
* -------     -----      -----------
* dowlim      float      Limite inferior (Incluido)
* uplim       float      Limite Superior (Excluido)
*
* Valor Devuelto:
*      La funcion devuelve un valor float correspondiente al numero aleatorio
*      que ha generado la funcion entre un limite inferior (incluido) y uno superior
*
************************************************************************************/

float Aleatorio( float downlim, float uplim )  // Función que genera numeros aleatorios
{
    float aleat;

    if ( downlim < uplim)
    {
        do
        {
            aleat = rand();

        }
        while ( aleat < downlim || aleat >= uplim );
    }
    else
        aleat = 0;

    return aleat;
}