INFORMATICA 1

Trabajo Práctico de Laboratorio

Fecha: 07-10-2017

Entrega hasta lunes 9-10 a las 23:59

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 “bosnia” tiene un archivo asociado “bosnia.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:

struct equipo {
  char nombre [50];
  int partidos_ganados;
  int partidos_empatados;
  int partidos_perdidos;
  int goles_a_favor;
  int goles_en_contra;
  int puntos;
}

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 una lista la información de los equipos. Para ello realizar una función que reciba el nombre de archivo y cree un nodo nuevo:

int CargarEquipo(struct equipo **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 (3, 1 y 0 respectivamente).

2.- Realice una función que recorra la lista y calcule para cada equipo el puntaje total.

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 de texto “tabla_posiciones.txt”

5.- Al finalizar el programa, libere el contenido de la memoria.