rendered paste body#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int cerere()
{
int x = 0;
x = rand() % 100 + 1; // genereaza un numar intre 1-100
if (x <= 10)
return 1;
if (x <= 30)
return 2;
if (x <= 70)
return 3;
if (x <= 90)
return 4;
return 5;
}
// returneaza numarul de zile de intarziere
int intarziere()
{
int nr_zile = 0;
nr_zile = rand() % 1000 + 1;
if (nr_zile <= 275)
return 3;
if (nr_zile <= 775)
return 4;
return 5;
}
int main(int argc, char **argv)
{
int stoc_minimal = 10;
int nr_zile_intarziere;
int nivel_stoc = 20;
int unitati = 0;
int zi = 0;
int total_cereri = 0;
srand(time(NULL));
while (1)
{
zi++;
unitati = cerere();
nivel_stoc -= unitati;
total_cereri += unitati;
printf("Ziua: %5d Cererea: %5d Nivel stoc: %5d\n",
zi, unitati, nivel_stoc);
if (nivel_stoc <= stoc_minimal)
{
nr_zile_intarziere = intarziere();
int i = 0;
for (i = 1; i <= nr_zile_intarziere; i++)
{
int unitati2 = cerere();
zi++;
nivel_stoc -= unitati2;
printf("Ziua: %5d Cererea: %5d Nivel stoc: %5d\n",
zi, unitati2, nivel_stoc);
if (nivel_stoc < 0)
{
printf("Ruptura stoc!\n");
exit(0);
}
}
total_cereri += cerere();
nivel_stoc += total_cereri;
printf("Comanda %d unitati\n", total_cereri);
}
}
return 0;
}