elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda programa en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda programa en C  (Leído 4,113 veces)
martinianot

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda programa en C
« en: 10 Julio 2011, 23:28 pm »

Hola amigos,

Necesito realizar el siguiente programa en C:


Torneo de Fútbol:
Se posee en disco el archivo “Part96.dat” que contiene 15 registros con la siguiente estructura:
   20 chars       con el nombre del equipo.
   14 unsigned short int con los goles a favor de cada uno de los 14 partidos
   14 unsigned short int con los goles en contra de cada uno de los 14 partidos

Se debe hacer la lista del torneo, mostrando por pantalla en forma de tabla:
   Nombre del equipo
   Puntos (cada partido ganado son 3 puntos, cada empatado 1 punto)
   Total de Goles a favor y en contra
   Cantidad de partidos ganados, empatados y perdidos.

Al final indicar quién fue el ganador del torneo, considerando que a igualdad de puntos, el ganador se obtiene por diferencia de goles a favor.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
El codigo que genera el archivo part96.dat es el siguiente:

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"

struct EQUIPO {
   char n[20];    //nombre
   char gf[14], gc[14]; //goles a favor,contra
} equipo;

void muestraMatriz(char equipos[15][20], char goles[15][15]){
   int i, j;


   printf("    Equipos      :  ");
   for( i=0; i<15; i++){
      printf("%c%c%c ", equipos
  • , equipos[1], equipos[2]);
   }

   for( i=0; i<15; i++){
      printf("\n%18s ", &equipos
  • );
      for( j=0; j<15; j++){
         if(i==j)
            printf( " ---");
         else
            printf( " %3hi",  goles[j]);
      }
   }
}

void main(void)
{
   int i, j;
   char equipos[15][20]= { "Brisas", "Sacachispas", "Quemu Quemu", "Gral. Paz", "Don Orione",
                     "Bernal", "San Ignacio", "Juan XXIII", "Manto Negro", "Curuzu Cuatia",
                     "Monte Chingolo 'R'", "Pasco", "Carasucias", "Villa Urquiza", "Wilcoop" };
   char goles[15][15]={0};
   FILE *DAT, *TXT;

   if( (DAT=fopen("part96.dat", "wb"))== NULL)
   {
      printf("Error al tratar de generar equipos.dat\n");
      return;
   }
   if( (TXT=fopen("part96.txt", "w"))== NULL)
   {
      printf("Error al tratar de generar equipos.txt\n");
      return;
   }

   for( i=0; i<14; i++)
   {
      int j=0;
      for( j=i+1; j<15;j++)
      {
         goles[j]=rand()% 11;
         goles[j]=rand()% 11;
      }
   }
   muestraMatriz(equipos, goles);
   getch();

   for( i=0; i<15; i++)
   {
      char j=0;
      strcpy(equipo.n, equipos);
      fprintf(TXT, "\n%18s:\n", equipo.n);
      printf("\n%18s:\n", equipo.n);
      for( j=0; j<15; j++)
      {
         if(i!=j)
         {
            equipo.gf[j]= goles[j];
            equipo.gc[j]= goles[j];
            fprintf(TXT, "\t%hi a %hi, ", equipo.gf[j], equipo.gc[j]);
            printf("\t%hi a %hi, ", equipo.gf[j], equipo.gc[j]);
         }
      }
      fwrite(&equipo, sizeof(equipo), 1, DAT);
   }
   fclose(DAT);
   fclose(TXT);
   printf("\nProceso Terminado\n");
   
}

------------------------------------------------------------------------------------------------------------------------------------------

Ahora estoy haciendo el programa para levantar los datos de ese archivo, pero estoy muy trabado.

Lo que tengo hasta ahora es esto:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

struct EQUIPO {
   char n[20];             //nombre equipo
   char gf[14], gc[14];    //goles a favor,contra
} equipo;

struct TABLA{
   char n[20];
   char gfa[14],gco[14];
   
}pos;

void main (void)
{
   FILE *result;
   
   int puntos,pgan,pper,pemp;
   pemp=0;
   pgan=0;
   pper=0;
   puntos=0;
   int cont=0;
   int i;
   result=fopen("part96.dat","rb");
   if(result==NULL)
   {

      printf("Error abrir archivo");
      return;
   }
   
   fread(&equipo,sizeof(equipo),1,result);
   
   while(!feof(part96))
   {
      strcpy(pos.n,equipo.n);
      printf("%s",pos.n);

      fread(&equipo,sizeof(equipo),1,part96);
   }

   fclose(result);   
}

----------------------------------------------------------------------------------------------------------------------------------------------------

Cualquier ayuda sera bienvenida :) !

Gracias! Saludos!


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ayuda programa en C
« Respuesta #1 en: 11 Julio 2011, 00:34 am »

Por favor primero coloca el código con su respectiva etiqueta, utiliza el GeSHi, para algo está.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 2,490 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 2,398 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
Ayuda con programa en vb
Programación Visual Basic
BriaNUR 1 1,386 Último mensaje 12 Febrero 2006, 16:55 pm
por Kizar
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines