Se nos pide implementar el terminal punto de venta de un centro comercial un poco " especial" .
Este TPV irá destinado a la caja ràpida.i , como máximo , se podrán introducir hasta 3 productos y el valor de la compra siempre será inferior a 100 € ( ya os decía que era especial ! ) . El funcionamiento básico es el siguiente:
1) Código secreto para iniciar la TPV . El código secreto será la cadena 1234
2 ) Introducción del nombre del cajero
3) Introducción del precio del primer producto
4 ) Introducción del precio del segundo producto
5 ) Introducción del precio del tercer producto
6) Impresión por pantalla del total de la compra
7 ) Introducción del dinero que da el cliente
8) Impresión por pantalla de lo que tenemos que volver desglosado en billetes y monedas
9 ) Impresión del ticket ( por pantalla ) , añadiendo los puntos conseguidos por la compra . Cada 600 PTA de compra equivale a 1 punto . Siempre se redondeará por debajo ( 38,99 puntos son 38 puntos ) .
Un ejemplo de pantallas sería el siguiente :
Introduce código de desbloqueo : 1234
Introduce tu nombre : Pedro
1er producto : 10,34
2 º producto : 2,18
3er producto : 5,25
Total : 17,77 Euros ( 2.956,68 PTA)
Recibido : 20 Euros
A volver : 2,23 Euros
0 billetes de 50
0 billetes de 20
0 billetes de 10
0 billetes de 5
1 moneda de 2
0 moneda de 1
0 moneda de 50 cts
1 moneda de 20 cts
0 moneda de 10 cts
0 moneda de 5 cts
1 moneda de 2 cts
1 moneda de 1 cts
**************************
SUPERMERCADOS ESPECIAL
**************************
Producto 1: 10,34
Producto 2: 2,18
Producto 3: 5,25
Total : 17,77 ( 2957 PTA)
Recibido : 20
Cambio : 2,23
Dado por: Pedro 10/07/2003
Ha conseguido : 4 puntos
Gracias por su visita
NOTAS
Siempre se introducen 3 productos .
Caso de que el cliente lleve menos introduciremos € 0 .
- import cs1.Keyboard;
- import java.io.*;
- import java.util.*;
- import java.lang.Math.*;
- import java.text.DecimalFormat;
- import java.text.DateFormat;
- import java.util.Date;
- import java.text.SimpleDateFormat;
- public class supermercado
- {
- public static void main (String[] args)
- {
- //Variables
- String pass, nom;
- double precio1, precio2, precio3, total, pts, pago, devolucion, conv, puntos ;
- int quant, Billetes, Monedas;
- final double pesetas = 166.386;
- //introdución de datos
- System.out.print ("introduce el codigo secreto:");
- pass = Keyboard.readString ();
- System.out.print ("introduce tu nombre y apellidos:");
- nom = Keyboard.readString ();
- System.out.print ("indica el precio del primer articulo:");
- precio1 = Keyboard.readDouble();
- System.out.print ("indica el precio del segundo articulo");
- precio2 = Keyboard.readDouble();
- System.out.print ("indica el precio del tercer articulo");
- precio3 = Keyboard.readDouble();
- // Calculo del total
- total = precio1 + precio2 + precio3;
- conv = total * pesetas;
- puntos = conv / 600;
- if (total <= 100){
- //restriciones de decimales
- DecimalFormat totalb = new DecimalFormat ("0.00");
- DecimalFormat precio1b = new DecimalFormat ("0.00");
- DecimalFormat precio2b = new DecimalFormat ("0.00");
- DecimalFormat precio3b = new DecimalFormat ("0.00");
- DecimalFormat convb = new DecimalFormat ("0.00");
- DecimalFormat pagob = new DecimalFormat ("0.00");
- DecimalFormat devolucionb = new DecimalFormat ("0.00");
- // formato de fecha
- Date fecha = new Date();
- SimpleDateFormat DateFormat = new SimpleDateFormat ("dd/MM/yyyy");
- //mostrar información
- System.out.println( "Total: " + totalb.format(total) + " €" + " (" + convb.format(conv) + " PTA)");
- //introducion de pago del cliente
- System.out.print ("\nIntroduce la cantidad de dinero pagada por el cliente:");
- pago = Keyboard.readDouble ();
- //Calculo de la devolución
- devolucion = pago -total;
- //Calculo de las monedas
- quant = (int) (devolucion * 100);
- //Mostrar informacion
- System.out.println ("Recibo:" + pagob.format (pago) + " € ");
- System.out.println( "A devolver: " + devolucionb.format(devolucion) + " €" );
- //Desglosar devolucion
- Billetes = (quant / 5000);
- quant = quant - (Billetes * 5000);
- System.out.println("Billetes 50 : " + Billetes);
- Billetes = (quant / 2000 );
- quant = quant - (Billetes * 2000);
- System.out.println("Billetes 20 : " + Billetes);
- Billetes = (quant / 1000 );
- quant = quant - (Billetes * 1000);
- System.out.println("Billetes 10 : " + Billetes);
- Billetes = (quant / 500 );
- quant = quant - (Billetes * 500);
- System.out.println("Billetes 5 : " + Billetes);
- Monedas = (quant / 200 );
- quant = quant - (Monedas * 200);
- System.out.println("Monedas 2 : " + Monedas);
- Monedas = (quant / 100 );
- quant = quant - (Monedas * 100);
- System.out.println("Monedas 1 : " + Monedas);
- Monedas = (quant / 50 );
- quant = quant - (Monedas * 50);
- System.out.println("Monedas 50c : " + Monedas);
- Monedas = (quant / 20 );
- quant = quant - (Monedas * 20);
- System.out.println("Monedas 20c : " + Monedas);
- Monedas = (quant / 10 );
- quant = quant - (Monedas * 10);
- System.out.println("Monedas 10c : " + Monedas);
- Monedas = (quant / 5 );
- quant = quant - (Monedas * 5);
- System.out.println("Monedas 5c : " + Monedas);
- Monedas = (quant / 2 );
- quant = quant - (Monedas * 2);
- System.out.println("Monedas 2c : " + Monedas);
- Monedas = (quant / 1 );
- quant = quant - (Monedas * 1);
- System.out.println("Monedas 1c : " + Monedas);
- //Mostrar información
- System.out.println( "\n*************************" + "\n SUPERMERCADOS ESPECIALES " +"\n*************************" );
- System.out.println( "Primer artículo es: " + precio1b.format(precio1) + " €");
- System.out.println( "Segundo artículo es: " + precio2b.format(precio2) + " €");
- System.out.println( "Tercer article es: " + precio3b.format(precio3) + " €");
- System.out.println( "Total: " + totalb.format(total) + " €" + " (" + Math.round(conv) + " PTA)");
- System.out.println( "Recibido: " + pagob.format(pago) + " €");
- System.out.println( "Cambio: " + devolucionb.format(devolucion) + " €" );
- System.out.println( "\nAtendido por: " + nom + " " + DateFormat.format(fecha));
- System.out.println( "\nHa conseguido: " + (int)puntos + " Puntos");
- System.out.println( "\nGracias por su visita" );
- }
- if (total>100)
- System.out.println ( "La compra no se puede realizar porque la suma de los tres articulos es superior a 100" );
- }
- }
No hay comentarios:
Publicar un comentario