]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blob - src/random.h
Abreviado de Claves Variables.
[z.facultad/75.52/treemulator.git] / src / random.h
1
2 #ifndef _RANDOM_H_
3 #define _RANDOM_H_
4
5 #include <list>
6 #include <string>
7 #include <map>
8 #include <fstream>
9
10 /** Generación de valores aleatoreos. */
11 class Random {
12         public:
13                 /** Inicializa tablas de números y palabras.
14                  *
15                  *  Debe ser llamado antes de utilizar cualquier
16                  *  otro método.
17                  */
18                 static void Init ();
19
20                 /** Llena un lista con strings generados aleatoreamente.
21                  *
22                  *  \param lst Lista donde insertar los valores generados.
23                  *  \param n Cantidad de elementos a insertar.
24                  */
25                 static void Strings (std::list<std::string> &lst, uint n);
26
27                 /** Llena una lista con números enteros generados aleatoreamente.
28                  *
29                  * El valor de los números irá desde -N a N.
30                  * \param lst Lista donde agregar los valores generados.
31                  * \param n Cantidad de elementos a agregar.
32                  */
33                 static void Ints (std::list<int> &lst, uint n);
34
35
36                 static double Double (double min, double max);
37         
38         private:
39                 static void GetFile (const char *f, std::map<int,std::string> &out, int &cant);
40                 static std::map<int, std::string> productos;
41                 static std::map<int, std::string> marcas;
42                 static int productos_cant;
43                 static int marcas_cant;
44 };
45
46 #endif
47