• Domingo 15 de Diciembre de 2024, 23:58

Autor Tema:  Errores En Ayudarme Con Esto  (Leído 850 veces)

ORNI

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Errores En Ayudarme Con Esto
« en: Sábado 17 de Abril de 2004, 20:49 »
0
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);
}
}

darko

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Errores En Ayudarme Con Esto
« Respuesta #1 en: Martes 20 de Abril de 2004, 17:37 »
0
A ve... fijate que cuando estas leyendo de fichero, hay un for (el que usas con parametro j) que solo tiene alcance para la siguiente instruccion ya que no has puesto corchetes. Mira si eso te soluciona algo.