sábado, 15 de noviembre de 2008

Ejemplo con Vectores

Este ejemplo corresponde a 3 locales con diferente capacidad que registran ventas de 3 promociones distintas ($1000, $1500, $2000) lo que hace es vender y luego ver el informe de ventas por cada local.

PD: Es un ejemplo bàsico ...



//Clase Locales.java

import javax.swing.*;
/**
*
* @author jorge
*/
public class Locales {


private int totalventa;

Vector local1 = new Vector(this.capacidad_local1);
Vector local2 = new Vector(this.capacidad_local2);
Vector local3 = new Vector(this.capacidad_local3);


// Cantidad de Elementos a Almacenar
public int capacidad_local1= 20;
public int capacidad_local2= 25;
public int capacidad_local3= 33;

// Gastos Fihjos Por Local
public int gastos_local1= 5000;
public int gastos_local2= 6000;
public int gastos_local3= 7000;

public Locales(){

this.totalventa = 0;

}


public void venderPromocion (){

int combo1 = 1000;
int combo2 = 1500;
int combo3 = 2500;


this.totalventa = 0;

int local= Integer.parseInt(JOptionPane.showInputDialog("Seleccione local de venta : \n" +
"1 - Local 1 \n" +
"2 - Local 2 \n" +
"3 - Local 3 "));
if (local ==1)
{
int compra= Integer.parseInt(JOptionPane.showInputDialog("Seleccione promocion : \n" +
"1 - Combo 1 $1000 \n" +
"2 - Combo 2 $1500 \n" +
"3 - Combo 3 $2500 "));
if (compra == 1)
compra = combo1;
if (compra == 2)
compra = combo2;
if (compra == 3)
compra = combo3;

int cant= Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));

//El Limite de Compras no puede ser mayor a capacidad_local1

if(cant > this.capacidad_local1) {
JOptionPane.showMessageDialog( null, "Puede Comprar un Maximo "+this.capacidad_local1 +
" Promociones","ALERTA", JOptionPane.INFORMATION_MESSAGE );
Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
}

this.totalventa = cant * compra;
local1.addElement(totalventa);
JOptionPane.showMessageDialog( null, "Debe Cancelar $ "+totalventa,"ALERTA", JOptionPane.INFORMATION_MESSAGE );
}



if (local ==2) {
int compra= Integer.parseInt(JOptionPane.showInputDialog("Seleccione promocion : \n" +
"1 - Combo 1 $1000 \n" +
"2 - Combo 2 $1500 \n" +
"3 - Combo 3 $2500 "));
if (compra == 1)
compra = combo1;
if (compra == 2)
compra = combo2;
if (compra == 3)
compra = combo3;

int cant= Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
if(cant > this.capacidad_local2)
{
JOptionPane.showMessageDialog( null, "Puede Comprar un Maximo "+this.capacidad_local2 +
" Promociones","ALERTA", JOptionPane.INFORMATION_MESSAGE );

Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
}

this.totalventa = cant * compra;
local2.addElement(totalventa);
JOptionPane.showMessageDialog( null, "Debe Cancelar $ "+totalventa,"ALERTA", JOptionPane.INFORMATION_MESSAGE );

}

if (local ==3)
{
int compra= Integer.parseInt(JOptionPane.showInputDialog("Seleccione promocion : \n" +
"1 - Combo 1 $1000 \n" +
"2 - Combo 2 $1500 \n" +
"3 - Combo 3 $2500 "));
if (compra == 1)
compra = combo1;
if (compra == 2)
compra = combo2;
if (compra == 3)
compra = combo3;


int cant= Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
if(cant > this.capacidad_local3) {
JOptionPane.showMessageDialog( null, "Puede Comprar un Maximo "+this.capacidad_local3 +
" Promociones","ALERTA", JOptionPane.INFORMATION_MESSAGE );
Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
}
this.totalventa = cant * compra;
local3.addElement(totalventa);
JOptionPane.showMessageDialog( null, "Debe Cancelar $ "+totalventa,"ALERTA", JOptionPane.INFORMATION_MESSAGE );

}

}

public void verVentasTotales () {

// Informe Local 1




String Salida ="Indice\tValor\n";

for(int i=0; i Salida += i + "\t" + local1.elementAt(i) + "\t" + "\n";


}

JTextArea ventanaSalida = new JTextArea();
ventanaSalida.setText(Salida);

JOptionPane.showMessageDialog(null,ventanaSalida, "INFORME LOCAL 1", JOptionPane.INFORMATION_MESSAGE);

// Informe Local 2

String Salida2 ="Indice\tValor\n";

for(int i=0; i Salida2 += i + "\t" + local2.elementAt(i) + "\n";
}

JTextArea ventanaSalida2 = new JTextArea();
ventanaSalida2.setText(Salida2);

JOptionPane.showMessageDialog(null,ventanaSalida2, "INFORME LOCAL 2", JOptionPane.INFORMATION_MESSAGE);


// Informe Local 3

String Salida3 ="Indice\tValor\n";

for(int i=0; i Salida3 += i + "\t" + local3.elementAt(i) + "\n";
}

JTextArea ventanaSalida3 = new JTextArea();
ventanaSalida3.setText(Salida3);

JOptionPane.showMessageDialog(null,ventanaSalida3, "INFORME LOCAL 3", JOptionPane.INFORMATION_MESSAGE);
}
}



//Clase Main.java

import javax.swing.*;
/**
*
* @author jorge
*/
public class Main {
private static int x;
private static boolean continuar = true;

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

Locales milocal = new Locales();

do
{

// Menu Principal
x = Integer.parseInt(JOptionPane.showInputDialog("Seleccione Opcion : \n" +
"1 - Ventas \n" +
"2 - Informe Ventas \n" +
"3 - Salir "));

switch (x)
{
// Ventas
case 1: milocal.venderPromocion();

// Pregunto para realizar otra Operacion como calcular ventas o continuar vendiendo
int b = Integer.parseInt(JOptionPane.showInputDialog("Presione : \n" +
"1 - Continuar \n" +
"2 - Salir \n"));

if (b == 2)
continuar = false;

break;

// Informes , mostrar los informes de los 3 locales juntos
case 2: milocal.verVentasTotales();

// Pregunto para realizar otra Operacion como calcular ventas o continuar vendiendo
b = Integer.parseInt(JOptionPane.showInputDialog("Presione : \n" +
"1 - Continuar \n" +
"2 - Salir \n"));
if (b == 2)
continuar = false;

break;

// Salgo del siste
case 3: continuar = false;;

default: break;


}


}while (continuar); //Saldra del Sistema

JOptionPane.showMessageDialog(null,"Que tenga buen dia", "Cerrar Sistema", JOptionPane.INFORMATION_MESSAGE);

}
}


Veamos unas pantallas

Menu Locales


Menu Promociones


Cantidad de Promociones a Comprar


Total a Pagar por la Compra


Informe de las Ventas






xJlara

No hay comentarios: