Ayer tuve los dos exámenes de programación, el de teoría por la mañana y el de prácticas por la tarde, hasta que vi el examen de teoría, creía que sabía programar. Y la verdad es que no era tan difícil, el problema que tuve es que todos los ejercicios eran muy similares. En uno de los ejercicios teníamos que leer una coordenada de ajedrez, y yo no supe como diferenciar los dígitos, es decir, en teoría, debería de haber declarado una variable como char coordenada[2], y después decirle al ordenador que mivariable = coordenada[0] y misegundavariable = coordenada[1].
Pero eso no lo supe hasta que salí del examen y lo miré.
El examen de prácticas sabía hacerlo, pero no puedes hacer un programa de 200 líneas de código en una hora y media. El enunciado decía lo siguiente:
Implementa en lenguaje C un programa que permita almacenar los datos de los vuelos diarios que realiza una compañía aérea. La información que debe manejar de cada vuelo es : código de vuelo, hora de salida, código de la ciudad de origen, hora de llegada, código de la ciudad de destino y modelo de avión. Además se conoce la siguiente información: los códigos de las ciudades en las que opera la compañía son: M(Madrid), B (Bogotá), X (México DF) y A (Buenos Aires); los códigos para referirse a los modelos de avión son; A (Airbus 360) y B (Boeing 747). Se supone que las horas de llegada/salida de los vuelos son números enteros (ejemplo: 12, 14, etc.) El número máximo de vuelos al día que la compañía pretende realizar es 10.
El programa debe tener además de la función main() los siguientes módulos:
- almacenaVuelo(): pide al usuario los datos de un vuelo. No será necesario validar las horas. Sin embargo, los códigos de ciudades y modelos de avión sí que tendrán que ser validados.
- almacena(): recibe como argumento la estructura donde se guardan todos los vuelos y se encarga de preguntar al usuario cuántos vuelos va a introducir y a continuación se ocupa de llenar todos los datos de tantos vuelos como haya dicho el usuario. Para ello llama al módulo almacenaVuelo() tantas veces como sea necesario. Este módulo debe devolver el número de vuelos introducidos ya que es necesario para el módulo siguiente.
- muestraDatosCiudad(): recibe como argumento la estructura donde se guardan todos los vuelos y el número de elementos que contiene. Debe solicitar al usuario el código de una ciudad y mostrar por pantalla la información (código de vuelo, ciudades origen y destino) de los vuelos que salgan o lleguen a dicha ciudad.
.muestraDatos(): recibe como argumento la estructura donde se guardan todos los vuelos y el número de elementos que contiene. Debe mostrar por pantalla la información (código de vuelo, ciudades origen y destino y modelo de avión) de todos los vuelos.
El main() debe llamar en primer lugar al módulo almacena() y después mostrar un menú con las siguientes opciones:
1. Mostrar datos de todos los vuelos
2. Mostrar información de vuelos relativos a la ciudad….
3. Salir del programa
Introduce opción (1/2/3):
Y ESTO FUE LO QUE ME DIÓ TIEMPO A HACER
//Francisco
#include <iostream>
using namespace std;
void almacenaVuelo();
int almacena(char matriz[][6]);
int almacena(char matriz[][6])
{
int numero_vuelos = 0;
cout << “Cuántos vuelos deseas introducir?” << endl;
cin >> numero_vuelos;
for(int i = 1; i <= numero_vuelos; i++)
{
almacenaVuelo();
}
}
void almacenaVuelo()
{
int codigo_vuelo = 0;
int hora_salida = 0;
char codigo_origen;
int hora_llegada = 0;
char codigo_destino;
char modelo_avion;
cout << “Introduce el código de vuelo” << endl;
cin >> codigo_vuelo;
cout << “Introduce la hora de salida” << endl;
cin >> hora_salida;
do{
cout << “Introduce el código de la ciudad de origen” << endl;
cin >> codigo_origen;
}
while(codigo_origen != ‘M’ && codigo_origen != ‘B’ && codigo_origen != ‘X’ && codigo_origen != ‘A’);
cout << “Introduce la hora de llegada” << endl;
cin >> hora_llegada;
do{
cout << “Introduce el código de la ciudad de destino” << endl,
cin >> codigo_destino;
}
while(codigo_destino != ‘M’ && codigo_destino != ‘B’ && codigo_destino != ‘X’ && codigo_destino != ‘A’);
do{
cout << “Introduce el modelo del avión” << endl;
cin >> modelo_avion;
}
while(modelo_avion != ‘A’ && modelo_avion != ‘B’);
}
int main()
{
int filas = 0;
char matriz[filas][6];
const char O1[] = “1. Mostrar datos de todos los vuelos”;
const char O2[] = “2. Mostrar información de vuelos relativos a la ciudad…”;
const char O3[] = “3. Salir del programa”;
int opcion = 0;
almacena(matriz);
cout << O1 << endl;
cout << O2 << endl;
cout << O3 << endl;
cout << “Introduce opción (1/2/3): “;
cin >> opcion;
if(opcion == 3)
{
cout << “FIN DE PROGRAMA” << endl;
exit(0);
}
}
PERDONAD POR EL SANGRADO, ES QUE WORDPRESS NO RESPETA NADA Y NO TENGO TIEMPO DE ARREGLARLO TODO.