Tengo que hacer este programa:
Tengo que realizar un ejercicio en C++. En un ficher tengo que registrr de 10 participantes los siguientes datos:
nombre del animal
raza
puntos por velocidad
puntos por obediencia
puntos por aspecto
Hay que escribir un programa q muestre por pantalla:
el animal ganador del concurso
puntos obtenidos por cada animal en velocidad, obediencia y aspecto
el animal con peor puntuación
Para la primera opción (el perro ganador) me da un error, y es que nosé si he hacho mal las funciones, la estructura o qué. Si alguien me puede ayudar por favor, que me ayude. EL error que me da es en los fscanf y en la suma de abajo, y me dice: cannot convert `concurso`to `int`y invalid direction
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
FILE *fich;
struct concurso{
char nombre[10];
char raza[10];
int ptosve[10];
int ptosob[10];
int ptosas[10];
}perros[10];
void ganador(struct concurso perros[10]);
void ptosenve(struct concurso perros[10]);
void ptosenob(struct concurso perros[10]);
void ptosenas(struct concurso perros[10]);
void perdedor(struct concurso peros[10]);
void main(void){
int opcion;
if((fich=fopen("a:\perros.txt","rt"))==NULL)
{printf("ERROR");
exit(1);}
else
{
clrscr();
int i,j;
for(i=0;i<9;i++)
{
fscanf(fich,"%s",perros
.nombre);
fscanf(fich,"%s",perros.raza);
for (j=0;j<9;j++)
fscanf(fich,"%d",&perros.ptosve[j]);
fscanf(fich,"%d",&perros.ptosob[j]);
fscanf(fich,"%d",&perros.ptosas[j]);
}
fclose(fich);
do{
clrscr();
printf(" 1.- Ganador del concurso\n");
printf(" 2.- Puntos por cada perro en velocidad\n");
printf(" 3.- Puntos por cada perro en obediencia\n");
printf(" 4.- Puntos por cada perro en aspecto\n");
printf(" 6.- Perdedor del concurso\n");
printf(" 7.- Pulse s para salir\n");
scanf("%d",&opcion);
switch (opcion){
case 1:
ganador(perros);
getch();
break;
case 2:
ptosenve(perros);
getch();
break;
case 3:
ptosenob(perros);
getch();
break;
case 4:
ptosenas(perros);
getch();
break;
case 5:
perdedor(perros);
getch();
break;
case 6:
exit(4);
break;}
}while(opcion!=6);
}}
void ganador(struct concurso perros){
int i,j;
float suma;
{
suma=0;
for(i=0;i<9;i++)
for(j=0;j<9;j++)
suma=suma+perros.ptosve[j]+perros.ptosob[j]+perros.ptosas[j]
printf("\n El ganador es perro %s",perros.nombre);
}
}