All pastes #2092194 Raw Edit

Miscellany

public text v1 · immutable
#2092194 ·published 2011-10-21 11:11 UTC
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;
}