Java - Interpretar c++ a java.

 
Vista:

Interpretar c++ a java.

Publicado por GaxtaCure (1 intervención) el 16/12/2011 23:28:41
Soy estudiante de programacion, aun no aprendo a programar en C, y necesito con urgencia interpretar el siguiente codigo a Java.

Codigo en C++.


//FILE:listaenlazadaoo.txt con herencia
#include <iostream.h>
#include <string.h>

// SUPERCLASE
class compraventa_coches_P_y_M {

friend class lista_empleados;

protected:
char apellido[20];
char nombre[20];
char puesto_de_trabajo[20];
char seguridad_social[12];
int antiguedad_en_empleo;
compraventa_coches_P_y_M *puntero;
compraventa_coches_P_y_M *enlace_siguiente;

public:
compraventa_coches_P_y_M(char *apellid, char *nomb, char *numsegsoc,
char *p_trab, int c_antiguedad_en_empleo)
{
strcpy(apellido,apellid);
strcpy(nombre,nomb);
strcpy(seguridad_social,numsegsoc);
strcpy(puesto_de_trabajo,p_trab);
antiguedad_en_empleo= c_antiguedad_en_empleo;
enlace_siguiente= 0;
}

compraventa_coches_P_y_M(void) {
apellido[0]= NULL;
nombre[0]= NULL;
seguridad_social[0]= NULL;
puesto_de_trabajo[0]= NULL;
antiguedad_en_empleo= 0;
enlace_siguiente= 0;
}

void rellena_apellido(char *ape) {
strcpy(apellido,ape);
}

void rellena_nombre(char *nom) {
strcpy(nombre,nom);
}

void rellena_seguridad_social(char *seg_soc) {
strcpy(seguridad_social,seg_soc);
}

void rellena_puesto_de_trabajo(char *n_trab) {
strcpy(puesto_de_trabajo,n_trab);
}

void rellena_antiguedad_en_empleo(char c_antiguedad_en_empleo) {
antiguedad_en_empleo= c_antiguedad_en_empleo;
}

virtual void mas_datos(void) {
}

virtual void envia_informacion(void) {
cout << "\n\n" << apellido << ", " << nombre;
cout << "\n Seguridad Social #" << seguridad_social;
cout << "\n Empleo: " << puesto_de_trabajo;
cout << "\n Antiguedad en la Compañia: " << antiguedad_en_empleo;
}

}; // fin de SUPERCLASE compraventa_coches_P_y_M


// SUBCLASE DERIVADA corredor
class corredor:public compraventa_coches_P_y_M {

friend class lista_empleados;

float salario_anual;

public:
corredor(char *apellid, char *nomb, char *numsegsoc,
char *p_trab, int c_antiguedad_en_empleo,
float sal_anual): compraventa_coches_P_y_M(apellid, nomb, numsegsoc, p_trab, c_antiguedad_en_empleo)
{
salario_anual= sal_anual;
}

corredor(): compraventa_coches_P_y_M()
{
salario_anual= 0.0;
}
void rellena_salario_anual(float salario)
{
salario_anual= salario;
}

void mas_datos(void)
{
puntero=new corredor(apellido,
nombre,
seguridad_social,
puesto_de_trabajo,
antiguedad_en_empleo,
salario_anual);
}

void envia_informacion(void)
{
compraventa_coches_P_y_M::envia_informacion();
cout << "\n Salario anual: $" << salario_anual;
}

}; // fin de SUBCLASE DERIVADA corredor



// SUBCLASE DERIVADA vendedor
class vendedores:public compraventa_coches_P_y_M {

friend class lista_empleados;

float media_ventas_unidad;
int comision;

public:
vendedores(char *apellid, char *nomb, char *numsegsoc,
char *p_trab, int c_antiguedad_en_empleo,
float ll_med, int com): compraventa_coches_P_y_M(apellid, nomb, numsegsoc,
p_trab, c_antiguedad_en_empleo)
{
media_ventas_unidad= ll_med;
comision= com;
}

vendedores(void):compraventa_coches_P_y_M()
{
media_ventas_unidad= 0.0;
comision= 0;
}

void rellena_media(float ll_med)
{
media_ventas_unidad= ll_med;
}

void rellena_comision(int com)
{
comision= com;
}

void mas_datos(void)
{
puntero=new vendedores(apellido,
nombre,
seguridad_social,
puesto_de_trabajo,
antiguedad_en_empleo,
media_ventas_unidad,
comision);
}

void envia_informacion(void)
{
compraventa_coches_P_y_M::envia_informacion();
cout << "\n Media de Ventas semanales (unidades): " << media_ventas_unidad;
cout << "\n Porcentaje de comision del vendedor: " << comision <<"%";

}

}; // fin de SUBCLASE DERIVADA vendedor


