Mini proyecto

29
“Principios de Programación (JAVA) 2°5 MINI PROYECTO Integrantes del equipo: Martha Isabel Alcalá Hernández N.L:1 Eduardo Luis García Ramos N.L: 16 Profesora: Sonia Ramírez Chávez 2° 5 1

Transcript of Mini proyecto

Page 1: Mini proyecto

“Principios de Programación (JAVA) 2°5

MINI PROYECTO

Integrantes del equipo:

Martha Isabel Alcalá Hernández N.L:1

Eduardo Luis García Ramos N.L: 16

Profesora:

Sonia Ramírez Chávez

2° 5

Fecha te entrega: 22 de Noviembre del 2011

1

Page 2: Mini proyecto

“Principios de Programación (JAVA) 2°5

ÍNDICE

Introducción …………………………………………………………….…3

Planteamiento del Problema……………………………………………………………8

Análisis…………………………………………………………………………………….9

Tabla de análisis de entradas, procesos y salidas………………………………….9

Pseudocódigo……………………………………………………………………………9

Diagrama de flujo………………………………………………………………………10

Código fuente…………………………………………………………………………..11

Ejemplo de ejecución del programa…………………………………………………21

Conclusión……………………………………………………………………………....23

Bibliografía……………………………………………………………………………….24

2

Page 3: Mini proyecto

“Principios de Programación (JAVA) 2°5

Nuestro mini proyecto fue creado por los problemas que a veces se ven en los centros comerciales que no entran los códigos correctamente o rápidamente, por eso fue creado nuestro mini proyecto.

El cual funciona de la siguiente manera:

Primero nos mostrara una ventana donde nos preguntara si queremos ingresar un producto o más de uno.

Después mostrando una ventana en donde nos muestra las categorías de productos que tendremos a la venta, estas categorías dependerán del centro comercial en el que sea ocupado del programa, ahí elegiremos la categoría indicada

Le pondremos el número de la categoría y daremos un enter o damos clic en aceptar

3

Page 4: Mini proyecto

“Principios de Programación (JAVA) 2°5

una vez elegida nos aparecerá otra ventana en la cual ahora nos mostrara los productos que pertenecen a dicha categoría elegida

nuevamente tecleamos el número que corresponda al producto elegido y damos enter o clic en aceptar

4

Page 5: Mini proyecto

“Principios de Programación (JAVA) 2°5

nuevamente nos mostrara otra ventana donde nos preguntara que cantidad de productos es la que compraremos una vez ingresada la cantidad damos nuevamente enter o clic en aceptar

después nos mostrara el subtotal, iva, total, le damos enter o clic en aceptar

y nos abrirá otra ventana en la cual nos preguntara cuando dinero nos están dando para cobrar ingresamos la cantidad y damos enter o clic en aceptar

aparecerá otra ventana que nos dirá cuanto cambio debemos de regresar

5

Page 6: Mini proyecto

“Principios de Programación (JAVA) 2°5

Si le tecleamos una cantidad insuficiente para pagar nos marcara un error

Si le damos aceptar aparecerá la siguiente ventana

Y si otra vez le damos aceptar nos aparece la siguiente ventana

Si le damos aceptar nos mostrara la siguiente ventana, si tecleamos la cantidad correcta y le damos en aceptar igual nos aparecerá la siguiente ventana

6

Page 7: Mini proyecto

“Principios de Programación (JAVA) 2°5

Esto esto es lo que hace mi mini proyecto

7

Page 8: Mini proyecto

“Principios de Programación (JAVA) 2°5

Planteamiento del problema y metas

Para poder ir realizando nuestro programa nos hicimos las siguientes preguntas:

¿Qué voy hacer?

Vamos a realizar un programa para facilitar al cobro de los productos y observar al mismo tiempo los productos que se venden y su categoría de un centro comercial ducho programa se lleva a cabo en NetBeans.

*NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso.

¿Cuál es el objetivo?

El objetivo es que nos muestre la lista de categorías que tenemos, de ahí nos mostrara la lista de productos que hay en dicha categoría, de ahí nos deberá pedir la cantidad de dicho productos adquirida, nos deberá preguntar si queremos adquirir otro producto, después imprima el subtotal, iva, total de los productos adquiridos, por ultimo nos preguntara con que nos están pagando y al final nos regresa el cambio que tenemos que regresar.

Vamos a trabajar con IF en donde se localiza la categoría, puede ser: Bebidas, frituras, cereales, galletas, etc.

También utilizaremos un SWITEN con el determinaremos la capacidad de una bebida, el tamaño de unas frituras, etc.

8

Page 9: Mini proyecto

“Principios de Programación (JAVA) 2°5

Análisis del problema

El único material que necesitamos es el programa netbeans, nuestro mini proyecto tiene dos grandes condiciones que son que con un IF se debe localizar la categoría, puede ser: Bebidas, frituras, cereales, galletas, etc.

También utilizaremos tenemos que utilizar un SWITEN con el cual debemos determinar la capacidad de una bebida, el tamaño de unas frituras, etc, al colocar estas dos opciones no tenemos ninguna opción ya que con estas dos condiciones nos pidieron nuestro mini proyecto.

En la toma decisión si deseamos otra producto hay diferentes opciones para cumplir esa condición, unos la pueden poner al principio del programa y otros a la mitad de dicho programa.

TABLA DE ANÁLISIS DE ESNTRADAS, PROCESOS Y SALIDAS

Entradas Procesos SalidasCantidad de artículos Total de artículosPrecio unitario Descuento

TotalIva

Imprimir todo como un programa de un comercio

PSEUDOCÓDIGO

Inicio

Variables: Categoría, Cantidad de productos, precio, iva, descuento, total, subtotal.

Imprimir: subtotal, iva, descuento, total

Fin

9

Page 10: Mini proyecto

“Principios de Programación (JAVA) 2°5

10

INICIO

CATEGORIA,CANTIDAD DE ARTICULOS,PRECIO,IVA,DESCUENTO,TOTAL,SUBTOTAL.

CATEGORIA,PRECIO, CANTIDAD DE ARTICULOS,TOTAL,SUBTOTAL,DESCUENTO

, IVA

SUBTOTAL= PRECIO*CANTIDAD DE ARTICULOS

IVA=16%

SUBTOTAL<

500

DESCUENTO= SUBTOTAL-5%

DESEA ADQUIRIR

OTRO PRODUCTO

“ SUBTOTAL:”=CANTIDAD DE ARTICULOS*PRECIO

“IVA”=16%

“DESCUENTO”=SUBTOTAL-5%

“TOTAL”=SUBTOTAL-DESCUENTO+IVA

FIN

SI

SI

NO

NO

Page 11: Mini proyecto

“Principios de Programación (JAVA) 2°5

CODIGO FUENTE

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/**

*

* @author Martha Isabel Alcalá Hernández y Eduardo Luis García Ramos

*/

import javax.swing.JOptionPane;

