I have three warnings on my program.
First:
passing argument 1 of " " from incompatible pointer type at line 18 and assigment makes integer from pointer without a cast at line 37
Here is my program:
#include <stdio.h>
struct Equipo {
char nombre [20];
int goles[7];
};
struct Equipo resultados [6];
void LeerFich(struct Equipo *resultados);
void main()
{
struct Equipo *equipos;
LeerFich(&equipos); //warning here
Buscar(equipos);
MarcaCero(equipos);
}
//Funciones
void LeerFich(struct Equipo *resultados)
{
FILE *F;
F= fopen("C:\\Users\\Paco\\Downloads\\datosLiga.txt", "r");
fgets(resultados->nombre, 20, F);
fscanf(F, "%d", &resultados->goles);
fclose(F);
}
int Buscar(struct Equipo resultados[6], int v[6])
{
int i, *maximo, sum, *equipo, t=6;
for(i=0; i<6; i++){
sum += resultados[i].goles; //warning here
if(resultados[i].goles>maximo)
maximo=resultados[i].goles;
*equipo=i;
}
while(i<t && v[i]!=*equipo)
i++;
if(i==t)
printf("el equipo es: %s\n", resultados[*equipo].nombre);
printf("ha marcado %d goles\n", *maximo);
}
int MarcaCero(struct Equipo resultados[6])
{
int i, v[6];
for(i=0; i<6; i++){
if(resultados[i].goles[0]==0 && resultados[i].goles[7]==0)
i=v[i];
}
for(i=0; i<6; i++)
printf("\nel equipo %s no marco", resultados[v[i]].nombre);
}
Replace
LeerFich(&equipos); //warning here
by
LeerFich(equipos);
equipos
is already of type struct Equipo *
, there is no need to take its address.
LeerFich(&equipos);
here you are sending the address of the pointer variable which can not be received by the declaration
Use : LeerFich(equipos);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With