El enunciado es el siguiente:
Se pretende realizar un programa en C para los clubes de fútbol, que permita realizar la gestión de fichajes para la próxima temporada.
El programa dispondrá de una lista de jugadores disponibles que podrán ser fichados por el equipo, siempre que la suma de los sueldos
no supere el presupuesto del club.
FUNCIONAMIENTO:
Se parte de los listas, una para los jugadores disponibles y otra para los jugadores elegidos. Ambas estarán vacías al principio. El programa deberá leer los datos de los jugadores disponibles, cuyo número es inderterminado. Se leerán por teclado hasta que tecleemos un nombre en blanco.
Los datos que nos interesan de cada jugador son:
-Nombre(50 caracteres max.)
-Sueldo(en EUROS)
A continuación se leerá el presupuesto del club, también en EUROS.
Una vez leída toda la información quedará almacenada en memoria y se presentará un menú en pantalla que permita:
-(E)legir: si pulsamos 'E' o 'e', leeremos el nombre del jugador elegido. Si lo encuentra en la lista, lo añadirá a la lista
del equipo, siempre y cuando el presupuesto lo permita.
-(Q)uitar jugador: si pulsamos 'Q' o 'q', eliminaremos un jugador elegido anteriormente. Se leerá su nombre y si está en la lista del equipo, se volverá
a añadir a la lista de jugadores disponibles.
-(S)alir: si pulsamos 'S' o 's', saldremos del programa creando un fichero binario secuencial con los datos de los jugadores disponibles y liberando antes
toda la memoria asignada para la lista de jugadores disponibles.
El programa debe mostrar esto (mas o menos):
Presupuesto: 5000 / Queda: 5000
Jugadores Equipo
----------------------------------------------------------
Casillas(990)
Raúl(1500)
Torres(1240)
Villa(1000)
Gasto=0
(E)legir (Q)uitar jugador (S)alir
Si elegieramos a Villa sucedería esto:
Presupuesto: 5000 / Queda: 4000
Jugadores Equipo
----------------------------------------------------------
Casillas(990) Villa(1000)
Raúl(1500)
Torres(1240)
Gasto=1000
(E)legir (Q)uitar jugador (S)alir
Bien, púes esto es lo que llevo de código y que por supuesto no funciona.
Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct futbolistas{
struct futbolistas *sig;
float sueldo;
char nombre[50];
}Datos;
typedef Datos *Lista;
typedef Datos *NODO;
int main(){
int i=0,ok,opciones;
float presupuesto = 5000;
Lista *listafutbolistasdisponibles=NULL;
Lista *listafutbolistaselegidos=NULL;
NODO *nuevo=NULL;
NODO *aux=NULL;
do{
nuevo=(NODO*)malloc(sizeof(NODO));
puts("Introduzca el nombre del futbolista:\n");
fflush(stdin);
fgets(nuevo->nombre,50-1,stdin);
puts("Introduzca el sueldo del futbolista:\n");
fflush(stdin);
scanf("%f",&nuevo->sueldo);
nuevo->sig=listafutbolistasdisponibles;
if(listafutbolistasdisponibles==NULL){
listafutbolistasdisponibles=nuevo;
}else{
nuevo->sig=listafutbolistasdisponibles;
listafutbolistasdisponibles=nuevo;
}
}while(nuevo->nombre=="");
aux=listafutbolistasdisponibles;
while(aux){
i++;
printf("Presupuesto: %f / Queda: %f \n", presupuesto, presupuesto);
printf("Jugadores \t\t Equipo \n");
printf("------------------------------------------------ \n");
printf("%s ( %.2f )\n", aux->nombre,aux->sueldo);
printf("\t\t Gasto\n");
aux=aux->sig;
}
printf("(E)legir \t (Q)uitar jugador\t (S)alir\n");
system("PAUSE");
return 0;
}
No he completado todo lo que dice el enunciado por que quiero hacerlo paso a paso y asegurarme de que lo que hago lo hago bien.
Agradecería una respuesta/ayuda, gracias
Hasta pronto(espero).