Ayuda con un programa en Borland C++

-
Hola,
Necesito hacer un programa con menu sub-menu... que me permita ingresar empleados, consultar empleados y cargas familiares como menu principal, en sub-menu de cargas familiares ingresar cargas por empleado, consultar cargas y regresar al menu anterior, en sub menu de consulta de empleado, ver todos los empleados consultar individual, regresar al menu anterior... tambien hay que poner informacion del empleado y de las cargas esto es lo que he avanzado pero no se que mas le falta porfa ayuda es en borland c++
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

/*ESTRUCTURAS*/
struct empleado
{

char cedula[10];
char apellido[25];
char nombre[25];
char direccion[50];
char telefono[10];
double sueldo;
char estado;
empleado *siguiente;
};


struct empleado_cargas_familiares
{
char cedula[10];
char apellido[25];
char nombre[25];
int edad;
char parentezco;
empleado_cargas_familiares *siguiente;
};

/*PROTOTIPO DE FUNCIONES*/
int vaciar1 (empleado**);
int vaciar2 (empleado_cargas_familiares**);

void insertarEmpleado(empleado**,char[],char[],char[],char[],char[],double,char);
void insertarCargasFamiliares(empleado_cargas_familiares**,char[],char[],char[],int,char);

void mostrarEmpleado(empleado**);
void mostrarCargasFamiliares(empleado_cargas_familiares**);


