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
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!
- );