public class Productos {

public static void main(String[] args) {

int cat = 0;

double precio = 0;

double subtotal = 0;

double descuento = 0;

double iva = 0;

double Total = 0;

double cambio = 0;

int cantidad = 0;

int fila = 0;

int s= Integer.parseInt(JOptionPane.showInputDialog(null,"1.-SI TE GUSTARIA ADQUIRIR MAS DE UN PRODUCTO TECLEA 2 \n"

+ " 2.-SI ESTE ES TU UNICO PRODUCTO QUE BAS A COMPRAR TECLEA 1"));

do{

11

Page 12: Mini proyecto

“Principios de Programación (JAVA) 2°5

String categoria[] = {"1. Bebidas", "2. Frituras", "3. Detergentes", "4. Lacteos", "5. Cereales"};

String Bebidas[][] = {

{"1. 600ml", "2. 1litro", "3. 1.5 litros", "4. 2litros", "5. 3litros"},

{"8", "12", "15", "18", "22"},};

String Frituras[][] = {

{"1. chicas", "2. medianas", "3. grandes"},

{"5", "10", "20"},};

String Detergentes[][] = {

{"1. 500g.", "2. 1kg", "3. 2kg", "4. 5kg", "5. 20kg"},

{"8", "12", "16", "30", "50"},};

String Lacteos[][] = {

{"1. 250ml", "2. 1litro"},

{"5", "10"},};

String Cereales[][] = {

{"1. chicos", "2. medianos", "3. grande"},

{"4", "10", "35"},};

String articulo = "";

cat = valorVentana("Categoria: \n", cadenaDeCategoria(categoria));

if (cat == 1) {

fila = valorVentana("Bebidas: \n", cadenaDeArticulo(Bebidas))- 1;

switch (fila)

case 0:

precio = precioArticulo(Bebidas, fila);

articulo = nombreArticulo(Bebidas, fila);

break;

12

Page 13: Mini proyecto

“Principios de Programación (JAVA) 2°5

case 1:

precio = precioArticulo(Bebidas, fila);

articulo = nombreArticulo(Bebidas, fila);

break;

case 2:

precio = precioArticulo(Bebidas, fila);

articulo = nombreArticulo(Bebidas, fila);

break;

case 3:

precio = precioArticulo(Bebidas, fila);

articulo = nombreArticulo(Bebidas, fila);

break

case 4:

precio = precioArticulo(Bebidas, fila);

articulo = nombreArticulo(Bebidas, fila);

break;

default:

JOptionPane.showMessageDialog(null,"OPCIÓN INVALIDA POR FAVOR SELECCIONE UNA QUE ESTE DENTRO DEL CATALOGO");

do{

}while(cat!=5);

}

}

if (cat == 2) {

fila = valorVentana("Articulos Frituras: \n", cadenaDeArticulo(Frituras)) - 1; switch (fila){

13

Page 14: Mini proyecto

“Principios de Programación (JAVA) 2°5

case 0:

precio = precioArticulo(Frituras, fila);

articulo = nombreArticulo(Frituras, fila);

break;

case 1:

precio = precioArticulo(Frituras, fila);

articulo = nombreArticulo(Frituras, fila);

break;

case 2:

precio = precioArticulo(Frituras, fila);

articulo = nombreArticulo(Frituras, fila);

break;

default:

JOptionPane.showMessageDialog(null,"OPCIÓN INVALIDA POR FAVOR SELECCIONE UNA QUE ESTE DENTRO DEL CATALOGO");

do{

} while (cat !=3);

}

}

// do{

if (cat == 3){

fila = valorVentana("Articulos Detergentes: \n", cadenaDeArticulo(Detergentes)) - 1;

switch (fila){

case 0:

14

Page 15: Mini proyecto

“Principios de Programación (JAVA) 2°5

precio = precioArticulo(Detergentes, fila);

articulo = nombreArticulo(Detergentes, fila);

break;

case 1:

precio = precioArticulo(Detergentes, fila);

articulo = nombreArticulo(Detergentes, fila);

break;

case 2:

precio = precioArticulo(Detergentes, fila);

articulo = nombreArticulo(Detergentes, fila);

break;

case 3:

precio = precioArticulo(Detergentes, fila);

articulo = nombreArticulo(Detergentes, fila);

break;

case 4:

precio = precioArticulo(Detergentes, fila);

articulo = nombreArticulo(Detergentes, fila);

break;

default:

JOptionPane.showMessageDialog(null,"OPCIÓN INVALIDA POR FAVOR SELECCIONE UNA QUE ESTE DENTRO DEL CATALOGO");

do{

}while(cat!=5);

}

}

15

Page 16: Mini proyecto

“Principios de Programación (JAVA) 2°5

// do{

if (cat == 4) {

fila = valorVentana("Articulos Lacteos: \n", cadenaDeArticulo(Lacteos)) - 1;

switch (fila) {

case 0:

precio = precioArticulo(Lacteos, fila);

articulo = nombreArticulo(Lacteos, fila);

break;

case 1:

precio = precioArticulo(Lacteos, fila);

articulo = nombreArticulo(Lacteos, fila);

break;

default:

JOptionPane.showMessageDialog(null,"OPCIÓN INVALIDA POR FAVOR SELECCIONE UNA QUE ESTE DENTRO DEL CATALOGO");

do{

}while(cat !=2);

}

}

// do{

if (cat == 5) {

fila = valorVentana("Articulos Cereales: \n", cadenaDeArticulo(Cereales)) - 1;

switch (fila) {

case 0:

precio = precioArticulo(Cereales, fila);

16

Page 17: Mini proyecto

“Principios de Programación (JAVA) 2°5

articulo = nombreArticulo(Cereales, fila);

break;

case 1:

precio = precioArticulo(Cereales, fila);

articulo = nombreArticulo(Cereales, fila);

break;

case 2:

precio = precioArticulo(Cereales, fila);

articulo = nombreArticulo(Cereales, fila);

break;

default:

JOptionPane.showMessageDialog(null,"OPCIÓN INVALIDA POR FAVOR SELECCIONE UNA QUE ESTE DENTRO DEL CATALOGO");

do{

}while(cat !=3);

}

}

cantidad = valorVentana("Cantidad de ", articulo + "\n");

subtotal = precio * cantidad;

if (subtotal >= 500) {

descuento = subtotal * 0.05;

} else {

descuento = 0;

}

iva = (subtotal - descuento) * 0.16;

Total = subtotal - descuento + iva;

17

Page 18: Mini proyecto

“Principios de Programación (JAVA) 2°5

String impresion = "Articulos y Accesorios \n Calle Aldama col. Centro \n\n\n\n";

impresion += "Subtotal: \t" + subtotal + "\n" + "Descuento: \t" + descuento + "\n" + "iva: \t" + iva + "\n";

impresion += "Total: \t" + Total;

JOptionPane.showMessageDialog(null,

impresion, "* Productos *",

JOptionPane.INFORMATION_MESSAGE);

String entrada = JOptionPane.showInputDialog(null,

"Cantidad Con La Que Paga:",

"Articulos y Accesorios ",

JOptionPane.QUESTION_MESSAGE);

double billete = Integer.parseInt(entrada);

if(billete< Total){

JOptionPane.showMessageDialog(null,"CANTIDAD INSUFICIENTE");

JOptionPane.showMessageDialog(null, "CANTIDAD A PAGAR:"+Total+"\n USTED ESTA PAGANDO:"+billete);

JOptionPane.showMessageDialog(null, "LO SENTIMOS PERO EL PRODUCTO NO SE LE PUEDE ENTREGAR");

}else

cambio = billete - Total;

JOptionPane.showMessageDialog(null,

"Pago: " + billete + "\n\n Cambio: " + cambio, "* Productos *",

JOptionPane.INFORMATION_MESSAGE);

18

Page 19: Mini proyecto

“Principios de Programación (JAVA) 2°5

JOptionPane.showMessageDialog(null,"GRASIAS POR SU VISITA LO (A) ESPERAMOS PRONTO");

}while(s !=1 );

System.exit(0);

}

