0% encontró este documento útil (0 votos)
11 vistas6 páginas

Ejercicio Del Cine Con Matrices

El documento es un código en Java que gestiona un sistema de venta de boletos para películas, permitiendo al usuario seleccionar el formato de la película (2D o 3D), la cantidad de boletos, y la edad del cliente para aplicar descuentos. Incluye funciones para validar entradas, calcular subtotales y totales, así como imprimir facturas y reportes de ventas. El sistema almacena información sobre las películas, horarios y precios en matrices para su procesamiento.

Cargado por

Ligia Fonseca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas6 páginas

Ejercicio Del Cine Con Matrices

El documento es un código en Java que gestiona un sistema de venta de boletos para películas, permitiendo al usuario seleccionar el formato de la película (2D o 3D), la cantidad de boletos, y la edad del cliente para aplicar descuentos. Incluye funciones para validar entradas, calcular subtotales y totales, así como imprimir facturas y reportes de ventas. El sistema almacena información sobre las películas, horarios y precios en matrices para su procesamiento.

Cargado por

Ligia Fonseca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

static Scanner leer = new Scanner(System.

in);
//static Scanner leer2 = new Scanner([Link]);
static int formato=0, pelic=0, horario=0, edad=0, cont=-1;
static String mStr[][] = new String[100][4];
static double mNum[][] = new double[100][5];

public static void main(String[] args) {


procesoGeneral();
}

private static void procesoGeneral(){


int resp=1;
while(resp==1){
cont++;
[Link]("***** Registro No. "+(cont+1)+" *****");
[Link]("**** Formatos disponibles ****");
[Link]("1. 2D\n2. 3D\nSeleccione un opción: ");
formato = validarEntrada([Link](), 1, 2);

if(formato==1){
formato2D();
}else{
formato3D();
}

[Link]("Ingrese la cant. de boletos: ");


mNum[cont][1] = validarEntrada([Link](), 1, 10);
[Link]("Ingrese la edad del cliente: ");
edad = validarEntrada([Link](), 18);

// Calcular el subtotal de la factura


mNum[cont][2] = mNum[cont][0] * mNum[cont][1];
if(edad>=60){
mNum[cont][3] = mNum[cont][2] * 0.25;
}else{
mNum[cont][3] = 0;
}
//acumDesc += desc;
totalDesc();

//total = subTotal - desc;


mNum[cont][4] = mNum[cont][2] - mNum[cont][3];
//acumTotal += total;
totales();
imprimirFactura();

[Link]("\nDesea agregar otra factura?");


[Link]("1. Si\n2. No\nIngrese su respuesta: ");
resp = validarEntrada([Link](), 1, 2);
}
//[Link]("\n***** Datos estadisticos *****");
imprimirReporte();
//[Link]("\n\nReporte total de ventas:.......... "+(totales()-
total));
//[Link]("Reporte del descuento:............ "+(totalDesc()-
desc));
}
private static double totales(){
double suma=0;
for (int i = 0; i <= cont; i++) {
suma += mNum[i][4];
}
return suma;
}

private static double totalDesc(){


double suma=0;
for (int i = 0; i <= cont; i++) {
suma += mNum[i][3];
}
return suma;
}

private static void imprimirFactura(){


[Link]("\n***** Exija su factura *****");
[Link]("***** Cine Tiffany ******");
[Link]("No. Factura: "+ cont);
[Link]("Película:.................. "+mStr[cont][1]);
[Link]("Formato:................... "+mStr[cont][0]);
[Link]("Horario:................... "+mStr[cont][2]);
[Link]("Sala:...................... "+mStr[cont][3]);
[Link]("Cantidad:.................. "+mNum[cont][1]);
[Link]("Precio:.................... "+mNum[cont][0]);
[Link]("SubTotal:.................. "+mNum[cont][2]);
[Link]("Descuento:................. "+mNum[cont][3]);
[Link]("Total a pagar:............. "+mNum[cont][4]);
}

private static void horariosBadBoys(){


mStr[cont][1] = nombrePelicula();
[Link]("*** Estos son los horarios de esta pelicula ***");
[Link]("1. 5pm.\n2. 8pm.\n3. 10pm.\nSeleccione el horario: ");
horario = validarEntrada([Link](), 1, 3);
mStr[cont][2] = nombreHorario();
}

