Foros del Web » Programación para mayores de 30 ;) » C/C++ »

carrera de caballos en C

Estas en el tema de carrera de caballos en C en el foro de C/C++ en Foros del Web. Hola, espero que me podáis ayudar. tengo que hacer una carrera de 4 caballos, cada caballo tiene que pasar por 10 controles. por ejemplo: con ...
  #1 (permalink)  
Antiguo 23/11/2010, 19:23
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta carrera de caballos en C

Hola, espero que me podáis ayudar.
tengo que hacer una carrera de 4 caballos, cada caballo tiene que pasar por 10 controles.
por ejemplo:

con números aleatorios de 0 a 4
si el numero aleatorio es un 3, sera el caballo3 quien salga primero
Control1 Control2 control3 control4 control5 control6 control7 ...... control10
caballo1
caballo2
caballo3 *
caballo4

pero si ahora el numero aleatorio es un 4 es el caballo4 quien pasa por el control 1
Control1 Control2 control3 control4 control5 control6 control7 ...... control10
caballo1
caballo2
caballo3 *
caballo4 *



y si ahora el numero aleatorio es 3,otra vez, el caballo tres pasara por el control 2

Control1 Control2 control3 control4 control5 control6 control7 ...... control10
caballo1
caballo2
caballo3 * *
caballo4 *


si el numero aleatorio, ahora es 4, el caballo cuatro pasa por el control 2
Control1 Control2 control3 control4 control5 control6 control7 ...... control10
caballo1
caballo2
caballo3 * *
caballo4 * *

si el numero aleatorio, ahora es , el caballo uno pasa por el control 1
Control1 Control2 control3 control4 control5 control6 control7 ...... control10
caballo1 *
caballo2
caballo3 * *
caballo4 * *

esto ya lo tengo, el código es el siguiente:

#include <stdio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>

int main()
{

int control, num_aleatorio, a, b, c, d, fin;
char resposta;


srand((unsigned) time(NULL));
do
{
control=1;
a=1;
b=1;
c=1;
d=1;
fin=11;

while (a<fin && b<fin && c<fin && d<fin)
{


num_aleatorio=(rand()%4)+1;
printf("\n");

if (num_aleatorio==1)
{

printf("ca1 %i ", a);
a=a+1;
getchar();
}



if (num_aleatorio==2)
{
printf("ca2 %i", b);
b=b+1;
getchar();
}


if (num_aleatorio==3)
{
printf("ca3 %i ", c);
c=c+1;
getchar();
}



if (num_aleatorio==4)
{
printf("ca4 %i", d);
d=d+1;
getchar();
}



else
{
num_aleatorio=0;
}

control=control+1;

}


do
{

printf(" hacer otra carrera? (S/N)");
scanf("%c", &resposta);

} while(resposta != 'S' && resposta != 'N' && resposta != 's' && resposta != 'n');

} while (resposta=='S' || resposta =='s');
return (0);
}


pero con mi codigo no me sale de la forma dibujada arriba, sino
si numero aleatorio es 1, por pantalla muestra
ca1 1
si numero aleatorio es 2, por pantalla muestra
ca2 1
si numero aleatorio es 4, por pantalla muestra
cab4 1
lo que quiero decir es que me lo muestra con saltos de lineas, pero lo que yo quiero es que me lo muestre como el dibujo de arriba, Cada vez que un caballo tenga que pasar un control se dibuje * o un - , como en el dibujo de arriba.
Muchas gracias por leer todo esto.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:04.