hola bochos, espero que la vida los trate bien, me dan una mano con este código?
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:
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++)
{
printf("\ningrese nombre de equipo%d\n",j
+1); printf("ingrese los partidos ganados \n"); scanf("%d",&datos
[j
].
resultados[j
]); printf("ingrese los partidos empatados \n"); scanf("%d",&datos
[j
].
resultados[j
+1]); printf("ingrese los partidos perdidos\n"); scanf("%d",&datos
[j
].
resultados[j
+2]); printf("ingrese goles a favor\n"); scanf("%d",&datos
[j
].
goles[j
]); printf("ingrese goles en contra\n"); scanf("%d",&datos
[j
].
goles[j
+1]); 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];
}
printf("\nel puntaje es %d",puntos
); 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...