예제 #1
0
파일: main.c 프로젝트: GLL88/CAN
int main(void)
{
	/*
	 * Inicializamos los componentes y periféricos necesarios
	 */
	inicializacion();
	/*
	 * Superloop.
	 */
    while(1)
    {
    	a=array[m];
    	select_task();
    }
}
예제 #2
0
Pila* loadHeaders(){
	FILE *file;
	int i = 0;
	char line[400];
	Header *h ;
	int cont=0;
	char career[50], subject[50], professor[50],n[50];
	int course=0, semester=0;
	char *p;
	Pila *pila= inicializacion();
	file = fopen("headers_info.txt","r");
	if (file == NULL){
		printf("\nError de apertura del archivo. \n\n");
	}else{
		while (feof(file) == 0){
			h = createHeader();
			fgets(line,400,file);
			p = strtok(line,",");
			while(p!=NULL){
				strcpy(n,p);
				p = strtok(NULL,",");
				if(cont==0)
					strcpy(h->career,n);
				else if(cont==1)
					h->semester=atoi(n);
				else if(cont ==2)
					h->course= atoi(n);
				else if(cont ==3)
					strcpy(h->professor,n);
				else if(cont ==4)
					strcpy(h->subject, n);
				cont++;
			}
			quitEnter(h->subject);
			cont =0;
			insertar_pila(pila,h);
	    }
	}
	fclose(file);
	return pila;
}
예제 #3
0
파일: practica3a.c 프로젝트: fpozzas/fic
int main( int argc, char *argv[] ) {
	
	double **valores, *norma;
	int *dimfilas;
	double normafila, maxfila;
	int nfilas, ncols, nelementos;
	int i, j;
	struct timeval t0, t1, t;
	
	if (argc != 3) {
		printf ("Uso: norma nfilas ncols \n");
		exit(0);
	}
	nfilas = atoi(argv[1]);
	ncols = atoi(argv[2]);

	inicializacion(&valores, &dimfilas, &norma, nfilas, ncols, &nelementos);

	assert (gettimeofday (&t0, NULL) == 0);
	
	for (i=0; i<nfilas; i++) {
		normafila = 0;
		for (j=0; j<dimfilas[i]; j++) {
				normafila += valores[i][j] * valores[i][j];
		}
		norma[i] = sqrt(normafila);
	printf("%f\n",norma[i]);
	}
	
	assert (gettimeofday (&t1, NULL) == 0);
	timersub(&t1, &t0, &t);
	printf ("nfilas      = %ld\n", nfilas);
	printf ("ncols       = %ld\n", ncols);
	printf ("Tiempo      = %ld:%ld(seg:mseg)\n", t.tv_sec, t.tv_usec/1000);
	
	return 0;
}
예제 #4
0
int main()
{
	short numevento = 0, mapactual, numlink, numitems = 0, mov, bat;
	char **map;
	bool updatemap = true; // Usado para determinar cuándo hay que refrescar la pantalla.
	bool update = false; // Usado para determinar cuándo hay que buscar una batalla.
	STRUCTpos VISION, tamMapa = { 0 };
	STRUCTgraph graph;
	STRUCTcontroles controles;
	STRUCTpersonaje personaje;
	STRUCTeventos *evento;
	STRUCTitem *items;
	STRUCTlink *puertas;

	srand(time(0));
	setlocale(LC_CTYPE, "Spanish");
	mapactual = 0; // Mapa a cargar por defecto.
	inicializacion(&numitems, &VISION, &graph, &controles, &personaje, &items, &mapactual); //Inicialización de variables.
	intromenu(&items, controles, &personaje, &mapactual); // Menú de introducción (Nuevo juego, Cargar partida...).
	lectura(&numevento, &mapactual, &numlink, &tamMapa, &map, &evento, &puertas); // Primera lectura del mapa.

	do // Bucle principal.
	{
		bat = rand() % 25;
		if (bat == 0 && update == true)
		{
			batalla(numitems, controles, &personaje, items);
			updatemap = true;
		}
		if (updatemap == true)
			display(evento, VISION, tamMapa, graph, &personaje, map, numevento, mapactual);
		mov = movimiento(numevento, map, &controles, &personaje, evento);
		switch (mov) // El valor devuelto por la función movimiento determina si el personaje se ha movido a un terreno normal, a una puerta o se ha pulsado el menú.
		{
		case 1: // El personaje se ha movido a una puerta.
			if ((busquedaPuerta(&mapactual, &numlink, &personaje, puertas)) == 1) // Se busca la puerta de enlace y se asigna como actual el mapa de destino.
			{
				free(evento);
				updatemap = true;
				lectura(&numevento, &mapactual, &numlink, &tamMapa, &map, &evento, &puertas); // Se lee el mapa al que lleva la puerta.
			}
			else
				error(2, mapactual);
			break;
		case 2: // El personaje ha abierto el menú
			update = false;
			updatemap = true;
			pjmenu(controles, &personaje, items, mapactual, graph, VISION);
			break;
		case 3: // El personaje ha abierto el menú de administrador.
			update = false;
			updatemap = true;
			adminmenu(&VISION, &graph, &controles, &personaje);
			break;
		case 4:
			update = false;
			updatemap = false;
			break;
		case 5:
			update = false;
			updatemap = true;
			break;
		case 6:
			update = true;
			updatemap = true;
			break;
		default: // El personaje se ha movido a un terreno normal.
			break;
		}
	} while (1);
}