Vous êtes sur la page 1sur 3

Universidad Diego Portales Curso: Computación I

Facultad de Ingenierı́a Profesor: Rodrigo Cruzat


Escuela de Informática Ayudante: Jaime Guzmán

1 Ejercicio tipo Solemne


1. En una biblioteca se requiere un sistema para controlar el préstamo y devolución de libros. El
proceso actual consiste en anotar en una planilla los nombre del libro y el rut de la persona que
solicita el libro. Una vez que la persona lo devuelve se marca en esta planilla que ha sido devuelto.
Se ha propuesto una solución en Java para afrontar este problema, y ya se ha construido lo siguiente:

public class biblio{

//nombre de libros que se prestan


private String NombreLibro[];
//rut del solicitante de los libros sin guion ni DV
private int RutLector[];
//estado de los libros True=>prestado
private boolean Estado[];
//cant. de rut’s en RutLector[]
private int NumeroPrestamos;
//numero max. de prestamos que se pueden hacer.
private int MaximoPrestamos;

public biblio( int maxPrestamos ){

NombreLibro = new String [maxPrestamos];


RutLector = new int [maxPrestamos];
Estado = new boolean[maxPrestamos];
MaximoPrestamos = maxPrestamos;
NumeroPrestamos = 0;

public void PrestarLibro(String nombreLibro, int rutLector){

if( NumeroPrestamos == MaximoPrestamos){

System.out.println("Lo siento no se puede ingresa el prestamo");


}else{
NombreLibro [ NumeroPrestamos ]= nombreLibro;
RutLector[NumeroPrestamos]= rutLector;
Estado[ NumeroPrestamos ]= true;
NumeroPrestamos++;

}
return;

1
}

Programe los siguientes métodos:


(a) a)DevolverLibro(String nombreLibro,int rutLector), el cual registra la devolución del libro por
parte del lector. Note ue para que el lector pueda devolver el libro, ese libro debe haber sido
solicitado por él, y no haberlo devuelto con anterioridad.
(b) b)ListarPrestamos(), para imprimir los nombres de los libros que continuan prestados y el de
quienes los tienen.
(c) c)Resumen(), que retorna el número total de libros devueltos.

Solución

• a)

public void DevolverLibro(String nombreLibro, int rutLector){

int index;
boolean encontrado = false;

for(index =0; index<NumeroPrestamos; index++){


if(nombreLibro.equals(NombreLibro[index])
&& rutLector == RutLector[index] && Estado[index] == true ){
Estado[index]= false;
encontrado=true;
}
}

if(!encontrado){
System.out.println("Lo siento, el libro no ha sido prestado al lector");
}
}

• b)

public void ListarPrestamos(){

int index;
for(index=0; index<NumeroPrestamos;index++){
if(Estado[index]){
System.out.println("Libro "+NombreLibro[index]+ " Lector: "+RutLector[index]);
}

2
}

• c)

public int Resumen()


{
int index, devueltos =0;

for(index =0; index < NumeroPrestamos; index++){


if(!Estado[index]){
devueltos++;}
}
return devueltos;

Jaime Guzmán
jguzman.udp@gmail.com
This Document was write in LATEX
weblogs.inf.udp.cl/jaimeguzman ó jaime.ublog.cl

Vous aimerez peut-être aussi