09-06-2015, 21:05
Hola a todos! La verdad es que vengo medio perdido con informatica y me pidieron hacer un programa que simule una clasificacion de una carrera de autos donde tengo 58 autos. Tengo que ingresar el numero del auto, el nombre del piloto, la escuderia y el tiempo que tardo en dar la vuelta. al cabo de la clasificacion, debo ordenar todos los datos de mayor a menor teniendo en cuenta el tiempo que tardo en dar la vuelta, los primeros 30 son clasificados, los otros 20 son suplentes y los ultimos 8 descalificados.
Ademas si pasa dos o mas veces un mismo auto y mejora su tiempo debo actualizar la base de datos de ese auto...
Voy escribiendo algo... lo dejo mas abajo:
#define CORREDORES 58
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
struct clasif
{
char nombre [30];
char escuderia [20];
int numauto;
int posicion;
float tiempo;
};
int main (void)
{
struct clasif a[CORREDORES];
int i=0;
char opcion;
system ("clear");
printf ("Para ingresar los datos de un nuevo auto oprima n o N\n");
scanf ("%c",&opcion);
while ((i<CORREDORES)&&(opcion='n')||(opcion='N'))
{
a[i].posicion=i;
printf ("Ingrese el numero del auto\n");
scanf ("%d",&a[i].numauto);
fgets (a[i].nombre,30,stdin);
printf ("Ingrese el nombre del piloto\n");
fgets (a[i].nombre,30,stdin);
printf ("Ingrese la escuderia del auto\n");
fgets (a[i].escuderia,20,stdin);
printf ("Ingrese el tiempo\n");
scanf ("%d",&a[i].tiempo);
i++;
}
return 0;
}
aca tengo el problema que no me pide ingresar N o n devuelta para ingresar otro auto y direcamente me pide ingresarlo. ademas no se como hacer para que me ordene todo y me actualize la base de autos en caso de que el piloto pase devuelta.
Gracias
Ademas si pasa dos o mas veces un mismo auto y mejora su tiempo debo actualizar la base de datos de ese auto...
Voy escribiendo algo... lo dejo mas abajo:
#define CORREDORES 58
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
struct clasif
{
char nombre [30];
char escuderia [20];
int numauto;
int posicion;
float tiempo;
};
int main (void)
{
struct clasif a[CORREDORES];
int i=0;
char opcion;
system ("clear");
printf ("Para ingresar los datos de un nuevo auto oprima n o N\n");
scanf ("%c",&opcion);
while ((i<CORREDORES)&&(opcion='n')||(opcion='N'))
{
a[i].posicion=i;
printf ("Ingrese el numero del auto\n");
scanf ("%d",&a[i].numauto);
fgets (a[i].nombre,30,stdin);
printf ("Ingrese el nombre del piloto\n");
fgets (a[i].nombre,30,stdin);
printf ("Ingrese la escuderia del auto\n");
fgets (a[i].escuderia,20,stdin);
printf ("Ingrese el tiempo\n");
scanf ("%d",&a[i].tiempo);
i++;
}
return 0;
}
aca tengo el problema que no me pide ingresar N o n devuelta para ingresar otro auto y direcamente me pide ingresarlo. ademas no se como hacer para que me ordene todo y me actualize la base de autos en caso de que el piloto pase devuelta.
Gracias