Adsence

lunes, 13 de diciembre de 2010

Biblioteca

Leave a Comment
[caption id="attachment_554" align="aligncenter" width="691"]Biblioteca java Biblioteca java[/caption]

Uso de la herencia y poliformismo



[java]

import java.util.LinkedList;
import java.io.*;

/** Clase Leer util para recibir valores mediante el teclado
** Proporcionada por -Scorpion Black-
** http://vscorpionblack.blogspot.com
*/
import java.io.*;

class Leer
{
// cadenas
public static String dato()
{
String sdato = "";
try
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);

sdato = flujoE.readLine();
}
catch(IOException e)
{
System.err.println("Error: " + e.getMessage());
}
return sdato;
}

// enteros cortos
public static short datoShort()
{
try
{
return Short.parseShort(dato());
}
catch(NumberFormatException e)
{
return Short.MIN_VALUE;
}
}

public static byte datoByte()
{
try
{
return Byte.parseByte(dato());
}
catch(NumberFormatException e)
{
return Byte.MIN_VALUE;
}
}

// enteros
public static int datoInt()
{
try
{
return Integer.parseInt(dato());
}
catch(NumberFormatException e)
{
return Integer.MIN_VALUE;
}
}

// enteros largos
public static long datoLong()
{
try
{
return Long.parseLong(dato());
}
catch(NumberFormatException e)
{
return Long.MIN_VALUE;
}
}

//flotantes
public static float datoFloat()
{
try
{
Float f = new Float(dato());
return f.floatValue();
}
catch(NumberFormatException e)
{
return Float.NaN;
}
}

