el problema dice así:
a)haciendo uso de estructuras implemente un tipo de dato que permita modelar un equipo de fútbol, del equipo interesa conocer: nombre, cantidad de partidos ganados, empatados, y perdidos, goles a favor y goles en contra y puntaje.
b)
implemente un código en c que de una función que permita calcular el puntaje de un equipo, el mismo se calcula en función de los partidos ganados(3 puntos), perdidos(0) y empatados(1), nota: se pretende que que la función a implementar reciba un equipo por referencia para setear su puntaje y que no devuelva nada.
c)
Escriba las lineas de código que permitan gestionar una liga de 40 equipos usando memoria estática debe generar la lista de 40 equipos e inicializarlos por teclado,toda la información para cada equipo se cargara por teclado, a excepción del puntaje que se calculara usando la función implementada.
mi código es el siguiente:
Código
struct equipo { char nombre[20]; int resultados[3]; int goles[2]; int puntaje; }; void puntaje(struct equipo* ); int main() { int j=0; struct equipo datos[2]; struct equipo *punt; for(j=0;j<2;j++) { punt=&datos[j]; puntaje(punt); } return 0; } void puntaje(struct equipo*p ) { int i=0,puntos=0, num[3]={3,1,0}; for(i=0;i<3;i++) { puntos=puntos+(p->resultados[i])*num[i]; } return; }
mi problema esta en la linea de código del inciso 3 b, la cuestión es que cuando quiero calcular el puntaje para cada equipo y llamo a la función,para luego utilizar la asignación punt=&datos[j], me calcula el puntaje para el primer partido, pero luego calcula cualquier cosa. Se supone que datos es un puntero a una variable de tipo struct equipo, luego guardo esa direccion en un puntero (punt), y luego aumento el indice para que recorra paquete de datos ( es decir los que voy inicializando), pero no se porque no funciona, graciass de antemanooo
para facilitar la carga de datos obviamente que no hice el programa con 40 equipos...





Autor


En línea



