En este grupo En todos

Foro de Java



ayuda con un ejercicio de java pls!!

Alberto
Zaragoza, España
Escrito por Alberto Conchán Labadía
el 30/05/2007

Por favor tengo problema con un ejercicio de java k me lo han pedido y no se muy bien como empezar. Les agradeceria muchisimo k me ayuden y expliken un poco como kedaria el codigo fuente.

 

El enunciado es: Crear una aplicacion para gestionar un videoclub.

El videoclub cuenta con varios tipos de producto

  - Todos los productos tienen:

    Referencia (Titulo, tipo(pelicula/videojuego), precio alquiler, plazo alkiler (dias), alquilado (si/no)

 

  - Pelicula

   Genero (accion, fantastica, drama, aventuras, puzzle, infantil), año, director, interpretes.

  - Videojuego

   Estilo (accion, deportes, aventuras, puzzle, infantil), plataforma (Xbox, playstation, wii)

 

Se mantiene un listado de clientes

  - Nº cliente, nombre, direccion, telefono, productos alquilados

Se guarda un listado de registros de alquiler

  - Cliente, producto, fecha alquiler, fecha devolucion, importe

 

Crear una aplicacion de consola con el siguiente menú:

  - Lista productos

  - Añadir producto

  - Ficha producto

  - Lista clientes

  - Añadir cliente

  - Ficha cliente

  - Alquiler producto

 

Por favor me es urgente de verdad contesten en cuanto puedan me harian gran favor de verdad. GRACIAS de antemano...

Pablo Brea
Pontevedra, España
Escrito por Pablo Brea
el 31/05/2007

Mira este ejemplo:


Import java. Io. *;
public class Biblioteca
{
static InputStreamReader isr = new InputStreamReader (System. In);
static BufferedReader flujoE = new BufferedReader(isr);
static PrintStream flujoS=System. Out;
static String dato;

public static int menu()
{
flujoS. Print("\n\n");
flujoS. Println(" 1. Buscar");
flujoS. Println(" 2. Añadir");
flujoS. Println(" 3. Eliminar");
flujoS. Println(" 4. Salir");
flujoS. Println();
flujoS. Print(" Opcion:");
String dato;
int op=0;
do{
try{
dato=flujoE. ReadLine();
op=Integer. ParseInt(dato);
}
catch(IOException ignorada){
}
}while(op < 1 || op > 4);
return op;
}
public static void main(String[]args)
{
ListaProductos listap = new ListaProductos();
int opcion=0, pos=-1;
String cadenabuscar=null;
int regis; String titulo; double precio; String genero; int paginas; int minutos; int capacidad;
boolean eliminado = false;
String dat;
Libros Lib= new Libros();
Videos Vid= new Videos();
CDS cd = new CDS();


do{
try{
opcion=menu();
switch(opcion)
{
case 1: //buscar
flujoS. Print("Título o parte del mismo a buscar:");
cadenabuscar = flujoE. ReadLine();
pos=listap. Buscar(cadenabuscar,0);
if (pos==-1)
if(listap. Longitud()! =0)
flujoS. Println("Busqueda fallida");
else
flujoS. Println("No hay ningun producto introducida en la lista");
else{
if(listap. ValorEn(pos)). ObtenerReg()) ==1)
{
Lib= (Libros)listap. ValorEn(pos);
flujoS. Println(".................... ");
flujoS. Println(Lib. ObtenerTitulo());
flujoS. Println(Lib. ObtenerPrecio());
flujoS. Println(Lib. ObtenerGenero());
flujoS. Println(Lib. ObtenerPaginas());
flujoS. Println(".................... ");
}
else{
if(listap. ValorEn(pos)). ObtenerReg()) ==2)
{
Vid= (Videos)listap. ValorEn(pos);
flujoS. Println(".................... ");
flujoS. Println(Vid. ObtenerTitulo());
flujoS. Println(Vid. ObtenerPrecio());
flujoS. Println(Vid. ObtenerGenero());
flujoS. Println(Vid. ObtenerMinutos());
flujoS. Println(".................... ");
}
else{
cd= (CDS)listap. ValorEn(pos);
flujoS. Println(".................... ");
flujoS. Println(cd. ObtenerTitulo());
flujoS. Println(cd. ObtenerPrecio());
flujoS. Println(cd. ObtenerGenero());
flujoS. Println(cd. ObtenerCapacidad());
flujoS. Println(".................... ");
}
}
}

break;

case 2: //Añadir
flujoS. Println("Tipo de Producto a añadir:");
flujoS. Println("1. Libro");
flujoS. Println("2. Vídeo");
flujoS. Println("3. CD");
dat=flujoE. ReadLine();
regis=Integer. ParseInt(dat);
if(regis==1)
{
flujoS. Print("Titulo: "); titulo=flujoE. ReadLine();
flujoS. Print("Precio: "); dato =flujoE. ReadLine(); precio = Double. ParseDouble(dato);
flujoS. Print("Género: "); genero=flujoE. ReadLine();
flujoS. Print("Páginas: "); dato=flujoE. ReadLine(); paginas = Integer. ParseInt(dato);
listap. Añadir(new Libros(regis,titulo,precio,genero,paginas));
}
else
{
if(regis==2)
{
flujoS. Print("Titulo: "); titulo=flujoE. ReadLine();
flujoS. Print("Precio: ");dato =flujoE. ReadLine(); precio = Double. ParseDouble(dato);
flujoS. Print("Género: "); genero=flujoE. ReadLine();
flujoS. Print("Minutos: "); dato=flujoE. ReadLine(); minutos = Integer. ParseInt(dato);
listap. Añadir(new Videos(regis,titulo,precio,genero,minutos));
}
else
{
if(regis==3)
{
flujoS. Print("Titulo: "); titulo=flujoE. ReadLine();
flujoS. Print("Precio: "); dato =flujoE. ReadLine(); precio = Double. ParseDouble(dato);
flujoS. Print("Género: "); genero=flujoE. ReadLine();
flujoS. Print("Capacidad: "); dato=flujoE. ReadLine(); capacidad = Integer. ParseInt(dato);
listap. Añadir(new CDS(regis,titulo,precio,genero,capacidad));
}
}
}
break;
case 3: //Eliminar
flujoS. Print("Título o parte del mismo que desees eliminar: ");
titulo = flujoE. ReadLine();
eliminado = listap. Eliminar(titulo);
if(eliminado)
flujoS. Println("Registro Eliminado");
else
if(listap. Longitud()! =0)
flujoS. Println("Producto no encontrado");
else
flujoS. Println("Lista de productos vacía");
break;
case 4: //salir
listap=null;
} //switch
}
catch(IOException ignorada){
}
}//do
while (opcion! =4);
}//main
}//class

