int main(void) { /* * Inicializamos los componentes y periféricos necesarios */ inicializacion(); /* * Superloop. */ while(1) { a=array[m]; select_task(); } }
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; }
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; }
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); }