Necesito ayuda con este codigo por favor

Iniciado por MellaSystems, 12 Septiembre 2014, 06:01 AM

0 Miembros y 1 Visitante están viendo este tema.

MellaSystems

Tengo este código pero el profesor me pide que al introducir la letra del sexo le mande el string correspondiente al get con el set y no tengo ni idea de como hacerlo. Eje si pongo m o M que le mande masculino.


//Elaborado por: Jose Miguel Mella Garcia
#include <iostream>
#include <string.h>

using std::string;

class Persona{
      private:
              string NomPer,CedPer,CelPer,TipSan,ColOjo,ColPiel,DirPer,MatPer;
              float EstPer, PesPer;
              int EdaPer;
              char EstCiv,SexPer;

      public:
             //Constructores
             Persona(){}
             //Metodos sets
             void setNomPer(string pNomPer){NomPer=pNomPer;}
             void setCedPer(string pCedPer){CedPer=pCedPer;}
             void setCelPer(string pCelPer){CelPer=pCelPer;}
             void setTipSan(string pTipSan){TipSan=pTipSan;}
             void setColOjo(string pColOjo){ColOjo=pColOjo;}
             void setColPiel(string pColPiel){ColPiel=pColPiel;}
             void setDirPer(string pDirPer){DirPer=pDirPer;}
             void setMatPer(string pMatPer){MatPer=pMatPer;}
             void setEstPer(float pEstPer){EstPer=pEstPer;}
             void setPesPer(float pPesPer){PesPer=pPesPer;}
             void setEdaPer(int pEdaPer){EdaPer=pEdaPer;}
             void setEstCiv(char pEstCiv){EstCiv=pEstCiv;}
             void setSexPer(char pSexPer){SexPer=pSexPer;}
             //Metodos gets
             int getEdaPer(){return EdaPer;}
             float getPesPer(){return PesPer;}
             float getEstPer(){return EstPer;}
             char getSexPer(){return SexPer;}
             char getEstCiv(){return EstCiv;}
             string getNomPer(){return NomPer;}
             string getCedPer(){return CedPer;}
             string getCelPer(){return CelPer;}
             string getTipSan(){return TipSan;}
             string getColOjo(){return ColOjo;}
             string getColPiel(){return ColPiel;}
             string getDirPer(){return DirPer;}
             string getMatPer(){return MatPer;}
             //imprimir datos del vehiculo
             void ImpDetPer(){
                  limpiar();
                  ponerRaya();
                  std::cout<<"\t\t\t      Descripci\242n de la Persona"<<std::endl<<std::endl;
                  ponerRaya();
                  std::cout<<"\n\n\tNombre         : "<<getNomPer()<<std::endl;
                  std::cout<<"\tCedula        : "<<getCedPer()<<std::endl;
                  std::cout<<"\tSexo         : "<<getSexPer()<<std::endl;
                  std::cout<<"\tEdad  : "<<getEdaPer()<<std::endl;
                  std::cout<<"\tMatr\241cula        : "<<getMatPer()<<std::endl;
                  std::cout<<"\tCelular   : "<<getCelPer()<<std::endl;
                  std::cout<<"\tEstado Civil : "<<getEstCiv()<<std::endl;
                  std::cout<<"\tDirecci\242n : "<<getDirPer()<<std::endl;
                  std::cout<<"\tPeso      : "<<getPesPer()<<std::endl;
                  std::cout<<"\tEstatura      : "<<getEstPer()<<std::endl;
                  std::cout<<"\tTipo Sangre  : "<<getTipSan()<<std::endl;
                  std::cout<<"\tColor Ojos  : "<<getColOjo()<<std::endl;
                  std::cout<<"\tColor Piel  : "<<getColPiel()<<std::endl<<std::endl;
                  }
             //Pausa     
             void Pause(){
                std::cin.get();std::cin.get();
             }
             //limpiar pantalla
             void limpiar(){system("cls");}
             //poner raya horizontal
             void ponerRaya(){
                  int i;
                  for(i=0; i<=79; i++)
                   std::cout<<"\315";
                  }
      };
     