-----------------------------------------------------------------------------------------

Public class CDS extends Producto
{
int capacidad;

// metodos

public CDS(){}
public CDS(int re, String tit, double pre, String gen, int cap)
{
super(re, tit, pre, gen);
capacidad = cap;
}

public void asignarCapacidad(int cap){ capacidad = cap;}
public int obtenerCapacidad(){return capacidad;}
}


-------------------------------------------------------------------------------------


Public class Libros extends Producto
{
int paginas;

// metodos

public Libros(){}
public Libros(int re, String tit, double pre, String gen, int pag)
{
super(re, tit, pre, gen);
paginas = pag;
}

public void asignarPaginas(int pag){ paginas = pag;}
public int obtenerPaginas(){return paginas;}
}


---------------------------------------------------------------------------------------


Public class ListaProductos
{
private Producto [] lista;
private int nElementos;

//metodos

public ListaProductos()
{
nElementos =0;
lista = new Producto [nElementos];
}
public void añadir (Producto obj)
{
unElementoMas(lista);
ponerValorEn(nElementos - 1, obj);
}
private void unElementoMas(Producto [] listaActual)
{
nElementos = listaActual. Length;
lista = new Producto [nElementos + 1];
//empiezo a copiar la matriz actual
for(int i =0; i < nElementos; i++)
lista[i] = listaActual[i];
nElementos++;
}
public void ponerValorEn(int i, Producto objeto)
{
if (i >= 0 && i < nElementos)
lista[i] = objeto;
else
System.out.println("Índice fuera de límites");
}
public boolean eliminar (String tit)
{
//String nom; por si acaso lo necesito para guardar el valor de abajo
for(int i =0; i < nElementos; i++)
if(lista[i]. ObtenerTitulo()). IndexOf(tit) > -1)
{
lista[i] = null;
unElementoMenos(lista);
return true;
}
return false;
}
public void unElementoMenos(Producto[] listaActual)
{
if (listaActual. Length ==0) return;
int k =0;
nElementos = listaActual. Length;
lista = new Producto[nElementos - 1];
//copiar la lista actual
for(int i =0; i < nElementos; i++)
if(listaActual[i]! =null)
lista[k++] = listaActual[i];
nElementos--;
}
public int buscar(String tit, int pos)
{
String nom;
if(tit == null) return -1;
if(pos<0) pos = 0;
for(int i = pos; i < nElementos; i++)
{
nom = lista[i]. ObtenerTitulo();
if(nom == null) continue;
if (nom. IndexOf(tit) > -1)
return i;
}
return -1;
}
public Producto valorEn(int i)
{
if(i>= 0 && i < nElementos)
return lista[i];
else
{
System.out.println("Indice fuera de límites");
return null;
}
}
public int longitud(){return nElementos;}
}


