Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Llivi en 16 Diciembre 2018, 22:19 pm



Título: Ayuda con un programa en borland c++
Publicado por: Llivi en 16 Diciembre 2018, 22:19 pm
Código
  1.  
Código
  1.  
(http://file:///C:/Users/user/Desktop/Captura1.JPG[img])[/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
  1.  
(http://[[img])/img]
Código
  1. [code=cpp][/code=c++]
[/code](http://C:\Users\user\Desktop)


Título: Re: Ayuda con un programa en borland c++
Publicado por: K-YreX en 16 Diciembre 2018, 22:55 pm
Citar

esto es lo que he avanzado pero no se que mas le falta

Si tienes que hacer un programa que haga una serie de cosas que has comentado y tienes un código hecho simplemente mira que ese código haga todo lo que tiene que hacer tu programa. Si hay una cosa que no hace, eso es lo que te falta... :rolleyes:
Y el código de los programas entre etiquetas de Código GeSHi. Suerte. :-X


Título: Re: Ayuda con un programa en borland c++
Publicado por: Llivi en 16 Diciembre 2018, 23:01 pm
Ya lo he revisado y no se que puede fallar me manda varios errores.... yo trabajo con dev c++ pero me piden borland es ´por eso que tengo problema  errores


Título: Re: Ayuda con un programa en borland c++
Publicado por: K-YreX en 16 Diciembre 2018, 23:20 pm
Si te manda errores, la pregunta correcta no es "qué le falta?" sino "qué le falla". Si tienes un error especifica cual es el problema que tienes, puedes copiar el mensaje de error que te sale o si el programa compila decir en que momento el programa falla.
Sino dudo que alguien vaya a mirar todo ese código para buscar un fallo que no sabemos ni de qué tipo es.  :-X

Y para que podamos ver mejor el programa, modifica el primer mensaje y añade las etiquetas de código GeSHi.