Está en la página 1de 7

Se quiere crear una aplicacin mediante programacin orientada a objetos en java que gestione la

actividad del INEM. La actividad de dicho instituto consiste en que un empresario pueda formar un
grupo de trabajadores GT
Disear e implementar las clases necesarias para gestionar dicha aplicacin, teniendo en cuenta que
el instituto tiene capacidad para un mximo de 100 trabajadores y, sabiendo que cada trabajador
tiene un nombre y una profesin y, que un grupo de trabajadores tiene un mximo de 10
trabajadores.
El INEM dispondr a parte del constructor, el mtodo pblico gestion (), que presenta el siguiente
men en el cual se podrn realizar las siguientes acciones:
==========MENU INEM =======
Introducir una opcion:
1. Crear grupo de trabajadores // crea un GT
2. Aadir un trabajador al instituto // aade un trabajador al final de la lista
3. Buscar un trabajador en el instituto // busca un trabajador por nombre o profesin
4. Quitar un trabajador del instituto //elimina un trabajador y adelanta todos las que le
siguen una posicin
5. Listar trabajadores disponibles. // muestra todos los trabajadores del instituto
6. Salir de la aplicacin
Pulsa una opcion:
=====================
La opcin 1 del men anterior del instituto permite la creacin de un grupo de trabajadores GT ,
que presenta a su vez un nuevo men de configuracin y creacin del grupo de trabajadores GT.
Sobre el cual se podrn realizar las siguientes acciones:
======= Creacin de un GT =======
Introducir una opcin:
1: Listar los trabajadores del instituto
2: Aadir un trabajador al grupo de trabajadores GT
3: Listar trabajadores del GT
4: Quitar un trabajador del GT
5: Intercambiar de orden trabajadores dentro del GT
6: Listar el grupo de trabajadores GT y salir
Pulsa una opcion:
=====================
1. Listar trabajadores del instituto : Presenta por pantalla los trabajadores del instituto
precedidos con el nmero de orden
2. Aadir un trabajador al GT : Pide el nmero del trabajador que se quiere aadir al final
del GT, trabajador que ya est creando y perteneciente a la lista de trabajadores.
3.

Listar trabajadores que componen el GT: Muestra los trabajadores que han sido incluidos en
el GT hasta ese momento.

4.

Quitar un trabajador del GT: Pide la posicin del trabajador que se quiere quitar del GT y
se elimina en el GT.

5. Intercambiar de orden dos trabajadores: Pide la posicin de los dos trabajadores que se
tienen que cambiar de posicin en el GT y se cambian en el GT.
6.

Listar el GT y salir: Imprime un mensaje que dice: Su grupo de trabajo es:, lista de los
trabajadores que han sido incluidos en el GT y finaliza la ejecucin del mtodo

package inemAgregacion;
import java.util.Scanner;
class Trabajador {
String nombre, profesion;
public Trabajador () { profesion=""; nombre="";}
public Trabajador (String t, String a){ profesion=t; nombre=a;}
public void ponerprofesion (String t) { profesion=t;}
public void escribir (int a) {
System.out.println(a + " nombre "+nombre+" profesion " +profesion);}
void grabarDatos () { Scanner s= new Scanner(System.in);
System.out.print("Dame profesion "); profesion=s.nextLine();
System.out.print ("Dame nombre "); nombre=s.nextLine();
}
}
package inemAgregacion;
import java.util.Scanner;
class GT{
private Trabajador[] trabajadores=new Trabajador[10];
int ntrabajadores;
public GT () { ntrabajadores=0;
for (int i=0;i<10;i++) trabajadores[i]=null; }
void aniadirTrabajador(Trabajador p){ trabajadores[ntrabajadores++]=p; }
void eliminarTrabajador(){ int pos;
System.out.print("Posicion del Trbajador a eliminar en el GT: ");
Scanner s= new Scanner(System.in); pos=s.nextInt();
If (pos<nTrabadores){ for (int i=pos;i<ntrabajadores;i++)
trabajadores[i]=trabajadores [i+1];
trabajadores[ntrabajadores+1]=null;
ntrabajadores--;
}
else {trabajadores[ntrabajadores]=null; ntrabajadores--;}
}
void listarTrabajadores(){
System.out.println("LOS TRABAJADORES DEL GT SON:");
System.out.println("*******************");
for (int i=0; i<ntrabajadores;i++) trabajadores[i].escribir(i);
}
void cambiarOrden(){
int pos1,pos2;
System.out.println ("Posicion del primer Trabajador a cambiar: ");
Scanner s= new Scanner(System.in); pos1=s.nextInt();
System.out.println("Posicion del segundo Trabajador a cambiar: ");
pos2=s.nextInt();
Trabajador aux=(Trabajador)trabajadores[pos1];
trabajadores[pos1]=trabajadores[pos2];
trabajadores[pos2]=aux;
}
void grabar(){
System.out.println("SU GRUPO ES EL SIGUIENTE:");
System.out.println("****************************");
this.listarTrabajadores();
}
}

