Ejemplo Algoritmos

download Ejemplo Algoritmos

of 10

description

Diversos ejemplos del manejo de algoritmos con explicación especifica del funcionamiento de los codigos

Transcript of Ejemplo Algoritmos

Flight Recorder

-Anlisis y Diseo de Algoritmos-

Maestra Carolina Rohde Faraudo

Integrantes del Equipo:

-Gijn Monroy Andrea

-Hall Lagunes Jaime

-Hernndez De La Lanza Arturo

Mircoles 25 de noviembre de 2015

Planteamiento del Problema

Un aeropuerto tiene una cantidad determinada de vuelos al da, por lo cual necesita un programa para calcular el total de pasajeros y total de ganancias obtenidas semanalmente.

En un arreglo de estructura se guardarn los datos necesarios para calcular el total de pasajeros y el total de ganancias.

Para ello se requiere la informacin: destino, origen, nmero de pasajeros (validar el destino con los 3 lugares que se mostrarn en el programa y validar el nmero de pasajeros menores a 250 personas), tipo de avin, nmero de vuelo y nmero de vuelos diferentes en la semana.

Se preguntar la frecuencia semanal de cada vuelo y se validar para que no sea mayor a 7; y en el programa se multiplicar la frecuencia por 24,000 litros de gasolina (medida estndar) para saber cuntos litros gast el vuelo.

La ganancia por cada vuelo ser calculado en una funcin que devolver la cantidad de dinero que hubo de ingreso en cada vuelo. El avin tendr una tarifa fija de 2,000 pesos.

Al entrar al men:

1) Mostrar la tabla con los datos obtenidos. Ordenados por el nmero de vuelo (seleccin).2) Hacer una bsqueda conforme al nmero de vuelo que mostrar la informacin de ese en especfico.3) Imprimir el mximo y mnimo de ganancias de cada vuelo.4) Imprimir el total de ganancias de todos los vuelos y total de pasajeros en todos los vuelos semanalmente.

VueloOrigen DestinoFrecuencia# pasajerosTotal de pasajerosTipo avinGanancia totalGasolina lts

Cdigo Fuente

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;

namespace ConsoleApplication23{ class Program { struct aeropuerto { public int vuelo, totalpasavuelo, frec; public double ganancia, gasolina; public int[] numpasa; public string dest, tipo, origen;

} static void Main(string[] args) { int totalpasa = 0, n = 0, cont = 0, cont1 = 0, resp, resp1 = 0, encontro = 0, totaltotpasa = 0; int i, j, k; double totaltotgan = 0; aeropuerto menor;

Console.WriteLine("Bienvenido a Flight Recorder"); Console.Write("Cuntos vuelos diferentes hubo en la semana? ");//Esto es el nmero de vuelos diferentes que hubo en la semana. n = int.Parse(Console.ReadLine()); aeropuerto[] tabla = new aeropuerto[n];

for (cont = 0; cont < n; cont++) { Console.WriteLine(); Console.Write("Cul es el nmero de vuelo del vuelo " + (cont + 1) + "? "); tabla[cont].vuelo = int.Parse(Console.ReadLine()); do { Console.Write("Cul es el origen del vuelo " + tabla[cont].vuelo + "? (CAN - GDL - MTY) "); tabla[cont].origen = Console.ReadLine(); tabla[cont].origen = tabla[cont].origen.ToUpper(); if (tabla[cont].origen != "CAN" && tabla[cont].origen != "GDL" && tabla[cont].origen != "MTY") //Se valida que el origen pertenezca a las opciones dadas. Console.WriteLine("ORIGEN INVLIDO");

} while (tabla[cont].origen != "CAN" && tabla[cont].origen != "GDL" && tabla[cont].origen != "MTY");

do { Console.Write("Cul es el destino del vuelo " + tabla[cont].vuelo + "? (CAN - GDL - MTY) "); tabla[cont].dest = Console.ReadLine(); tabla[cont].dest = tabla[cont].dest.ToUpper(); if (tabla[cont].dest == tabla[cont].origen) //Se valida que el destino no sea el mismo al origen. Console.WriteLine("EL DESTINO NO PUEDE SER IGUAL AL ORIGEN");

if (tabla[cont].dest != "CAN" && tabla[cont].dest != "GDL" && tabla[cont].dest != "MTY") //Se valida que el destino pertenezca a las opciones dadas. Console.WriteLine("DESTINO INVLIDO");

} while (tabla[cont].dest != "CAN" && tabla[cont].dest != "GDL" && tabla[cont].dest != "MTY" || tabla[cont].dest == tabla[cont].origen);

do { Console.Write("Cul fue la frecuencia semanal del vuelo " + tabla[cont].vuelo + "? "); tabla[cont].frec = int.Parse(Console.ReadLine());

if (tabla[cont].frec > 7)//Se valida que la frecuencia no sea mayor a 7, ya que el avin no puede volar ms de una vez al da. { Console.WriteLine("FRECUENCIA INVLIDA - NO MS DE UN VUELO POR DA A LA SEMANA"); }

}

while (tabla[cont].frec > 7);

tabla[cont].numpasa = new int[tabla[cont].frec];

for (cont1 = 0; cont1 < tabla[cont].frec; cont1++) { do { Console.Write("Cul es el nmero de pasajeros de la frecuencia " + (cont1 + 1) + " del vuelo " + tabla[cont].vuelo + "? "); tabla[cont].numpasa[cont1] = int.Parse(Console.ReadLine()); if (tabla[cont].numpasa[cont1] > 250) //Se valida que el nmero de pasajeros no sea mayor a 250. Console.WriteLine("EXCEDE EL NMERO DE PASAJEROS"); if (tabla[cont].numpasa[cont1] 250 || tabla[cont].numpasa[cont1]