Herramientas de usuario

Herramientas del sitio


ejercicios_archivos_binarios_7_septiembre_2019

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

ejercicios_archivos_binarios_7_septiembre_2019 [2019/09/04 14:45] (actual)
froux creado
Línea 1: Línea 1:
 +**Torneo de fútbol**
 +
 +Un torneo de fútbol amateur guarda los resultados de los partidos de cada equipo en un archivo de texto individual para cada uno. El primer número de cada linea es la cantidad de goles del equipo, y el segundo número es la cantidad de goles del rival. Por ejemplo, el equipo “sacachispas” tiene un archivo asociado “sacachispas.txt” con el siguiente contenido:
 +
 +    3,1
 +    1,2
 +    0,0
 +    0,2
 +    1,0
 +
 +La primer línea muestra que este equipo ganó el primer partido 3 a 1, la segunda muestra que perdió 2 a 1, la tercera que empató cero a cero, y así sucesivamente.
 +
 +Se pide utilizar una estructura de datos como la siguiente para crear una lista de equipos:
 +
 +typedef struct{
 +  char nombre [50];
 +  int partidos_ganados;​
 +  int partidos_empatados;​
 +  int partidos_perdidos;​
 +  int goles_a_favor;​
 +  int goles_en_contra;​
 +  int puntos;
 +} equipo_t;
 +
 +Se pide realizar un programa que reciba por línea de comando el nombre de todos los archivos de equipos y que resuelva lo siguiente:
 +
 +1.- Levante en un array la información de los equipos. Para ello realizar una función que reciba el nombre de archivo y asigne todo a una estructura pasada por ref.
 +
 +int CargarEquipo(equipo_t *pe, char*archivo);​
 +
 +El nombre del equipo se extrae del nombre del archivo sin la extensión (si la tuviera). Devuelve 0 en caso de éxito, u otro valor en caso de error.
 +
 +Se deben sumar todos los goles hechos por el equipo en el campo “goles_a_favor”,​ los goles recibidos en “goles_en_contra”,​ y además cargar los valores para la cantidad de partidos ganados, empatados y perdidos
 +
 +2.- Realice una función que recorra la lista y calcule para cada equipo el puntaje total. ​ (3, 1 y 0 respectivamente).
 +
 +3.- Realice una función que muestre en pantalla la tabla de posiciones ordenada por puntos, donde pueda verse la cantidad de partidos jugados, partidos ganados, empatados y perdidos, y los goles a favor y en contra.
 +
 +4.- Crear una función que vuelque el contenido de la tabla anterior en un archivo binario “tabla_posiciones_nnn.bin",​ donde "​nnn"​ corresponde a una cifra autonumerada. Si no existe un archivo de tabla de posiciones anterior, debe empezar por el 000. Luego contar incrementando de a 1.
 +
 +5.- Crear un programa aparte que permita ver en pantalla el contenido de tablas de posiciones guardadas en el directorio de trabajo. El programa debe imprimir en pantalla todos los archivos de tablas de posiciones existentes, y permitir ingresar un número para luego abrir el archivo de tabla de posiciones asociado. Una vez elegida la tabla de posiciones, imprimir su contenido en pantalla.
 +
 +6.- Modificar el punto 4 para poder guardar en el archivo de tabla de posiciones un encabezado con una etiqueta con el nombre del torneo, antes de los datos de los equipos. Luego modificar el programa del punto 5 para poder leer el archivo de tabla de posiciones con el nuevo formato.
 +
 +7.- Al finalizar el programa, liberar el contenido de la memoria
  
ejercicios_archivos_binarios_7_septiembre_2019.txt · Última modificación: 2019/09/04 14:45 por froux