Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2007, 04:15
lukas182
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 9 meses
Puntos: 0
Generador de numeros aleatorios

Hola!,que tal? . Tengo el siguente problema , ( Linux )

Necesito crear un generador de numeros aleatorios(ya lo tengo hecho) , lo que ocurre que ese generador debe de ejecutarse continuamente, como un bucle infinito, dando numeros aleatorios cada cierto tiempo, para que otro programa capture ese numero y realice otras operaciones.

Este generador de numeros , debe de ejecutarse con un programa en C , llamado "lanzador" , pero no se como hacerlo(una especie de make o algo asi?).

El programa de numeros aleatorios seria este:

Código:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>


int main(int argc, char *argv[]){
	
	int i=0;
	int rango=0;
	int litros=0;
	int generar=1;
	int tiempo=0;
	int generado=0;
	int espera=0;

	srand (time(NULL));

       //Entrada seria Ej : ./a.out -r 20 
 
	if(argc==1){
	    printf("Error \n");
	    exit(0);
	}
	if(argc==2){
	    printf("Error \n");
	    exit(0);
	}
	if(argc==3){
	    if(argv[1][0]=='-' && argv[1][1]=='r'){
		printf("correzto\n");
		rango=atoi(argv[2]);	
		printf("-> %d \n",rango);
	    }
	    else{
		printf("Error \n");
		exit(0);
	   }
	}
	if(argc>3){
	    printf("Error \n");
	    exit(0);
	}
	while(generar==1){
	    if(generado==0){	 
	   	espera= rand() % (120-30+1) + 30;   // Este está entre M=30 y N=120;				
                esperar(espera);
     	    	generado=1;	
	    }
	    litros=rand() % (rango-0+1) + 0; // Enter 0 y rango
	    printf("%d\n",litros);
	    generado=0;
	   
	}
}
La funcion esperar()(ya esta hecha); , haria que el programa esperara el tiempo generado en la variable "espera". Supongo que para el paso de esa variable a otro programa tendre que usar un pipe, pero, al realizar el return en la funcion main, automaticamente acaba la ejecución y yo quiero que continue :( .

El esquema del programa seria:

Código:
             / -> Generador de numeros
Lanzador - - -> Creacion de una serie de procesos que emplearian esos numeros
             \ -> Planificador.
Alguien puede explicarme como crear ese lanzador de otros programas en codigo C?

Gracias.