Professional Documents
Culture Documents
Deber 6:
Menú Programa Parqueadero
Integrantes:
Milton Steven Palacios
Joceline Paulette Parra
NRC:
4187
Profesor:
Ing. Margarita Zambrano
Fecha de entrega:
23/01/2017
Sangolquí-Ecuador
Objetivos:
General
Realizar un menú de Parqueadero en el que el administrador pueda realizar una
serie de opciones como Registrar la entrada y salida del vehículo, además de
impresión y correcciones por medio de una aplicación en Java para fortalecer
conocimientos prácticos.
Específicos
Realizar un algoritmo que permita amor un menú de 5 opciones para que el
usuario escoja la opción que desea realizar.
Lograr que en la opción 1 el ingreso sea de un vehículo en uno.
Crear en la opción 2 la salida del vehículo simulando que el lugar queda
desocupado.
Modificar los datos de un usuario debido a un error a través de un menú en la
opción 3.
Eliminar los datos del sistema a través de un reset total en la opción 4.
Imprimir los datos de todo un dia en el parqueadero en la opción 5.
Imprimir la factura de algún cliente en la opción 6.
Organizar las clases para proceder a la asociación previamente estudiada en clase
y fortalecer conocimientos de aquello.
Marco teórico:
RELACIÓN DE OBJETOS: ASOCIACIÓN
La asociación se podría definir como el momento en que dos objetos se unen para trabajar
juntos y así, alcanzar una meta.
Un punto a tomar muy en cuenta es que ambos objetos son independientes entre sí,
veremos un poco más adelante qué implicación tiene esto. Para validar la asociación, la
frase “Usa un”, debe tener sentido:
La sintaxis será:
case valor1:
instrucciones;
break;
case valor2:
instrucciones;
break;
.
.
.
default:
sentencias;
break;
Los Setters & Getters son métodos de acceso lo que indica que son siempre declarados
públicos, y nos sirven para dos cosas:
Setters: Del Inglés Set, que significa establecer, pues nos sirve para asignar un valor
inicial a un atributo, pero de forma explícita, además el Setter nunca retorna nada
(Siempre es void), y solo nos permite dar acceso público a ciertos atributos que deseemos
el usuario pueda modificar.
Getters: Del Inglés Get, que significa obtener, pues nos sirve para obtener (recuperar o
acceder) el valor ya asignado a un atributo y utilizarlo para cierto método.
Diagrama UML del Proyecto en Java:
DESARROLLO
Método Menú de Corrección, en la clase Ticket:
Código de programa
while(p==1){
System.out.println("Que desea cambiar: \n Cedula=1 \n nombre=2 \n modelo=3 \n
placa =4 " );
Scanner leer=new Scanner(System.in);
p=leer.nextInt();
switch(p){
case 2:
System.out.println("Su nombre es: (Corrija sin apellido porque no lee espacio,
next Line no funciona Inge");
String nombre;
nombre=leer.next();
usuario.setNombre(nombre);
break;
case 3:
System.out.println("el modelo es:");
String modelo="";
modelo=leer.next();
vehiculo.setModelo(modelo);
break;
case 4:
System.out.println("la placa es:");
String placa="";
placa=leer.next();
vehiculo.setPlaca(placa);
break;
case 1:
System.out.println("Su cedula es:");
long t=0;
t=leer.nextLong();
usuario.setCI(t);
break;
}
System.out.println("necesita cambiar algun dato ingresado");
System.out.println("SI=1 \n NO=0");
p=leer.nextInt();
}
}
En el main:
Menú del programa
Código de programa
package deberparqueaderomenu;
import java.util.Scanner;
/**
*
* @author pc
*/
public class DeberParqueaderoMenu {
public static final int D=6;
public static final String L[]=new String[D];
Ticket ticket=new Ticket();
public static void asigno_objetos(Ticket A[]){
for(int i=0;i<D;i++){
A[i]=new Ticket();
L[i]="Desocupado";
}
}
public static void asigno_cadaV(Ticket A[],int a){
A[a]=new Ticket();
}
public static void ingreso_objetos(Ticket A[],int a){
A[a].ingresar();
int codig=0;
codig++;
A[a].setCodigo(codig);
L[a]="Ocupado";
}
public static void ingreso_salida(Ticket A[],int i){
A[i].IngresarSalida();
L[i]="Desocupado";
}
public static void imprimo_objetos(Ticket A[]){
for(int i=0;i<D;i++){
while(L[corr]=="Desocupado"){
System.out.println("Lugar vacio, ingrese lugar correcto (0-5)") ;
do{
System.out.println("Ingrese el lugar a corregir 0-5");
corr=leer.nextInt();
}while(corr>5||corr<0);
}
Corregir(ticket,corr);
break;
case 5:
imprimo_objetos(ticket);
break;
}
System.out.println("DESEA REALIZAR OTRA ACCION-- PRESIONE 1");
repetir=leer.nextInt();
}while(repetir==1);
}
}
Conclusiones:
1. Es de gran importancia generar métodos estaticos en el main ya que se utilizan
varias veces en el menú.
2. Los getters y setters son indispensables y deben usarse de manera correcta.
3. Ser muy específico en lo que se le pide que ingrese el usuario para implementar
el menú ya que esto facilitara la creación del código, por ejemplo si se necesita
modificar algo pedir el número de cedula del usuario para buscar, etc.
4. Es importante primero realizar el diagrama UML para tener una guía de todo lo
que queremos realizar y la cardinalidad
5. existente entre las clases involucradas en nuestro programa/aplicación.
6. Existen relaciones entre objetos que facilitan el uso del código del programa, por
ejemplo la asociación juega un papel importante porque permite trabajar con
clases dentro de otra clase que abarque a muchas.
Web grafía:
http://www.cristalab.com/tutoriales/programacion-orientada-a-objetos-
asociacion-vs-composicion-c89337l/
http://www.aprenderaprogramar.com/index.php?option=com_content&view=art
icle&id=483:switch-en-java-condicional-de-seleccion-diagrama-de-flujo-y-
ejemplo-de-aplicacion-ejercicio-cu00637b&catid=68:curso-aprender-
programacion-java-desde-cero&Itemid=188
http://gl-epn-programacion-ii.blogspot.com/2010/03/setters-getters.html
http://elvex.ugr.es/decsai/java/pdf/3C-Relaciones.pdf