domingo, 9 de mayo de 2010

Resolucion del Proyecto 1

/**
*Este programa permite describir el vuelto exacto indicando la cantidad de monedas y billetes necesarios,
* de acuerdo al monto de la venta y el monto pagado por el cliente.
*
*/
import java.io.*;
import java.lang.Math;
import java.text.NumberFormat;
public  class proyecto1
{
    public static void main (String args[]) throws IOException
    {
    int i;
    String opcion;
    String []billetes=new String[12];
    int []sencillo = new int[12];
    Double venta, pago, vuelto;

    /* INICIALIZO EL VALOR DE LAS MONEDAS Y BILLETES */
        billetes[0]="0.01";
        billetes[1]="0.05";
        billetes[2]="0.10";
        billetes[3]="0.25";
        billetes[4]="0.50";
        billetes[5]="1";
        billetes[6]="2";
        billetes[7]="5";
        billetes[8]="10";
        billetes[9]="20";
        billetes[10]="50";
        billetes[11]="100";

        BufferedReader in;
        in=new BufferedReader(new InputStreamReader(System.in));
        do {
// INICIALIZO LA CANTIDAD DE BILLETES NECESARIOS PARA EL VUELTO A CERO
            for (i=0;i<12;i++) sencillo[i]=0;
            System.out.println("\n\n\n");
            System.out.println("*****  Menu de Operaciones  *****\n");
            System.out.println("         1: Registrar una venta.");
            System.out.println("         2: Salir del Menu.\n");
            System.out.print("Seleccione una Opcion: ");
            opcion=in.readLine();

            if (opcion.equals("1"))            {

                do                 {
                     System.out.print("\n\nIntroduzca el Monto de la Venta: ");                                           
                     venta=Double.parseDouble(in.readLine());
                     if (venta<=0)
                         System.out.print("\n\nERROR el Monto de la venta debe ser mayor a Bs 0.\n\n\n");
                } while (venta<=0);           

                do {
                    System.out.print("\n\nIntroduzca el Monto del Pago: ");
                    pago=Double.parseDouble(in.readLine());
                    if (pago
                        System.out.print("\n\n\nERROR el Monto del Pago no puede ser menor a la venta.\n\n");
                } while (pago
                vuelto=pago-venta;
                NumberFormat nf = NumberFormat.getCurrencyInstance();
                System.out.print("\n\nEl vuelto es: " + nf.format(vuelto) + "\n\n");

                i=11;
                while (i>=0)   {
                    if (vuelto>=Double.valueOf(billetes[i]))
                    {
                        Double aux = new Double (vuelto / (Double.valueOf(billetes[i])));
                        sencillo[i]= aux.intValue();
                        vuelto = vuelto - (sencillo[i]*Double.valueOf(billetes[i]));
                    }
                    i--;
                }                               
                

                if ((pago-venta)>0)
                {
                    System.out.println("\n\nEntregar el vuelto de la siguiente manera:\n\n");
                    for (i=0;i<12;i++)
                    {
                        if (sencillo[i]==0)
                            continue;
                        else
                        {
                            if (i>5)
                            {
                                System.out.println(sencillo[i] + " billetes de Bs. " + billetes[i]);
                            }
                            else
                            {
                                System.out.println(sencillo[i] + " monedas de Bs. " + billetes[i]);
                            }
                        }
                    }
                }
            }
        } while (!opcion.equals("2"));
    }
}

No hay comentarios:

Publicar un comentario