package paquete;
import java.util.Scanner;
public class queMePongo {
public static Scanner lector = new Scanner(System.in);
public static void main(String[] args) {
// TODO Auto-generated method stub
int codCli;
String articulo;
String otroArt="SI";
int cant;
int desc;
double valorArt;
double importeVenta=0;
double acumVentas=0;
double descuentoValor;
double acumDesc=0;
double importeAPagarParc;
double importeAPagar=0;
double valClienteMax=0;
int codClienteMax=0;
codCli=ingCli("Ingrese el código de cliente (mayor a 0):");
// Empiezo el primer while
while (!(codCli<0)) {
articulo=ingArt("Ingrese el artículo (A1 - Remera / A2 - Buzo / A3 - Pantalón)");
// Empiezo el segundo while
while (otroArt=="SI") {
cant=ingCant("Ingrese la cantidad:");
desc=azar(1,5);
valorArt=obtenerImporteArt(articulo);
importeVenta=valorArt*cant;
acumVentas+=importeVenta;
descuentoValor=obtenerDescuentoCompra(importeVenta, desc);
acumDesc+=descuentoValor;
importeAPagarParc=importeVenta-descuentoValor;
importeAPagar+=importeAPagarParc;
if (valClienteMax==importeAPagar) {
codClienteMax=codCli;
}
valClienteMax=compararMax(valClienteMax, importeAPagar);
mostrarSubtotal(articulo, cant, importeVenta, descuentoValor, importeAPagar);
otroArt=preguntaOtroArt("Desea ingresar otro artículo? SI o NO:");
System.out.println(otroArt);
if (otroArt=="SI") {
articulo=ingArt("Ingrese el artículo (A1 - Remera / A2 - Buzo / A3 - Pantalón)");
}
}
// Finalizo el segundo while
codCli=ing2Cli("Ingrese el código de cliente (mayor a 0) o 0 para finalizar:");
// Finalizo el primer while
}
// Muestro resultado final
mostrarTotales(acumVentas, valClienteMax, codClienteMax, acumDesc);
}
// FX AZAR
private static int azar(int tope, int base){
// GENERA VALORES AL AZAR QUE SERIA LO QUE ELIGE LA MAQUINA
int result;
result=(int)((Math.random())*(tope+1-base))+base;
return result;
}
// FX ingCli
private static int ingCli(String mensaje){
int cod=0;
do {
System.out.println(mensaje);
cod=lector.nextInt();
lector.nextLine();
} while (cod<=0);
return cod;
}
// FX ing2Cli
private static int ing2Cli(String mensaje){
int cod=0;
do {
System.out.println(mensaje);
cod=lector.nextInt();
lector.nextLine();
} while (cod<0);
return cod;
}
// FX ingArt
private static String ingArt(String mensaje){
String art="";
do {
System.out.println(mensaje);
art=lector.nextLine();
} while (art=="A1"||art=="A2"||art=="A3");
return art;
}
// FX pregunaOtroArt
private static String preguntaOtroArt(String mensaje){
String otro="";
do {
System.out.println(mensaje);
otro=lector.nextLine();
} while (otro=="SI"||otro=="NO");
return otro;
}
// FX ingCant
private static int ingCant(String mensaje){
int cant=0;
do {
System.out.println(mensaje);
cant=lector.nextInt();
lector.nextLine();
} while (cant<=0);
return cant;
}
// FX obtenerImporteArt
private static double obtenerImporteArt(String articulo){
double valor=0;
switch (articulo) {
case "A1":
valor=200;
break;
case "A2":
valor=300;
break;
case "A3":
valor=400;
break;
default:
break;
}
return valor;
}
// FX obtenerDescuentoCompra
private static double obtenerDescuentoCompra(double importeVenta, int desc){
double valor=0;
switch (desc) {
case 1:
valor=importeVenta*0.1;
break;
case 2:
valor=importeVenta*0.2;
break;
case 3:
valor=importeVenta*0.3;
break;
case 4:
valor=importeVenta*0.4;
break;
case 5:
valor=importeVenta*0.5;
break;
default:
break;
}
return valor;
}
// FX compararMax
private static double compararMax(double valClienteMax, double importeAPagar){
double valor=0;
if (importeAPagar>=valClienteMax) {
valor=importeAPagar;
} else {
valor=valClienteMax;
}
return valor;
}
// FX mostrarSubtotal
private static void mostrarSubtotal(String articulo, int cant, double importeVenta, double descuentoValor, double importeAPagar){
System.out.println("==========================================================================");
System.out.println(" RESUMEN DEL ARTICULO");
System.out.println("==========================================================================");
System.out.println("Seleccionaste "+cant+" und. del artículo "+articulo+".");
System.out.println("El valor subtotal es: "+importeVenta);
System.out.println("Por sorteo obtuviste un descuento de: $"+descuentoValor);
System.out.println("==========================================================================");
System.out.println("El valor total a pagar es de: $"+importeAPagar);
System.out.println("==========================================================================");
}
// FX mostrarTotales
private static void mostrarTotales(double acumVentas, double valClienteMax, int codClienteMax, double acumDesc){
System.out.println("==================================================================================");
System.out.println(" INFORME FINAL");
System.out.println("==================================================================================");
System.out.println("El valor bruto total de ventas es de: $"+acumVentas);
System.out.println("El valor total de descuentos concedidos fue de: $"+acumDesc);
System.out.println("El cliente que tuvo la compra más cara fue el: "+codClienteMax);
System.out.println("El valor de su compra fue de: $"+valClienteMax);
System.out.println("==================================================================================");
}
}