lunes, 17 de marzo de 2014

Agregación Composición ejer 1

Hola después de mucho tiempo estoy volviendo a publicar algo decente, esta ves publicare las soluciones en diferentes lenguajes estos serán: Java, c#, c++,QT puede que php también :D
Espesemos :
Código :
Para Java
Biblioteca.java

import java.util.Scanner;

public class Biblioteca {
 public String Nombre;
 public String Direccion;
 public int nroLibros;
 public Libro[] libro;

 public Biblioteca(String nombre, String direccion, int nrolib) {
  Nombre = nombre;
  Direccion = direccion;
  nroLibros = nrolib;
  libro = new Libro[30];
  for (int i = 0; i < nroLibros; i++) {
   libro[i] = new Libro("Aventuras de Gregor Samsa ", "Samsa", 100);
  }
 }

 public void solA(String autor) {
  System.out.println("Busqueda de libro de autor = " + autor);
  for (int i = 0; i < nroLibros; i++) {
   if (libro[i].autor.equals(autor)) {
    System.out.println("Libro " + libro[i].nombre);
   }
  }
 }

 public void solB(Biblioteca a, Biblioteca b) {
  for (int i = 0; i < a.nroLibros; i++) {
   for (int j = 0; j < b.nroLibros; j++) {
    if (a.libro[i].nombre.equals(b.libro[j].nombre)) {
     System.out.println("EL libro " + a.libro[i].nombre
       + " esta en las 2 bibliotecas");
     break; // como ya sabemos q esta saltamos la busqueda
    }
   }
  }
 }

 public void solC(int x) {
  System.out.println("Eliminando libros de nro pag = " + x);
  System.out.println("Antes de eliminar " + nroLibros);
  int nn = 0;
  for (int i = 0; i < nroLibros; i++) {
   if (libro[i].npag == x) {
    // inicio eliminacion
    // recorrer todos los elementos
    for (int j = i; j < nroLibros - 1; j++) {
     libro[j] = libro[j + 1];
    }
    nn++;
    // nroLibros--;
   }
  }
  nroLibros -= nn;
  System.out.println("Al terminar la eliminacion quedan = " + nroLibros);

 }

 public void solD(int k) {
  for (int i = 0; i < k; i++) {
   createbook();
  }
 }

 public void createbook() {
  Scanner sc = new Scanner(System.in);
  System.out.println("Datos libro");
  System.out.print("Titulo : ");
  String nlib = sc.nextLine();
  System.out.print("Autor :");
  String alib = sc.nextLine();
  System.out.print("Nro pag :");
  int plib = sc.nextInt();
  libro[nroLibros] = new Libro(nlib, alib, plib);
  nroLibros++;
 }
}

Libbro.java
public class Libro {
 public String nombre;
 public String autor;
 public int npag;

 public Libro(String n, String a, int np) {
  nombre = n;
  autor = a;
  npag = np;
 }
}

Main.java el famoso principal
public class Main {
 public static void main(String[] args) {
  Biblioteca a = new Biblioteca("Biblioteca CF", "Rusia", 5);
  System.out.println("Mostrando libros de la biblioteca :" + a.Nombre);
  for (int i = 0; i < a.nroLibros; i++) {
   System.out.println("  Nombre libro = " + a.libro[i].nombre);
   System.out.println("  Autor        = " + a.libro[i].autor);
   System.out.println("  Num paginas  = " + a.libro[i].npag);
   System.out.println("----------------------------");
  }
  // sol A
  a.solA("Samsa");
  System.out.println("----------------------------");
  // sol B
  Biblioteca b = new Biblioteca("Biblioteca TC", "EEUU", 5);
  b.solB(a, b);
  System.out.println("----------------------------");
  // sol C
  a.solC(100);
  for (int i = 0; i < a.nroLibros; i++) {
   System.out.println("  Nombre libro = " + a.libro[i].nombre);
   System.out.println("  Autor        = " + a.libro[i].autor);
   System.out.println("  Num paginas  = " + a.libro[i].npag);
   System.out.println("----------------------------");
  }
  System.out.println("----------------------------");
  a.solD(5);
  for (int i = 0; i < a.nroLibros; i++) {
   System.out.println("  Nombre libro = " + a.libro[i].nombre);
   System.out.println("  Autor        = " + a.libro[i].autor);
   System.out.println("  Num paginas  = " + a.libro[i].npag);
   System.out.println("----------------------------");
  }
 }

}

Descargar

No hay comentarios:

Publicar un comentario