public void seleccionar_terminal(USUARIO user) { OBJETO_menu.funcion_menu_banner(); Console.WriteLine("Seleccione la terminal de partida\n"); int numero = 1; int x = 0; int z = 1; int condicion = 0; foreach (TERMINAL ter in lista_terminales) { Console.Write(numero + ")"); ter.funcion_imprimir_terminal(); numero++; } int var = int.Parse(Console.ReadLine()); TERMINAL term = (TERMINAL)lista_terminales[var - 1]; string terminalPartida = term.devolver_nombreTerminal(); OBJETO_menu.funcion_menu_banner(); Console.WriteLine("Seleccione la terminal de arribo\n"); numero = 1; foreach (TERMINAL ter in lista_terminales) { Console.Write(numero + ")"); ter.funcion_imprimir_terminal(); numero++; } int var2 = int.Parse(Console.ReadLine()); TERMINAL term2 = (TERMINAL)lista_terminales[var2 - 1]; string terminalArribo = term2.devolver_nombreTerminal(); if (terminalPartida == terminalArribo) { Console.WriteLine("La terminal de partida y arribo es la misma"); Console.WriteLine("Presione una tecla para continuar"); } else { OBJETO_menu.funcion_menu_banner(); Console.WriteLine("Seleccione el itinerario\n"); int numeros = 1; ArrayList Lista_Itinerarios = new ArrayList(); ArrayList Itinerario_Elegido = new ArrayList(); foreach (RECORRIDO r in lista_recorridos) { string tipo = r.DevolverTipoOmnibus(); string dia = r.Devolverdia(); condicion = r.imprimirTerminales(terminalPartida, terminalArribo, dia, tipo, numeros); if (condicion == 1) { numeros++; z = 0; x = 1; } } numeros = 0; if (x == 1) { comprarPasaje(user, terminalPartida, terminalArribo); } if (z == 1) { Console.WriteLine("No existe ningun recorrido con las terminales de partida y arribo solicitadas."); Console.WriteLine("Presione una tecla para continuar."); } } }
public void iniciarSistema() { string var = ""; while (var != "5") //PARA QUE SE REPITA ESTE MENU O SE TERMINE EL PROCESO { try{ OBJETO_menu.funcion_menu_banner(); OBJETO_menu.funcion_menu_opciones(); var = Console.ReadLine(); switch (var) //SWITCH DEL MENU PRINCIPAL { case "1": //INICIA EL CASE 1 DEL MODULO 1 while (var != "4") //PARA QUE SE REPITA EL MENU DEL MODULO 1 Y/O VOLVER AL ANTERIOR MENU. { OBJETO_menu.funcion_menu_banner(); OBJETO_menu.funcion_menu_modulo1(); var = Console.ReadLine(); switch (var) //SWITCH DEL MENU DEL MODULO 1 { case "1": //MODULO 1-ALTA DE TERMINALES Console.WriteLine("Ingrese el nombre de la terminal"); string nombre_terminal = Console.ReadLine(); Console.WriteLine("Ingrese el nombre de la ciudad"); string nombre_ciudad = Console.ReadLine(); TERMINAL T = new TERMINAL(nombre_terminal, nombre_ciudad); lista_terminales.Add(T); Console.WriteLine("\nLa terminal fue dada de alta correctamente!"); Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(true); break; case "2": //MODULO 1-ALTA DE OMNIBUS Console.WriteLine("Ingrese la marca"); string marca = Console.ReadLine(); Console.WriteLine("Ingrese el modelo"); string modelo = Console.ReadLine(); Console.WriteLine("Ingrese la capacidad"); string capacidad = Console.ReadLine(); Console.WriteLine("Ingrese el tipo"); string tipo = Console.ReadLine(); OMNIBUS o = new OMNIBUS(marca, modelo, capacidad, tipo); lista_omnibus.Add(o); int num = o.funcion_numero_unidad(); Console.WriteLine("\nEl omnibus fue dada de alta correctamente!. A la unidad se le" + " asigno el numero " + num); Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(true); break; case "3": //MODULO 1-ARMADO DE RECORRIDOS OBJETO_menu.funcion_menu_banner(); funcion_hacer_copia(); //TODOS LOS ELEMENTOS DE "lista_terminales" LOS //AGREGO EN "lista_terminales_copia". Console.WriteLine("Seleccione las terminales del recorrido, " + "ingrese 0 para finalizar"); int y = funcion_imprimir_terminales_de_copia(); funcion_imprimir_recorridos_elegidos(y); int elegir = int.Parse(Console.ReadLine()); while (elegir != 0) { Console.Clear(); OBJETO_menu.funcion_menu_banner(); Console.WriteLine("Seleccione las terminales del recorrido, " + "ingrese 0 para finalizar."); Asignar_terminalEn_ListaTerminalElegida(elegir); Eliminar_terminal_deCopia(elegir); funcion_imprimir_terminales_de_copia(); funcion_imprimir_recorridos_elegidos(y); elegir = int.Parse(Console.ReadLine()); } funcion_listaFinal_recorridos(); //ESTA FUNCION AGREGA UN RECORRIDO COMPLETO //A MI "lista_recorridos_armados". lista_terminales_elegidas.Clear(); //ELIMINO TODO LO QUE HAYA EN LA //"lista_terminales_elegidas". lista_terminales_copia.Clear(); Console.WriteLine("El recorrido se ha dado de alta correctamente"); Console.WriteLine("Presione una tecla para continuar."); Console.ReadKey(true); break; } } //TERMINA EL WHILE DEL MODULO 1. EN CASO DE QUE NO SE CUMPLA LA CONDICION, //SE VUELVE AL WHILE DEL MODULO 1. break; //TERMINA EL CASE 1 DEL MODULO 1. case "2": //INICIA EL CASE 2 DEL MODULO 2 while (var != "3") { OBJETO_menu.funcion_menu_banner(); OBJETO_menu.funcion_menu_modulo2(); var = Console.ReadLine(); switch (var) { case "1": //MODULO 2-ALTA DE CHOFERES Console.WriteLine("Ingrese el nombre"); string nombre_chofer = Console.ReadLine(); Console.WriteLine("Ingrese el apellido"); string apellido_chofer = Console.ReadLine(); Console.WriteLine("Ingrese el DNI"); string dni_chofer = Console.ReadLine(); CHOFER cho = new CHOFER(nombre_chofer, apellido_chofer, dni_chofer); VerificarChofer(cho); Console.ReadKey(true); //HACER YA QUE "CHOFER" ES UN TIPO DE DATO. break; case "2": //MODULO 2-ASIGNACION DE RECORRIDOS funcion_imprimir_choferes(); int chofer_elegido = int.Parse(Console.ReadLine()); funcion_imprimir_omnibus(); int omnibus_elegido = int.Parse(Console.ReadLine()); imprimir_recorridosArmados(); int recorrido_elegido = int.Parse(Console.ReadLine()); OBJETO_dia.funcion_imprimir_dias(); int dia_elegido = int.Parse(Console.ReadLine()); funcion_verificar_chofer_y_omnibus(chofer_elegido, omnibus_elegido, dia_elegido, recorrido_elegido); Console.WriteLine("Presione una tecla para continuar."); Console.ReadKey(true); break; } } break; //TERMINA EL CASE 2 DEL MODULO 2. case "3": //INICIA EL CASE 3 DEL MODULO 3 var = "0"; //LO DEJO EN "0" PARA QUE ENTRE AL WHILE. while (var != "3") { OBJETO_menu.funcion_menu_banner(); OBJETO_menu.funcion_menu_modulo3(); var = Console.ReadLine(); switch (var) { case "1": Console.WriteLine("Ingrese el nombre"); string nombre = Console.ReadLine(); Console.WriteLine("Ingrese el apellido"); string apellido = Console.ReadLine(); Console.WriteLine("Ingrese el dni"); string dni = Console.ReadLine(); Console.WriteLine("Ingrese la fecha de nacimiento"); string fecha = Console.ReadLine(); USUARIO usuario = new USUARIO(nombre, apellido, dni, fecha); verificar_usuario(usuario); Console.WriteLine("Presione una tecla para continuar"); Console.ReadKey(true); break; case "2": Console.WriteLine("Ingrese el numero de usuario"); int user_number = int.Parse(Console.ReadLine()); Console.WriteLine("Ingrese el dni del usuario"); string user_dni = Console.ReadLine(); login_usuario(user_number, user_dni); Console.ReadKey(true); break; } } break; //TERMINA EL CASE 3 DEL MODULO 3. case "4": var = "0"; //LO DEJO EN "0" PARA QUE ENTRE AL WHILE. while (var != "5") { OBJETO_menu.funcion_menu_banner(); OBJETO_menu.funcion_menu_modulo4(); var = Console.ReadLine(); switch (var) { case "1": VENTA.cantidadPasajes(); Console.ReadKey(true); break; case "2": VentasPorUsario(); Console.ReadKey(true); break; case "3": TerminalPartida(); Console.ReadKey(true); break; case "4": TerminalArribo(); Console.ReadKey(true); break; } } var = "0"; break; } //FINALIZA EL SWITCH DEL MENU PRINCIPAL Console.Clear(); //LIMPIA LA CONSOLA ANTES DE VOLVER AL MENU ORIGINAL } //FInalizza el try catch (FormatException) { Console.WriteLine("\nError de formato! Volviendo al menu principal"); Console.ReadKey(true); } catch (ArgumentOutOfRangeException) { Console.WriteLine("\nError de indice! Volviendo al menu principal"); Console.ReadKey(true); } } //SE VUELVE AL WHILE DEL MENU PRINCIPAL SINO SE CUMPLE LA CONDICION. }