package inemAgregacion;
import java.util.Scanner;
public class Trabajadores {
int ntrabajadores;
Trabajador [] trabajadoresInem=new Trabajador[100];
GT g;
public Trabajadores(){ ntrabajadores=0;
for (int i=0; i<100; i++) trabajadoresInem[i]= new Trabajador();
g=null;
}
void ejecutar(){ int opc=0;
do{
System.out.println("=====================");
System.out.println("Introducir una opcion:");
System.out.println( "1: Crear GT");
System.out.println( "2: Aadir un trabajador a los trabajadores");
System.out.println( "3: Borrar un trabajador a los trabajadores");
System.out.println( "4: Listar trabajadores de la compaia. ");
System.out.println( "5: Salir del grupo trabajadores");
System.out.println("=====================");
System.out.print("Pulsa una opcion: ");
Scanner s= new Scanner(System.in);
opc=s.nextInt();
switch(opc){
case 1: this.grabar (); break;
case 2: this.aniadirTrabajador(); break;
case 3: this.borrarTrabajador(); break;
case 4: this.listarTrabajadores(); break;
case 5: this.salirAplicacion(); break;
default: System.out.print("Elige una opcion valida"); break;
}
}while(opc!=5);
}
void aniadirTrabajador(){
trabajadoresInem[ntrabajadores]=new Trabajador();
trabajadoresInem [ntrabajadores].grabarDatos();
ntrabajadores++; }
void borrarTrabajador(){
boolean encontrado=false;int pos=0;
System.out.print("dame nombre del trabajador a eliminar");
Scanner s= new Scanner(System.in);
String tit=s.nextLine();
while (!encontrado){
if (trabajadoresInem[pos].nombre.equals(tit)) encontrado=true;
else pos++;}
for (int i=pos;i<ntrabajadores-1;i++)
trabajadoresInem[i]=trabajadoresInem[i+1];
trabajadoresInem[ntrabajadores+1]=null; ntrabajadores--;
}
void salirAplicacion(){
}

System.out.println(" FIN DE LA APLICACION");

void listarTrabajadores(){
System.out.println("Listado de los trabajadores de la compaia");
System.out.println("*********************************");
if (ntrabajadores>=0)
for (int i=0; i<ntrabajadores; i++) trabajadoresInem[i].escribir(i);
else System.out.println("no existen trabajadores");
}
void aniadirTrabajador(GT g){ int pos;
System.out.print("Numero del trabajador que quieres aadir: ");
Scanner s= new Scanner(System.in); pos=s.nextInt();
g.aniadirTrabajador(trabajadoresInem[pos]);
}
void eliminarTrabajador(GT g){ g.eliminarTrabajador(); }
void listarTrabajadores(GT g){ g.listarTrabajadores(); }
void intercambiarTrabajadores(GT g){ g.cambiarOrden(); }
void grabar (){
int opc; g=new GT();
do{
System.out.println("
=======================");
System.out.println(" Grabacin de un GT ");
System.out.println(" Introducir una opcion: ");
System.out.println(" 1: Listar trabajadores de la compaia. ");
System.out.println(" 2: Aadir un trabajador al GT");
System.out.println(" 3: Listar trabajadores del GT");
System.out.println(" 4: Eliminar un trabajador del GT");
System.out.println(" 5: Intercambiar de orden dos trabajadores ");
System.out.println(" 6: Grabar el GT y sale ");
System.out.println(" =====================");
System.out.print("Pulsa una opcion: ");
Scanner s= new Scanner(System.in); opc=s.nextInt();
switch(opc){
case 1: this.listarTrabajadores(); break;
case 2: int pos;
System.out.print("Numero del trabajador que quieres aadir: ");
Scanner s1= new Scanner(System.in); pos=s1.nextInt();
g.aniadirTrabajador(trabajadoresInem[pos]); break;
case 3: g.listarTrabajadores(); break;
case 4: g.eliminarTrabajador(); break;
case 5: g.cambiarOrden(); break;
case 6: g.grabar();System.out.println("salir"); break;
default: System.out.print("Elige una opcion valida");break;
}
System.out.println();
}while (opc!=6);
}
}
package inemAgregacion;
public class InemAgregacion {
public static void main(String[] args) {
Trabajadores grupo=new Trabajadores();
grupo.ejecutar();
}
}

package inem;
import java.util.Scanner;
class Trabajador {
String nombre, profesion;
public Trabajador () { profesion=""; nombre="";}
public Trabajador (String t, String a){ profesion=t; nombre=a;}
public void ponerprofesion (String t) { profesion=t;}
public void escribir (int a) { System.out.println(a + " nombre "+nombre+"
profesion " +profesion);}
void grabarDatos () { Scanner s= new Scanner(System.in);
System.out.print("Dame profesion "); profesion=s.nextLine();
System.out.print ("Dame nombre "); nombre=s.nextLine();
}
}
package inem;
import java.util.Scanner;
class GT{
private Trabajador[] trabajadores=new Trabajador[10]; int ntrabajadores;
public GT () { ntrabajadores=0; for (int i=0;i<10;i++) trabajadores[i]=null;
}
void aniadirTrabajador(Trabajador p){ trabajadores[ntrabajadores++]=p; }
void eliminarTrabajador(){ int pos;
System.out.print("Posicion del Trbajador a eliminar en el GT: ");
Scanner s= new Scanner(System.in); pos=s.nextInt();
for (int i=pos;i<ntrabajadores;i++) trabajadores[i]=trabajadores [i-1];
trabajadores[ntrabajadores-1]=null;
ntrabajadores--;
}
void listarTrabajadores(){
System.out.println("LOS TRABAJADORES DEL GT SON:");
System.out.println("*******************");
for (int i=0; i<ntrabajadores;i++) trabajadores[i].escribir(i);
}
void cambiarOrden(){
int pos1,pos2;
System.out.println ("Posicion del primer Trabajador a cambiar: ");
Scanner s= new Scanner(System.in); pos1=s.nextInt();
System.out.println("Posicion del segundo Trabajador a cambiar: ");
pos2=s.nextInt();
Trabajador aux=(Trabajador)trabajadores[pos1];
trabajadores[pos1]=trabajadores[pos2];
trabajadores[pos2]=aux;
}
void grabar(){

System.out.println("SU GRUPO ES EL SIGUIENTE:");


System.out.println("****************************");
this.listarTrabajadores();
}
}

package inem;
import java.util.Scanner;
public class Trabajadores {
int ntrabajadores;
Trabajador [] trabajadoresInem=new Trabajador[100];
public Trabajadores(){ ntrabajadores=0;
for (int i=0; i<100; i++) trabajadoresInem[i]= new Trabajador();
}
void ejecutar(){ int opc=0;
GT g=new GT();
do{
System.out.println("=====================");
System.out.println("Introducir una opcion:");
System.out.println( "1: Crear GT");
System.out.println( "2: Aadir un trabajador a los trabajadores");
System.out.println( "3: Borrar un trabajador a los trabajadores");
System.out.println( "4: Listar trabajadores de la compaia. ");
System.out.println( "5: Salir del grupo trabajadores");
System.out.println("=====================");
System.out.print("Pulsa una opcion: ");
Scanner s= new Scanner(System.in);
opc=s.nextInt();
switch(opc){
case 1: this.grabar (g); break;
case 2: this.aniadirTrabajador(); break;
case 3: this.borrarTrabajador(); break;
case 4: this.listarTrabajadores(); break;
case 5: this.salirAplicacion(); break;
default: System.out.print("Elige una opcion valida");break;
}
}while(opc!=5);
}
void aniadirTrabajador(){
trabajadoresInem[ntrabajadores]=new Trabajador();
trabajadoresInem [ntrabajadores].grabarDatos();
ntrabajadores++; }
void borrarTrabajador(){
boolean encontrado=false;int pos=0;
System.out.print("dame nombre del trabajador a eliminar");
Scanner s= new Scanner(System.in);
String tit=s.nextLine();
while (!encontrado){
if (trabajadoresInem[pos].nombre.equals(tit)) encontrado=true;
else pos++;}
for (int i=pos;i<ntrabajadores-1;i++)
trabajadoresInem[i]=trabajadoresInem[i+1];
trabajadoresInem[ntrabajadores+1]=null; ntrabajadores--;
}
void salirAplicacion(){
}

System.out.println(" FIN DE LA APLICACION");

void listarTrabajadores(){
System.out.println("Listado de los trabajadores de la compaia");
System.out.println("*********************************");
if (ntrabajadores>=0)
for (int i=0; i<ntrabajadores; i++) trabajadoresInem[i].escribir(i);
else System.out.println("no existen trabajadores");
}
void aniadirTrabajador(GT g){
int pos;
System.out.print("Numero del trabajador que quieres aadir: ");
Scanner s= new Scanner(System.in); pos=s.nextInt();
g.aniadirTrabajador(trabajadoresInem[pos]);
}
void eliminarTrabajador(GT g){ g.eliminarTrabajador(); }
void listarTrabajadores(GT g){ g.listarTrabajadores(); }
void intercambiarTrabajadores(GT g){ g.cambiarOrden(); }
void grabar (GT g){
int opc;
do{
System.out.println("
=======================");
System.out.println(" Grabacin de un GT ");
System.out.println(" Introducir una opcion: ");
System.out.println(" 1: Listar trabajadores de la compaia. ");
System.out.println(" 2: Aadir un trabajador al GT");
System.out.println(" 3: Listar trabajadores del GT");
System.out.println(" 4: Eliminar un trabajador del GT");
System.out.println(" 5: Intercambiar de orden dos trabajadores ");
System.out.println(" 6: Grabar el GT y sale ");
System.out.println(" =====================");
System.out.print("Pulsa una opcion: ");
Scanner s= new Scanner(System.in); opc=s.nextInt();
switch(opc){
case 1: this.listarTrabajadores(); break;
case 2: this.aniadirTrabajador(g); break;
case 3: this.listarTrabajadores(g); break;
case 4: this.eliminarTrabajador(g); break;
case 5: this.intercambiarTrabajadores(g); break;
case 6: g.grabar(); break;
default: System.out.print("Elige una opcion valida"); break;
}
System.out.println();
}while (opc!=6);
}
}
package inem;
public class Inem {
public static void main(String[] args) {
Trabajadores grupo=new Trabajadores();
grupo.ejecutar();
}
}

También podría gustarte