void main()
{
empleado *cab=NULL;
empleado_cargas_familiares *cab2=NULL;

/*VARIABLES UTILIZADAS EN EL MENU*/
int opcion,edad;
char cedula[10],apellido[25],nombre[25],direccion[50],telefono[10],estado,parentezco;
double sueldo;

do
{
cout<<"\n *** MENU PRINCIPAL ***"<<endl;
cout<<"1.Ingreso de empleados"<<endl;
cout<<"2.Consulta de empleados"<<endl;
cout<<"3.Carga familiares"<<endl;
cout<<"4.Salir"<<endl;
cout<<"-Elija una opcion: "<<endl;
cin>>opcion;

switch(opcion)
{
case 1:
clrscr();
cout<<"**INGRESO DE EMPLEADOS**"<<endl;
/*id*/
cout<<"-Ingrese su # de CI:"<<endl;
cin>>cedula;
cout<<"-Ingrese su apellido:"<<endl;
cin>>apellido;
cout<<"-Ingrese su nombre:"<<endl;
cin>>nombre;
cout<<"-Ingrese su direccion domiliciaria"<<endl;
cin>>direccion;
cout<<"-Ingrese su # de telef.:"<<endl;
cin>>telefono;
cout<<"-Ingrese su sueldo:"<<endl;
cin>>sueldo;
cout<<"-Ingrese su estado:"<<endl;
cout<<"1.A = activo:"<<endl;
cout<<"2.I = inactivo:"<<endl;
cin>>estado;

if (estado=='A')
{
cout<<"A";
}
else
{
cout<<"I";
}

insertarEmpleado(&cab,cedula,apellido,nombre,direccion,telefono,sueldo,estado);
cout<<"LOS DATOS FUERON INGRESADOS..";
getch();
break;

case 2:
clrscr();
do
{
cout<<"**CONSULTA DE EMPLEADOS**"<<endl;
cout<<"---SUBMENU---"<<endl;
cout<<"1.Ver todos los empleados"<<endl;
/*cout<<"2.Consultar individual"<<endl;*/
cout<<"3.Regresar"<<endl;
cout<<"-Ingrese se opcion:"<<endl;
cin>>opcion;

switch(opcion)
{
case 1:
clrscr();
mostrarEmpleado(&cab);
getch();
break;

/*case 2:
clrscr();

break; */
}
}while(opcion!=3);


case 3:
clrscr();
do
{
cout<<"**CARGAS FAMILIARES**"<<endl;
cout<<"---SUBMENU---"<<endl;
cout<<"1.Ingreso de cargas"<<endl;
cout<<"2.Consultas de cargas"<<endl;
cout<<"3.Regresar"<<endl;
cout<<"-Ingrese se opcion:"<<endl;
cin>>opcion;

switch(opcion)
{
case 1:
clrscr();
cout<<"**INGRESO DE CARGAS FAMILIARES**"<<endl;
/*id*/
cout<<"-Ingrese su # de CI:"<<endl;
cin>>cedula;
cout<<"-Ingrese su apellido:"<<endl;
cin>>apellido;
cout<<"-Ingrese su nombre:"<<endl;
cin>>nombre;
cout<<"-Ingrese su edad"<<endl;
cin>>edad;
cout<<"-Ingrese su parentezco:"<<endl;
cout<<"1.E = esposa:"<<endl;
cout<<"2.H = hijo-hija:"<<endl;
cout<<"3.P = padre:"<<endl;
cout<<"4.M = madre:"<<endl;
cin>>parentezco;

insertarCargasFamiliares (&cab2,cedula,apellido,nombre,edad,parentezco);
cout<<"LOS DATOS FUERON INGRESADOS..";
getch();
break;

case 2:
clrscr();
mostrarCargasFamiliares(&cab2);
getch();
break;
}
}while(opcion!=3);


}while(opcion!=4)

}

/*FUNCIONES*/
/*VACIAR EMPLEADO*/
int vaciar1(empleado **cab)
{
if(*cab==NULL)
return 1;
else
return 0;
}

/*VACIAR CARGAS FAMILIARES*/
int vaciar2(empleado_cargas_familiares **cab2)
{
if(*cab2==NULL)
return 1;
else
return 0;
}


/*INSERTAR EMPLEADO MENU*/
void insertarEmpleado(empleado **cab,char c[10],char a[25],char n[25],char d[50],char t[10],double s,char e)
{
empleado* nuevo_nodo=NULL;

if(vaciar1(&cab))
{
nuevo_nodo=new empleado();
/*id*/
nuevo_nodo->cedula[10]=c[10];
nuevo_nodo->apellido[25]=a[25];
nuevo_nodo->nombre[25]=n[25];
nuevo_nodo->direccion[50]=d[50];
nuevo_nodo->telefono[10]=t[10];
nuevo_nodo->sueldo=s;
nuevo_nodo->estado=e;
nuevo_nodo->siguiente=NULL;
  • cab=nuevo_nodo;

}
else
{
nuevo_nodo=new empleado();
/*id*/
nuevo_nodo->cedula[10]=c[10];
nuevo_nodo->apellido[25]=a[25];
nuevo_nodo->nombre[25]=n[25];
nuevo_nodo->direccion[50]=d[50];
nuevo_nodo->telefono[10]=t[10];
nuevo_nodo->sueldo=s;
nuevo_nodo->estado=e;
nuevo_nodo->siguiente=*cab;
  • cab=nuevo_nodo;

}
}


/*PARA OPCION DE SUBMENU VER TODOS LOS EMPLEADOS*/
void mostrarEmpleado(empleado **cab)
{
empleado *aux=NULL;
if(vaciar1(&cab))
cout<<"COLA VACIA";
else{
aux=*cab;
while(aux!=NULL)
{
/*ID*/
cout<<"# de CI.:"<<aux->cedula[10]<<endl;
cout<<"Apellido:"<<aux->apellido[25]<<endl;
cout<<"Nombre:"<<aux->nombre[25]<<endl;
cout<<"Direccion:"<<aux->direccion[50]<<endl;
cout<<"Telefono:"<<aux->telefono[10]<<endl;
cout<<"Sueldo:"<<aux->sueldo<<endl;
cout<<"Estado:"<<aux->estado<<endl;
aux=aux->siguiente;
}
}
}


/*PARA OPCION DE SUBMENU VER TODOS LAS CARGAS FAMILIARES*/
void mostrarCargasFamiliares(empleado_cargas_familiares **cab2)
{
empleado_cargas_familiares *aux=NULL;
if(vaciar2(&cab2))
{
cout<<"COLA VACIA";
}
else{
aux=*cab2;
while(aux!=NULL)
{
/*ID*/
cout<<"# de CI.:"<<aux->cedula[10]<<endl;
cout<<"Apellido:"<<aux->apellido[25]<<endl;
cout<<"Nombre:"<<aux->nombre[25]<<endl;
cout<<"Edad:"<<aux->edad<<endl;
cout<<"Parentezco:"<<aux->parentezco<<endl;
aux=aux->siguiente;
}
}
}



/*INGRESAR DATOS PARA SUBMENU DE CARGAS FAMILIARES*/
void insertarCargasFamiliares(empleado_cargas_familiares **cab2,char c[10],char a[25],char n[25],int e,char p)
{
empleado_cargas_familiares* nuevo_nodo=NULL;

if(vaciar2(&cab2))
{
nuevo_nodo=new empleado_cargas_familiares();
/*id*/
nuevo_nodo->cedula[10]=c[10];
nuevo_nodo->apellido[25]=a[25];
nuevo_nodo->nombre[25]=n[25];
nuevo_nodo->edad=e;
nuevo_nodo->parentezco=p;
nuevo_nodo->siguiente=NULL;
  • cab2=nuevo_nodo;

}
else
{
nuevo_nodo=new empleado_cargas_familiares();
/*id*/
nuevo_nodo->cedula[10]=c[10];
nuevo_nodo->apellido[25]=a[25];
nuevo_nodo->nombre[25]=n[25];
nuevo_nodo->edad=e;
nuevo_nodo->parentezco=p;
nuevo_nodo->siguiente=*cab2;
  • cab2=nuevo_nodo;

}
}
}
}
}



Configuración: Windows / Chrome 70.0.3538.110
Ver más 

1 respuesta

Publicaciones
196
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
viernes, 11 de octubre de 2019
13
0
Gracias
hola Scarlet

a que te refieres con "... no se que mas le falta ..." ?

Saludos
Comenta la respuesta de misterdekus