--------------------------------------------------------------------------------------


Public class Producto
{
int reg;
String titulo;
double precio;
String genero;

//metodos
public Producto(){
}
public Producto (int re, String tit, double pre, String gen)
{
reg = re; titulo = tit; precio = pre; genero = gen;
}

public void asignarReg(int re){
reg = re;}
public int obtenerReg(){
return reg;}
public void asignarTitulo(String tit){
titulo = tit;}
public String obtenerTitulo(){
return titulo;}
public void asignarPrecio(double pre){
precio = pre;}
public double obtenerPrecio(){
return precio;}
public void asignarGenero(String gen){
genero = gen;}
public String obtenerGenero(){
return genero;
}
}


----------------------------------------------------------------------------------


Public class Videos extends Producto
{
int minutos;

// metodos

public Videos(){}
public Videos(int re, String tit, double pre, String gen, int min)
{
super(re, tit, pre, gen);
minutos = min;
}

public void asignarMinutos(int min){ minutos = min;}
public int obtenerMinutos(){return minutos;}
}






Alberto Conchán Labadía
Zaragoza, España
Escrito por Alberto Conchán Labadía
el 31/05/2007
Oye pablo muxisimas gracias de verdad! Te debo una lo k sea solo dime jeje :P me has kitao un peso de encima. Doy x hexo k lo k ibas separando con guiones largos, corresponde cada codigo a un tipo clase. Bueno eso k muuuxas gracias!
Escrito por Herberth Macz
el 20/09/2017

Tengo problemas para resolver el ejerecicio en C++


El programa deberá llevar un menú que permita realizar lo siguiente:

1. - Ingreso de de clientes para obtener membresía del club.

2. - Crear y eliminar un video juego.

3. - Eliminar una membresía.

4. - Ingresar el alquiler de un juego a un miembro del club, colocando cuantos días lo alquilara, cada día de alquiler es de Q8. 00 por video juego.

5. - Ingresar la devolución de un video juego alquilado.

6. - Mostrar los video juegos alquilados y que miembros los tienen.

7. - Mostrar los video juegos que se pueden alquilar.


8. - Mostrar los video juegos alquilados por un cliente especifico y un historial de los que ya a alquilado.