//doble flotante o flotante largo
public static double datoDouble()
{
try
{
Double d = new Double(dato());
return d.doubleValue();
}
catch(NumberFormatException e)
{
return Double.NaN;
}
}
}
class documento
{
long doc;
int DNI,estado,recojer,devolver;

documento()
{

}
public void consulta()
{
datos();
}
public void prestamo()
{
int salir=0;
datos();
do{
System.out.print("Desea RESERVAR(1) el documento o se lo va a LLEVAR(2) de una vez: ");
estado=Leer.datoInt();
if (estado==2)
{
recojer=0;
devolver=10;
salir=0;
}
else if (estado==1)
{
System.out.print("Dentro de cuantos dias lo recojeras: ");
recojer=Leer.datoInt();
devolver=recojer+10;
salir=0;
}else
{
System.out.println("DIGITASTE MAL RECUERDA ES TODO EN MAYUSCULAS Y SIN TILDES");
salir=1;
}
}while(salir==1);

}
public void datos()
{
System.out.println("--------------------------------------------");
System.out.print("Por favor digitar el documento del usuario(max 5 digitos): ");
doc=Leer.datoLong();
System.out.print("Digite el DNI del usuario: ");
DNI=Leer.datoInt();
}
public void info()
{
System.out.println("Documento: "+doc);
System.out.println("DNI: "+DNI);
}
}
class libro extends documento
{
String titulo,autor,editorial;
int publicacion;
libro()
{
}
public void datos2()
{
super.consulta();
System.out.println("--------------------------------------------");
System.out.print("Titulo del Libro:");
titulo=Leer.dato();
System.out.print("Autor: ");
autor=Leer.dato();
System.out.print("Editoria: ");
editorial=Leer.dato();
System.out.print("Ano de publicacion: ");
publicacion=Leer.datoInt();
}
public void datos6()
{

super.prestamo();
System.out.println("--------------------------------------------");
System.out.print("Titulo del Libro:");
titulo=Leer.dato();
System.out.print("Autor: ");
autor=Leer.dato();
System.out.print("Editoria: ");
editorial=Leer.dato();
System.out.print("Ano de publicacion: ");
publicacion=Leer.datoInt();

}
public void info2()
{
super.info();
System.out.println("Titulo: "+titulo);
System.out.println("Autor: "+autor);
System.out.println("Editorial: "+editorial);
System.out.println("Ano publicacion: "+publicacion);
}

}
class cd extends libro
{
String formato,licencia;
cd()
{
}
public void datos4()
{
super.datos2();
System.out.println("--------------------------------------------");
System.out.print("Formato del CD: ");
formato=Leer.dato();
System.out.print("Licencia: ");
licencia=Leer.dato();
}
public void datos8()
{

super.datos6();
System.out.println("--------------------------------------------");
System.out.print("Formato del CD: ");
formato=Leer.dato();
System.out.print("Licencia: ");
licencia=Leer.dato();
}
public void info4()
{
super.info2();
System.out.println("Formato: "+formato);
System.out.println("Licencia: "+licencia);
}
}
class revista extends libro
{
int volumen,numero,mes;
revista()
{

}
public void datos3()
{

super.datos2();
System.out.println("--------------------------------------------");
System.out.print("Volumen: ");
volumen=Leer.datoInt();
System.out.print("Numero: ");
numero=Leer.datoInt();
System.out.print("Mes: ");
mes=Leer.datoInt();
}
public void datos7()
{

super.datos6();
System.out.println("--------------------------------------------");
System.out.print("Volumen: ");
volumen=Leer.datoInt();
System.out.print("Numero: ");
numero=Leer.datoInt();
System.out.print("Mes: ");
mes=Leer.datoInt();
}
public void info3()
{
super.info2();
System.out.println("Volumen: "+volumen);
System.out.println("Numero: "+volumen);
System.out.println("Mes: "+mes);
}

}
class ficha extends documento{
ficha()
{

}
public void infor()
{
super.info();

}

}
public class biblioteca
{

static int cantl,cantr,cantc,cantm,cl=0,cr=0,cc=0,cm=0;
static LinkedList lib=new LinkedList();
static LinkedList rev=new LinkedList();
static LinkedList CD=new LinkedList();
public static void inicio()
{

for (int i=0;i< 100;i++)
{
lib.add(new libro());
rev.add(new revista());
CD.add(new cd());
}
System.out.println(" BIENVENIDOS A LA BIBLIOTECA \n");
System.out.println("..............................ANTES DE CONTINUAR...............................\n");
System.out.println(" DIGITE LA CANTIDAD DE DOCUMENTOS QUE HAY \n");
System.out.print("\n1) Cantidad de Libros: ");cantl=Leer.datoInt();
System.out.print("2) Cantidad de Revistas: ");cantr=Leer.datoInt();
System.out.print("3) Cantidad de CD: ");cantc=Leer.datoInt();

int salir=1;
do{
System.out.println("*******************************************************************************\n");
System.out.println(".....................................MENU......................................\n");
System.out.println(" Que desea hacer? \n");
System.out.println("1) Prestar para consultar en la biblioteca ");
System.out.println("2) Prestamo para sacar de la biblioteca ");
System.out.println("3) Informacion de consultas y salidas ");
System.out.print("..................................Cual escoje?..................................");
int eleccion=Leer.datoInt();
switch (eleccion)
{
case 1:
consul();
break;
case 2:
prest();
break;
case 3:
basedatos();
break;
}
System.out.print("Desea realizar otra Operacion)(si=1/no=0): ");
salir=Leer.datoInt();
}while( salir==1);

}
public static void consul()
{
System.out.println("\n\nQue deseas pedir?:");
System.out.println("1) Libros clasicos");
System.out.println("2) Revistas en Papel");
System.out.println("3) Documentos en CD");
System.out.print("..................................Cual escoje?..................................");
int r=Leer.datoInt();
tipobjeto(r);
}
public static void prest()
{
System.out.println("\n\nQue tipo de documento desea pedir en prestamo:");
System.out.println("5) Libros clasicos");
System.out.println("6) Revistas en Papel");
System.out.println("7) Documentos en CD");
System.out.print("..................................Cual escoje?..................................");
int r=Leer.datoInt();
tipobjeto(r);
}
public static void tipobjeto(int s)
{
switch (s)
{
case 1:
if (cl< cantl)
{
libro l=new libro();
l.datos2();
lib.add(l);
cl++;
}else{
System.out.println("LO SENTIMOS NO HAY MAS LIBROS\n");
}
break;
case 2:
if (cr< cantr){
revista r=new revista();
r.datos3();
rev.add(r);
cr++;
}
else{
System.out.println("LO SENTIMOS NO HAY MAS REVISTAS\n");
}
break;
case 3:
if (cc< cantc)
{
cd cidi=new cd();
cidi.datos4();
CD.add(cidi);
cc++;
}
else{
System.out.println("LO SENTIMOS NO HAY MAS CD\n");
}
break;
case 5:
if (cl< cantl)
{
libro l=new libro();
l.datos6();
lib.add(l);
cl++;
}else{
System.out.println("LO SENTIMOS NO HAY MAS LIBROS\n");
}
break;
case 6:
if (cr< cantr)
{
revista r=new revista();
r.datos7();
rev.add(r);
cr++;
}else{
System.out.println("LO SENTIMOS NO HAY MAS LIBROS\n");
}
break;
case 7:
if (cc< cantc)
{
cd cidi=new cd();
cidi.datos8();
CD.add(cidi);
cc++;
}else{
System.out.println("LO SENTIMOS NO HAY MAS LIBROS\n");
}
break;
}

}
public static void basedatos()
{
int parametro,auxl=101,auxr=101,auxc=101,auxm=101,i;
String parametros;
System.out.println("*******************************************************************************\n");
System.out.println(".....................................MENU......................................\n");
System.out.println(" Bajo que criterios desea buscar? \n");
System.out.println("1) Documento de Identidad ");
System.out.println("2) DNI ");
System.out.println("3) Titulo del Libro ");
System.out.println("4) Autor del Libro ");
System.out.println("5) Editorial del Libro ");
System.out.println("6) Volumen de la Revista ");
System.out.println("7) Numero de la Revista ");
System.out.println("8) Formato del CD ");
System.out.print("..................................Cual escoje?..................................");
int op=Leer.datoInt();
switch (op)
{
case 1:
System.out.print("Por favor digite el Documento: ");
parametro=Leer.datoInt();
for (i=0;i< 100;i++)
{
libro l=(libro)lib.get(i);
revista r=(revista)rev.get(i);
cd c=(cd)CD.get(i);
if(l.doc==parametro)
{
auxl=i;
}else if (r.doc==parametro ){
auxr=i;
}else if (c.doc==parametro ){
auxc=i;
}
}
break;
case 2:
System.out.print("Por favor digite el DNI: ");
parametro=Leer.datoInt();
for (i=0;i< 100;i++)
{
libro l=(libro)lib.get(i);
revista r=(revista)rev.get(i);
cd c=(cd)CD.get(i);
if(l.DNI==parametro)
{
auxl=i;
}else if (r.DNI==parametro ){
auxr=i;
}else if (c.DNI==parametro ){
auxc=i;
}
}
break;
case 3:
System.out.print("Por favor digite el Titulo: ");
parametros=Leer.dato();
for (i=0;i< 100;i++)
{
libro l=(libro)lib.get(i);
revista r=(revista)rev.get(i);
cd c=(cd)CD.get(i);
if(l.titulo==parametros)
{
auxl=i;
}else if (r.titulo==parametros){
auxr=i;
}else if (c.titulo==parametros){
auxc=i;
}
}
break;
case 4:
System.out.print("Por favor digite el Autor: ");
parametros=Leer.dato();
for (i=0;i< 100;i++)
{
libro l=(libro)lib.get(i);
revista r=(revista)rev.get(i);
cd c=(cd)CD.get(i);
if(l.autor==parametros)
{
auxl=i;
}else if (r.autor==parametros){
auxr=i;
}else if (c.autor==parametros){
auxc=i;
}
}
break;
case 5:
System.out.print("Por favor digite el Editorial: ");
parametros=Leer.dato();
for (i=0;i< 100;i++)
{
libro l=(libro)lib.get(i);
revista r=(revista)rev.get(i);
cd c=(cd)CD.get(i);
if(l.editorial==parametros)
{
auxl=i;
}else if (r.editorial==parametros){
auxr=i;
}else if (c.editorial==parametros){
auxc=i;
}
}
break;
case 6:
System.out.print("Por favor digite el Volumen: ");
parametro=Leer.datoInt();
for (i=0;i< 100;i++)
{
revista r=(revista)rev.get(i);
if(r.volumen==parametro)
{
auxr=i;
}
}
break;
case 7:
System.out.print("Por favor digite el Numero: ");
parametro=Leer.datoInt();
for (i=0;i< 100;i++)
{
revista r=(revista)rev.get(i);
if(r.numero==parametro)
{
auxr=i;
}
}
break;
case 8:
System.out.print("Por favor digite el Formato: ");
parametros=Leer.dato();
for (i=0;i< =100;i++)
{
cd c=(cd)CD.get(i);
if(c.formato==parametros)
{
auxc=i;
}
}
break;
}
if (auxl!=101){
libro l=(libro)lib.get(auxl);
l.info2();
}else if (auxr!=101){
revista r=(revista)rev.get(auxr);
r.info3();
}else if (auxc!=101){
cd c=(cd)CD.get(auxc);
c.info4();
}else{
System.out.println("LO SENTIMOS EN NUESTRA BAS DE DATOS NO HAY NADIE CON ESA INFORMACION");
}
}
public static void main(String args[])
{
inicio();
}
}

//esto es un archivo completamente aparte, guardenlo como documento.java

[/java]

0 comentarios :