public static int precioArticulo(String articulos[][], int fila) {

int precio = Integer.parseInt(articulos[1][fila]);

return precio;

}

public static String nombreArticulo(String articulos[][], int fila) {

String articulo = articulos[0][fila].substring(2);

return articulo;

}//tipo

public static String cadenaDeCategoria(String arts[]) {

String cadena = "";

for (int contador = 0; contador < arts.length; contador++) {

cadena += "\n" + arts[contador];//la fila va cambiando conforme incrementa contador

}//for

return cadena + "\n";

}//categoria

public static String cadenaDeArticulo(String articulos[][]) {

String cadena = "";

for (int contador = 0; contador < articulos[0].length; contador++) {

19

Page 20: Mini proyecto

“Principios de Programación (JAVA) 2°5

cadena += "\n" + articulos[0][contador];//la fila va cambiando conforme incrementa contador

}//for

return cadena + "\n";

}//tipo

public static int valorVentana(String cadena1, String cadena2) {// cadena 1 es la categoria o tipo y cadena 2 el listado

int valor;

String entrada = JOptionPane.showInputDialog(null,

cadena1 + cadena2,

"Articulos y Accesorios de tienda",

JOptionPane.QUESTION_MESSAGE);

valor = Integer.parseInt(entrada);

//System.exit(0);

return valor;

}

}

20

Page 21: Mini proyecto

“Principios de Programación (JAVA) 2°5

Ejemplo de ejecución del programa

21

Page 22: Mini proyecto

“Principios de Programación (JAVA) 2°5

22

Page 23: Mini proyecto

“Principios de Programación (JAVA) 2°5

CONCLUSION:

Nuestro mini proyecto si cumple con nuestros objetivos que nos propusimos a un principio, también contiene las características obligatorias y opcionales que de igual manera nos plantearon a la hora de empezar a realizar el programa.

Al estar creando nuestro programa tuvimos muchos problemas y dudas por el no saber cómo se utilizaban los comandos adecuados para cada una de las partes del programa y por no saber que comandos podríamos utilizar para ir creando nuestro programa y principalmente las diferentes ventanas que se pueden utilizar eso fue lo que nos llevó más tiempo para poder entender.

Otro gran problema que tuvimos fue poder instalar netbeans en nuestras maquinas.

La solución a estos problemas fue preguntar a la profesora como resolver dichos problemas, si no le entendíamos como entonces intentábamos por nosotros mismos para poder llegar a una solución o preguntábamos a otras personas conocedoras del programa netbeans.

23

Page 24: Mini proyecto

“Principios de Programación (JAVA) 2°5

Bibliografía.

El programa que la profesora nos dio como referencia http://es.wikipedia.org/wiki/NetBeans http://netbeans.org/

24