private static void horariosSonic(){


mStr[cont][1] = nombrePelicula();
[Link]("*** Estos son los horarios de esta pelicula ***");
[Link]("1. 10am.\n2. 3pm.\n3. 5pm.\n4. 7pm.\n5. 9pm.\nSeleccione
el horario: ");
horario = validarEntrada([Link](), 1, 5);
mStr[cont][2] = nombreHorario();
}

private static void formato2D(){


mStr[cont][0] = "2D";
mNum[cont][0] = 100;
[Link]("*** Peliculas del fomato 2D ****");
[Link]("1. Bad boys para siempre (5pm, 8pm y 10pm)");
[Link]("2. Sonic: La película (10am, 3pm, 5pm, 7pm y 9pm)");
[Link]("3. Joker (5pm, 7pm y 9pm)");
[Link]("4. El Hombre Araña 3 (2pm, 4pm y 7pm)");
[Link]("Ingrese el código de la pelicula: ");
pelic = validarEntrada([Link](), 1, 4);
switch (pelic) {
case 1:
mStr[cont][3] = "Sala No. 1";
horariosBadBoys();
break;
case 2: //Sonic: La película (10am, 3pm, 5pm, 7pm y 9pm)
mStr[cont][3] = "Sala No. 4";
horariosSonic();
break;
case 3: // Joker (5pm, 7pm y 9pm)"
mStr[cont][1] = nombrePelicula();
mStr[cont][3] = "Sala No. 6";
[Link]("*** Estos son los horarios de esta pelicula
***");
[Link]("1. 5pm.\n2. 7pm.\n3. 9pm.\nSeleccione el horario:
");
horario = validarEntrada([Link](), 1, 3);
mStr[cont][2] = nombreHorario();
break;
case 4: //El Hombre Araña 3 (2pm, 4pm y 7pm)
mStr[cont][1] = "El Hombre Araña 3";
mStr[cont][3] = "Sala No. 8";
[Link]("*** Estos son los horarios de esta pelicula
***");
[Link]("1. 2pm.\n2. 4pm.\n3. 7pm.\nSeleccione el horario:
");
horario = validarEntrada([Link](), 1, 3);
mStr[cont][2] = nombreHorario();
break;
default:
mStr[cont][1] = "";
break;
}
}

private static void formato3D(){


mStr[cont][0] = "3D";
mNum[cont][0] = 200;
[Link]("*** Peliculas del fomato 2D ****");
[Link]("1. Bad boys para siempre (5pm, 8pm y 10pm)");
[Link]("2. Avengers: Endgame (3pm, 5pm y 7pm)");
[Link]("3. Sonic: La película (10am, 3pm, 5pm, 7pm y 9pm)");
[Link]("4. Avatar 2 (10am, 2pm, 4pm y 7pm)");
[Link]("Ingrese el código de la pelicula: ");
pelic = validarEntrada([Link](), 1, 4);

switch (pelic) {
case 1:
mStr[cont][3] = "Sala No. 2";
horariosBadBoys();
break;
case 2: //Avengers: Endgame (3pm, 5pm y 7pm)
mStr[cont][1] = "Avengers: Endgame";
mStr[cont][3] = "Sala No. 3";
[Link]("*** Estos son los horarios de esta pelicula
***");
[Link]("1. 3pm.\n2. 5pm.\n3. 7pm.\nSeleccione el horario:
");
horario = validarEntrada([Link](), 1, 3);
mStr[cont][2] = nombreHorario();
break;
case 3: // Sonic
mStr[cont][3] = "Sala No. 5";
horariosSonic();
break;
case 4: //Avatar 2 (10am, 2pm, 4pm y 7pm)
mStr[cont][1] = "Avatar 2";
mStr[cont][3] = "Sala No. 7";
[Link]("*** Estos son los horarios de esta pelicula
***");
[Link]("1. 10am.\n2. 2pm.\n3. 4pm.\n4. 7pm.\nSeleccione
el horario: ");
horario = validarEntrada([Link](), 1, 4);
mStr[cont][2] = nombreHorario();
break;
default:
mStr[cont][1] = "";
break;
}
}

// ( 5, 1, 7)
// Método genérico para validar las entradas de datos, además devuelve el valor
del parámetro.
private static int validarEntrada(int parametro, int LimInicial, int LimFinal){
boolean repetir;
do{ // Inicio del ciclo de repetición para validar las entradas.
repetir=false; // Asignación de valor a la variable booleana cada vez
que se repite el ciclo.
if(parametro<LimInicial || parametro>LimFinal){ // Condición para
determinar si el ciclo se repite o no
repetir=true; // Cambio del valor booleano si la condición se
cumple.
[Link]("\n***Error!!!, Vuelva a ingresar el dato
correctamente: ");
parametro = [Link](); //5
}
}while(repetir==true); // Condición que controla el ciclo de repetición de
la función.
return parametro; // Valor de retorno de la función al finalizar la
ejecución.
} // Llave de cierre de la función validarEntrada.

// Método genérico para validar las entradas de datos, además devuelve el valor
del parámetro.
private static int validarEntrada(int parametro, int LimInicial){
boolean repetir;
do{ // Inicio del ciclo de repetición para validar las entradas.
repetir=false; // Asignación de valor a la variable booleana cada vez
que se repite el ciclo.
if(parametro<LimInicial){ // Condición para determinar si el ciclo se
repite o no
repetir=true; // Cambio del valor booleano si la condición se
cumple.
[Link]("\n***Error!!!, Vuelva a ingresar el dato
correctamente: ");
parametro = [Link](); //5
}
}while(repetir==true); // Condición que controla el ciclo de repetición de
la función.
return parametro; // Valor de retorno de la función al finalizar la
ejecución.
} // Llave de cierre de la función validarEntrada.

private static String nombreHorario(){


if(formato==1){
String[][] horarios = { {"5:00 p.m.", "8:00 p.m.","10:00 p.m."},//Bad
boys para siempre (5pm, 8pm y 10pm).
{"10:00 a.m.","3:00 p.m.","5:00 p.m.","7:00 p.m.","9:00
p.m."},//Sonic: La película (10am, 3pm, 5pm, 7pm y 9pm).
{"5:00 p.m.","7:00 p.m.","9:00 p.m."},// Joker (5pm, 7pm y 9pm)
{"2:00 p.m.","4:00 p.m.","7:00 p.m."} }; //El Hombre Araña 3 (2pm,
4pm y 7pm).
return horarios[pelic-1][horario-1]; //[2][1]=
}else{
String[][] horarios = { {"5:00 p.m.", "8:00 p.m.","10:00 p.m."},//Bad
boys para siempre (5pm, 8pm y 10pm).
{"3:00 p.m.","5:00 p.m.","7:00 p.m."},//Avengers: Endgame (3pm, 5pm
y 7pm)
{"10:00 a.m.","3:00 p.m.","5:00 p.m.","7:00 p.m.","9:00
p.m."},//Sonic: La película (10am, 3pm, 5pm, 7pm y 9pm).
{"10:00 a.m.","2:00 p.m.","4:00 p.m.","7:00 p.m."} }; //. Avatar 2
(10am, 2pm, 4pm y 7pm)
return horarios[pelic-1][horario-1];
}
}

private static String nombrePelicula(){


if(formato==1){
String[] peliculas = {"Bad boys para siempre","Sonic: La
película","Joker","El Hombre Araña 3"};
return peliculas[pelic-1];
}else{
String[] peliculas = {"Bad boys para siempre","Avengers:
Endgame","Sonic: La película","Avatar 2"};
return peliculas[pelic-1];
}
}

private static void imprimirReporte(){


[Link]("\n\n****** Reporte total de ventas *********"); // 5,
23, 9, 12, 10, /7, 9, 10, 8, 10
[Link]("No. Película Formato Horario Sala
Cant. Precio Subtotal Desc Total");

[Link]("---------------------------------------------------------------
--------------------------------------");
for (int i = 0; i <= cont; i++) {
[Link]("%-5d",(i+1));
[Link]("%-23s",mStr[i][1]);
[Link]("%-9s",mStr[i][0]);
[Link]("%-12s",mStr[i][2]);
[Link]("%-10s",mStr[i][3]);
[Link]("%-7.0f",mNum[i][1]);
[Link]("%-9.0f",mNum[i][0]);
[Link]("%-10.0f",mNum[i][2]);
[Link]("%-8.0f",mNum[i][3]);
[Link]("%-10.0f",mNum[i][4]);
[Link]("");
}

[Link]("---------------------------------------------------------------
--------------------------------------");

[Link]("Totales:________________________________________________________
____________________ %-8.0f%-10.0f",totalDesc(),totales());
}

También podría gustarte