• Viernes 15 de Noviembre de 2024, 05:16

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - ORNI

Páginas: [1]
1
C/C++ / Errores En Ayudarme Con Esto
« en: Sábado 17 de Abril de 2004, 20:49 »
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);
}
}

2
C/C++ / Ayudarme Con Esto
« en: Viernes 16 de Abril de 2004, 20:50 »
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.

#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);
   }
}

Páginas: [1]