// proceso.cpp - Un programa C++ visto como un proceso
#include <iostream>
#include <ctime>
using namespace std;

int random(int n)
{
  static bool primera_vez = true;
  if (primera_vez)
  {
    srand(time(0));
    primera_vez = false;
  }
  return (rand() % n)+1; // valor entre 1 y n
}

void esperar(int n)
{
  long tmi = clock() + n;
  while (clock() < tmi); // esperar n milisegundos
}

void tomarMuestraTipoA(int *n)
{
  *n = random(10);
  for (int i = 0; i < *n; i++)
  {
    cout << "Tomando muestra de tipo A\n";
    esperar(500);
  }
}

void tomarMuestraTipoB(int *n)
{
  *n = random(20);
  for (int i = 0; i < *n; i++)
  {
    cout << "Tomando muestra de tipo B\n";
    esperar(500);
  }
}

void resultados(int n, int m)
{
  cout << "Muestras de tipo A: " << n << endl;
  cout << "Muestras de tipo B: " << m << endl;
  cout << "Total: " << n + m << endl;
}

int main()
{
  int nMuestrasTipoA = 0;
  int nMuestrasTipoB = 0;
  
  tomarMuestraTipoA(&nMuestrasTipoA);
  tomarMuestraTipoB(&nMuestrasTipoB);
  resultados(nMuestrasTipoA, nMuestrasTipoB);
  
  system("pause");
}

