--- /dev/null
+
+#ifndef _RANDOM_H_
+#define _RANDOM_H_
+
+#include <list>
+#include <string>
+#include <map>
+#include <fstream>
+
+/** Generación de valores aleatoreos. */
+class Random {
+ public:
+ /** Inicializa tablas de números y palabras.
+ *
+ * Debe ser llamado antes de utilizar cualquier
+ * otro método.
+ */
+ static void Init ();
+
+ /** Llena un lista con strings generados aleatoreamente.
+ *
+ * \param lst Lista donde insertar los valores generados.
+ * \param n Cantidad de elementos a insertar.
+ */
+ static void Strings (std::list<std::string> &lst, uint n);
+
+ /** Llena una lista con números enteros generados aleatoreamente.
+ *
+ * El valor de los números irá desde -N a N.
+ * \param lst Lista donde agregar los valores generados.
+ * \param n Cantidad de elementos a agregar.
+ */
+ static void Ints (std::list<int> &lst, uint n);
+
+
+ static double Double (double min, double max);
+
+ private:
+ static void GetFile (const char *f, std::map<int,std::string> &out, int &cant);
+ static std::map<int, std::string> productos;
+ static std::map<int, std::string> marcas;
+ static int productos_cant;
+ static int marcas_cant;
+};
+
+#endif
+