main(){
       string nombre,cedula,celular,sangre,ojos,piel,direccion,matricula;
       float estatura,peso;
       int edad;
       char sexo, estado;
       Persona ObjPer;
       system("color 9F");
      //variables para el menu
       int OpcMen, sigue = 1;
      do {
      ObjPer.limpiar();
      ObjPer.ponerRaya();
      std::cout<<"\n\t\t\t    Menu de la clase Persona"<<std::endl<<std::endl;
      ObjPer.ponerRaya();
        std::cout<<"\n\t1.  Nombre"<<std::endl;
      std::cout<<"\t2.  Cedula"<<std::endl;
      std::cout<<"\t3.  Sexo"<<std::endl;
      std::cout<<"\t4.  Edad"<<std::endl;
      std::cout<<"\t5.  Matr\241cula"<<std::endl;
       std::cout<<"\t6.  Celular"<<std::endl;
      std::cout<<"\t7.  Estado Civil"<<std::endl;
      std::cout<<"\t8.  Direcci\242n"<<std::endl;
      std::cout<<"\t9.  Peso"<<std::endl;
      std::cout<<"\t10. Estatura"<<std::endl;
      std::cout<<"\t11. Tipo Sangre"<<std::endl;
      std::cout<<"\t12. Color Ojos"<<std::endl;
      std::cout<<"\t13. Color Piel"<<std::endl;
      std::cout<<"\t14. Ver la informaci\242n digitada de la persona"<<std::endl;
      std::cout<<"\t0. Pulse el cero para Salir"<<std::endl<<std::endl;
        std::cout<<"\t   \nIngrese su opci\242n: ";
      while(!(std::cin>>OpcMen))
           {
          std::cin.clear();
          std::string error;
          std::cin>>error;
            std::cout<<"\n\tLA OPCI\340N INGRESADA NO EXISTE"<<std::endl;
          std::cout<<"\n\tIngrese su opci\242n nuevamente: ";
           }
      switch(OpcMen)   {
         case 1:
                std::cout<<"\nDigite el nombre: ";
            std::cin>>nombre;
            ObjPer.setNomPer(nombre);
                break;
         case 2:
            std::cout<<"\nDigite la cedula: ";
            std::cin>>cedula;
            ObjPer.setCedPer(cedula);
            break;
         case 3:
            std::cout<<"\nDigite el Sexo (M o F): ";
            std::cin>>sexo;
            ObjPer.setSexPer(sexo);
            break;
         case 4:
            std::cout<<"\nDigite la edad: ";
            std::cin>>edad;
            ObjPer.setEdaPer(edad);
            break;
         case 5:
            std::cout<<"\nDigite la matr\242cula: ";
            std::cin>>matricula;
            ObjPer.setMatPer(matricula);
            break;
         case 6:
            std::cout<<"\nDigite el # de celular: ";
            std::cin>>celular;
            ObjPer.setCelPer(celular);
            break;
         case 7:
            std::cout<<"\nDigite el estado civil (S/V/C/D): ";
            std::cin>>estado;
            ObjPer.setEstCiv(estado);
            break;
         case 8:
            std::cout<<"\nDigite la direccion: ";
            std::cin>>direccion;
            ObjPer.setDirPer(direccion);
            break;
         case 9:
            std::cout<<"\nDigite el peso corporal: ";
            std::cin>>peso;
            ObjPer.setPesPer(peso);
            break;
         case 10:
                 std::cout<<"\nDigite la estatura: ";
             std::cin>>estatura;
             ObjPer.setEstPer(estatura);
             break;
            case 11:
                 std::cout<<"\nDigite el tipo de sangre: ";
             std::cin>>sangre;
             ObjPer.setTipSan(sangre);
             break;
          case 12:
                 std::cout<<"\nDigite el color de ojos: ";
             std::cin>>ojos;
             ObjPer.setColOjo(ojos);
             break;
          case 13:
                 std::cout<<"\nDigite el color de piel: ";
             std::cin>>piel;
             ObjPer.setColPiel(piel);
             break;
            case 14:
                 ObjPer.ImpDetPer();
                 ObjPer.Pause();
                 break;
         case 0:
             sigue = 0;
             break;
         default:
            std::cout<<"\t\tLA OPCI\340N INGRESADA NO EXISTE"<<std::endl;
            ObjPer.limpiar();
      }
   } while(sigue);
}

flony

a grandes rasgos...sin entrar en detalles esta la declaración de la clase persona...falta que vos hagas la definición de esas funciones
si un problema no tiene solucion entonces no es un problema...es algo inevitable

rir3760

Cita de: MellaSystems en 12 Septiembre 2014, 06:01 AMTengo este código pero el profesor me pide que al introducir la letra del sexo le mande el string correspondiente al get con el set y no tengo ni idea de como hacerlo.
Me extraña la pregunta ya que si tu lo hiciste no deberías tener problema en realizar la modificación que te pidieron.

Lo único que debes hacer es cambiar la definición de la función miembro "getSexPer" a:
Código (cpp) [Seleccionar]
string getSexPer()
{
   return sexo == 'm' ? "masculino" : "femenino";
}


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

MellaSystems

Gracias por responder me ayudo mucho tu respuesta brother