Hola amigos, este programa nos pide realizar una carrera en la que cada vez gane un coche diferente ... avanzando paralelamente ... pero tengo una serie de errores que no consigo ver y no me funciona ... espero que me ayuden, gracias!
/* Simula una carrera con N competidores
Este programa no es transportable por el uso
de las funciones
void clrscr(), void gotoxy(int y, int x)
*/
#include <stdio.h>
#include <stdlib.h>
#include <system.h>
#include <time.h>
int main()
{
int n; //comp(etidores)
int i,j,k; //auxiliares (controles)
float d; //d(istancia)
//j= av[k] <-> el comp k av(anza) j
int av[12];
char esp[40]; //esp(acios) para formato
//leo n y d dentro del rango permitido
do
{ clrscr();
printf("Competidores 2<= n <=10.");
printf(" Distancia 10<= d <=41: ");
scanf("%d %f",&n, &d);
} while(n<2 || n>10 || d<10 || d>41);
//preparo la salida
for (i= 0; i< d; i++) esp[i]= ' ';
esp[i]= '\0';
gotoxy(0,1);
for(k= 1; k<= n; k++)
{
printf("\n%d%s|\n", k,esp);
printf(" %s|",esp);
av[k]= 1;
}
gotoxy(0,20);
printf("Pulse TECLA...");
k= getch();
printf("...ALLA VAN...");
//la carrera
srand(time(NULL));
do
{ int j; //variable interna al bloque !!
k= 1 + (rand() % n); //competidor aleatorio
i= 1 + (rand() % 3); //avance aleatorio
for (j= 0; j< i; j++)
{
gotoxy(av[k]++, 2*k);
printf(" $"); //avanza uno por uno
}
sleep(1);
} while(av[k] < d);
//indico el ganador
gotoxy(0,20);
printf("EL GANADOR ES EL NUMERO...%d \n",k);
printf("Proxima carrera en 20 min.\n");
return 0;
}