// SUBCLASE DERIVADA mecanicos
class mecanicos:public compraventa_coches_P_y_M {

friend class lista_empleados;

float hora_trabajo;


public:
mecanicos(char *apellid, char *nomb, char *numsegsoc,
char *p_trab, int c_antiguedad_en_empleo,
float h_salario): compraventa_coches_P_y_M(apellid, nomb, numsegsoc,
p_trab, c_antiguedad_en_empleo)
{
hora_trabajo= h_salario;

}

mecanicos(void):compraventa_coches_P_y_M()
{
hora_trabajo= 0.0;

}

void rellena_hora_trabajo(float h_salario)
{
hora_trabajo= h_salario;
}

void mas_datos(void)
{
puntero=new mecanicos(apellido,
nombre,
seguridad_social,
puesto_de_trabajo,
antiguedad_en_empleo,
hora_trabajo);
}

void envia_informacion(void)
{
compraventa_coches_P_y_M::envia_informacion();
cout << "\n Hora de trabajo: $" << hora_trabajo;
}

}; // fin de SUBCLASE DERIVADA mecanicos


// SUBCLASE DERIVADA parts
class parts:public compraventa_coches_P_y_M {

friend class lista_empleados;

float hora_trabajo;

public:
parts(char *apellid, char *nomb, char *numsegsoc,
char *p_trab, int c_antiguedad_en_empleo,
float hora_t): compraventa_coches_P_y_M(apellid, nomb, numsegsoc,
p_trab, c_antiguedad_en_empleo)
{
hora_trabajo= hora_t;

}

parts(void):compraventa_coches_P_y_M()
{
hora_trabajo= 0.0;

}

void rellena_hora_trabajo(float hora_t)
{
hora_trabajo= hora_t;
}

void mas_datos(void)
{
puntero=new mecanicos(apellido,
nombre,
seguridad_social,
puesto_de_trabajo,
antiguedad_en_empleo,
hora_trabajo);
}

void envia_informacion(void)
{
compraventa_coches_P_y_M::envia_informacion();
cout << "\n Hora de trabajo: $" << hora_trabajo;
}

}; // fin de SUBCLASE DERIVADA parts



// CLASE AFIN
class lista_empleados {
compraventa_coches_P_y_M *posicion;

public:
lista_empleados(void)
{
posicion= 0;
}

void imprime_lista_empleados();

void inserta_empleados(compraventa_coches_P_y_M *nodo);

void quita_identificacion_empleado(char *seguridad_social);

}; // fin de clase lista_empleados

void lista_empleados::imprime_lista_empleados(void)
{
compraventa_coches_P_y_M *actual= posicion;

while(actual!=0) {
actual->envia_informacion();
actual=actual->enlace_siguiente;
}

}

void lista_empleados::inserta_empleados(compraventa_coches_P_y_M *nodo)
{
compraventa_coches_P_y_M *nodo_actual= posicion;
compraventa_coches_P_y_M *nodo_anterior= 0;

while(nodo_actual!=0 && strcmp(nodo_actual->apellido, nodo->apellido) <0) {
nodo_anterior= nodo_actual;
nodo_actual= nodo_actual->enlace_siguiente;
}
nodo->mas_datos();
nodo->puntero->enlace_siguiente= nodo_actual;
if (nodo_anterior==0)
posicion= nodo->puntero;
else
nodo_anterior->enlace_siguiente= nodo->puntero;

}
void lista_empleados::quita_identificacion_empleado(char *seguridad_social)
{
compraventa_coches_P_y_M *nodo_actual= posicion;
compraventa_coches_P_y_M *nodo_anterior= 0;

while(nodo_actual !=0 && strcmp(nodo_actual->seguridad_social, seguridad_social) != 0) {
nodo_anterior= nodo_actual;
nodo_actual= nodo_actual->enlace_siguiente;
}

if (nodo_actual != 0 && nodo_anterior == 0 ) {
posicion= nodo_actual->enlace_siguiente;
delete nodo_actual;
}
else
if (nodo_actual != 0 && nodo_anterior == 0 ) {
nodo_anterior->enlace_siguiente= nodo_actual->enlace_siguiente;
delete nodo_actual;
}
}

void main()
{
lista_empleados trabajadores;

vendedores vendedor1("Perez","Juan","212-98-7654","Vendedor",1,7.5,4.00);
vendedores vendedor2("Perez2","Juan2","213-98-7654","Vendedor",2,2.0,2.20);
vendedores vendedor3("Perez3","Juan3","214-98-7654","Vendedor",3,3.0,3.20);

trabajadores.inserta_empleados(&vendedor1);
trabajadores.inserta_empleados(&vendedor2);
trabajadores.inserta_empleados(&vendedor3);

trabajadores.imprime_lista_empleados();

trabajadores.quita_identificacion_empleado("212-98-7654");

cout << "\n\n *********************************";

trabajadores.imprime_lista_empleados();

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder