LAB. DE PROGRAMACIÓN Lunes 24 de junio de 2002 DPTO. LENGUAJES Y CIENCIAS DE LA COMPUTACIÓN ESCCUELA TÉCNICA SUPERIOR DE INGENIEROS EN TELECOMUNICACIONES UNIVERSIDAD DE MÁLAGA Nombre: Curso: Cod. Ordenador: Profesor: El Mundial-2002.- Desarrolle una aplicación para gestionar la alineación de la selección española durante un partido del campeonato del mundo Corea-Japón 2002. El programa leerá desde fichero (“alineación.txt”) los datos correspondientes a la alineación de la selección al comienzo del partido. La alineación del equipo se implementará con una estructura de datos tipo lista enlazada, ordenada ascendentemente por demarcación de los jugadores. El campo demarcación, correspondiente a la información relativa al jugador, podrá tener los siguientes valores: 1 – portero; 2 – defensas; 3 – centrocampistas; 4 – delanteros. El alumno deberá implementar los siguiente subalgoritmos que forman parte del interfaz de la estructura lista: typedef char TCadena[30]; // Tipo cadena de caracteres struct TJugador{ int dorsal; // Dorsal del jugador int dem; // Demarcación: 1-Portero; 2-Defensa; 3-Centrocampista; 4Delantero TCadena nombre; // Nombre del jugador }; typedef struct TNodo *TListaJ; // Tipo Lista de Jugadores struct TNodo{ TJugador jug; TListaJ sig; }; // Procedimiento para crear e inicializar la lista "l" void CrearLista(TListaJ &l) // Insertar el elemento "jug" en la posición "pos" de la lista "l" void InsertarEnLista(TListaJ &l, const unsigned int pos, const TJugador jug) // Elimina de la lista "l" el elemento que se encuentra en la posición "pos" void EliminarDeLista(TListaJ &l, const unsigned int pos) // Recupera de la lista "l" el elemento que se encuentra en la posición "pos" TJugador VerDeLista(const TListaJ l, const unsigned int pos) // Calcula la longitud de la lista "l" unsigned int LongitudLista(const TListaJ l) // Comprueba si la lista "l" está vacía bool ListaVacia(const TListaJ l) // Destruye la lista "l" void DestruirLista(TListaJ &l) El alumno deberá asimismo desarrollar los subalgoritmos correspondientes a cada una de las opciones del menú principal que aparece a continuación: Menú Principal 1. 2. 3. 4. 5. Ver alineación Sustitución de un jugador Cambio de sistema de juego Salvar alineación Salir Instrucciones para la realización del examen: 1. Ejecutar el programa Z:\jun02\instalar que creará una carpeta de trabajo con los ficheros teleco.hpp, teleco.cpp y alineacion.txt 2. Crear un proyecto, cuyo nombre será OBLIGATORIAMENTE examen.dev en la carpeta de trabajo utilizando la plantilla Telecoà à Examen del menú de creación de proyectos. 3. Salvar el fichero fuente OBLIGATORIAMENTE con el nombre de mundial.cpp. Este fichero fuente que se crea a partir de la plantilla contendrá el código correspondiente a la implementación del menú para desarrollar la aplicación y a la lectura de un fichero de entrada que proporcionará los datos correspondientes a la alineación del equipo para el comienzo del partido (alineacion.txt). Inicialmente los datos están almacenados en fichero ordenados por demarcación de jugador 4. A partir de la plantilla, el alumno deberá desarrollar los subalgoritmos expuestos anteriormente. La descripción de cada uno de los subalgoritmos se proporciona en la plantilla del examen. 1/1 NOTAS: 1. No se pueden implementar otras operaciones para manipular directamente la estructura de datos salvo las descritas anteriormente. 2. Para aprobar será necesario, aunque no suficiente, que funcionen correctamente los apartados 1,2 y 3 del menú principal. 3. A la finalización del examen se deberán almacenar en el disco los ficheros: mundial.cpp y examen.exe. 2/2