Código
Código
[/img]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 y me salen varios errores 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;
}
}
}
}
}
Código
/img]
Código
[/code]
[code=cpp][/code=c++]