Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - MellaSystems

#1
PHP / Alguien me orienta
18 Enero 2016, 14:39 PM
Tengo este codigo:

Código (php) [Seleccionar]

public function CalcPrestamo($monto, $interes, $tiempo){
                $this->monpre = $monto;
                $this->intpre = $interes;
                $this->timepre = $tiempo;
               
                $interes /=100;
               
                $int = $monto * $interes;
                $pagCap = $monto / $tiempo;
                $cuotas = $int + $pagCap;
                $amort = $cuotas - $pagCap;
                $vf = $monto + $int;
               
                echo "<HR />";
                echo "<h3><strong>Calculos del Prestamo</strong></h3>";
               
                echo '<table width="361" border="0" cellspacing="2" cellpadding="1">';
                echo "<tr>";
                echo "<td width='295'><div align='right' class='style2'>MONTO: </div></td>";
                echo '<td width="56"><div align="right" class="style2">'.$monto.'</div></td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td width="295"><div align="right" class="style2">INTERES:</div></td>';
                echo '<td width="56"><div align="right" class="style2">'. $int .'</div></td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td width="295"><div align="right" class="style2">TIEMPO DE PAGO:</div></td>';
                echo '<td width="56"><div align="right" class="style2">'.$tiempo.'</div></td>';
                echo '</tr>';
                echo "<tr>";
                echo '<td width="295"><div align="right" class="style2">CUOTA</div></td>';
                echo '<td width="56"><div align="right" class="style2">'.$cuotas.'</div></td>';
                echo "</tr>";
                echo "</table>";
                echo "<br />";

                echo "<table class='tableloans' align='center'>";
                            echo "<tr>";
                                echo "<th align='center'>TIEMPO</th>";
                                echo "<th align='center'>CUOTA</th>";
                                echo "<th align='center'>INTERES</th>";
                                echo "<th align='center'>AMORTIZACION</th>";
                                echo "<th align='center'>T AMORTIZADO</th>";
                            echo "</tr>";
                       
                        for($i = 1; i <= $tiempo; $i++){
                            echo "<tr>";
                                echo "<td align='left'>".$tiempo . "</td>";
                                echo "<td align='left'>".$cuotas . "</td>";
                                echo "<td align='left'>".$int . "</td>";
                                echo "<td align='left'>".$amort . "</td>";
                                echo "<td align='left'>".$vf . "</td>";
                            echo "</tr>";
                        }
                        echo "<table>";
//aqui no me imprime nada
            }


Gracias de ante mano!!!
#2
Bases de Datos / Necesito algunas Sugerencias
4 Enero 2016, 06:33 AM
Cuales tablas podria crear para un Sistema de Prestamos

Ya tengo:

Cliente
Prestamo
DetallePrestamo

Alguien me puede ayudar si no es mucha molestia
#3
Tengo esta funcion amigos, antes de uso un deque<cEstudiante> dEstudiante

Código (cpp) [Seleccionar]
void eliminar_estudiante(){
    int cont = -1;
    char op;
    string matricula;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), Color_Yellow);
    cout<<"      ---------------------------------------------------------------------\n";
    cout<<"             <<<<<<<<<<     ESTUDIANTES->ELIMINAR        >>>>>>>>>>";
    cout<<"\n      ---------------------------------------------------------------------\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), Color_Def);
    cout<<endl;
    cout<<"\n\tELIMINAR UN ESTUDIANTE";
    cout<<"\n\n\tIngrese la posici\242n:"; cin>>matricula;
    for(it=dEstudiante.begin(); it!=dEstudiante.end(); ++it){
        cEstudiante PrintEstudiante = *it;
            if((*it) == matricula){     
  dEstudiante.erase(find(dEstudiante.begin(),dEstudiante.end(), matricula));
   deque<dEstudiante>::iterator itTemp = --it;
               cont++; 
               cout<<"\n\n\tREGISTRO ELIMINADO...!!!!!\n";   
               }
               } if (cont == -1){
                       cout<<"\n\tMATRICULA INCORRECTA...!!\n";
               }cont = -1;
        do{
       
        cout<<"\n\n\tDesea seguir eliminando? <S/N>: ";
        cin>>op;
        switch(op){
            case 's':   system("cls");
                        eliminar_estudiante();
                        break;
            case 'S':   system("cls");
                        eliminar_estudiante();
                        break;
            case 'n':   return ;

            case 'N':   return ;

            default: cout<<"\n\t Ingrese una opcion valida";
            }
    }while(op=='y'||op=='Y');
}


Me da error:
265 C:\Users\JuanaG\Programacion\Estructura de Datos\DataBases.cpp no match for 'operator==' in '(&it)->std::_Deque_iterator<_Tp, _Ref, _Ptr>::operator* [with _Tp = cEstudiante, _Ref = cEstudiante&, _Ptr = cEstudiante*]() == matricula'
#4
Necesito hacer un programa en C++ que me imprima los cargos de una empresa en orden jerarquicos usando Grafos y no tengo idea de como hacerlo.

Alguna sugerencia?
#5
Tengo este codigo en C++:

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>

using namespace std;

main(){

int i, j, filas, columnas, suma_dp=0;
cout << "Ingrese el n\243mero de filas de la matriz: ";
cin >> filas;
cout << "Ingrese el n\243mero de columnas de la matriz: ";
cin >> columnas;

if((filas < 1 || columnas < 1) || (filas > 20 || columnas > 20)){
cout << "La matriz no puede ser menor que 1 ni mayor que 20\n\n";
}
else{
cin.get();
float **a = new float*[filas];
cout << endl;
for(i=0; i < filas; i++){
a[i] = new float[columnas];
for(j=0; j < columnas; j++){
cout << "Ingrese el elemento A[" << i + 1 << "][" << j + 1 << "]: ";
cin >> a[i][j];
}
}
cout << endl;
cout << "La matriz digitada es: " << endl;
for(i=0; i < filas; i++){
cout<<"|";
for(j=0; j < columnas; j++){
cout << "\t" << a[i][j] <<"\t";
}
cout << "|" << endl;
}

cout << "La diagonal principal es: " << endl;
for(i=0; i < filas; i++){
cout<<"|";
for(j=0; j < columnas; j++){
if(a[i]==a[j])
cout << "\t" << a[i][j];
if(i-j == 0)
suma_dp += a[i][j];
}
cout << "|" << endl;
}
cout << "La suma es: " << suma_dp;

}
cout << endl;
system("pause");
return EXIT_SUCCESS;

}


Quiero hacerlo usando la STL.

Alguien me orienta?

PTDA: Se trabajar con Vectores de una dimensión usando la STL
#6
Programación C/C++ / Sugerencias!
13 Marzo 2015, 03:56 AM
Tengo esta funcion para agregar un string a un vector, pero con la condicion de no  tener nombres repetidos pero me explota el programa.

Código (cpp) [Seleccionar]
void addNomEst(){
                  system("cls");
                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<MENU INSERTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
                  string nombre;
                  int PosNom= 0, j=0;
                  cout<<"Digite el nombre que desea agregar: ";
                  cin.ignore(256,'\n');
                  cin >> nombre;
                  for(it = NomEst.begin(); it != NomEst.end(); ++it){
                     if((*it) == nombre){     
                        PosNom++;     
                           }
                          } if (PosNom > 0){
                        j++;
                        system ("cls");
                        cout << "\n\nESTE NOMBRE YA EXISTE!!!" << endl;
                        cout << "\n\nFAVOR DIGITAR OTRO NOMBRE DE ESTUDIANTE DIFERENTE\n" << endl;                                          
                        system("pause");
                       }PosNom = 0;
                         NomEst.push_back(nombre);
                        if(j==1){
                           NomEst.erase(it);
                           vector<string>::iterator itTemp = --it;
                           PosNom++;
                        }
                        j=0;
                  system("pause");
                  }



miren la imagen.

#7
me da este error al ejecutar el programa:
29 C:\Users\JuanaG\Programacion\Estructura de Datos\OtroVectorEstructurado.cpp invalid use of void expression

Código (cpp) [Seleccionar]
class cEstudiante{
       private:
            string NomEst;    
       public:
            void setNomEst(string pNomEst){NomEst = pNomEst;}
            string getNomEst(){return NomEst;}  
            vector<string> vEstudiante;
            vector<string>::iterator it;
            void addNomEst(){
                 string nombre;
                 cout<<"Digite el nombre que desea agregar: ";
                 cin >> nombre;
                 for(it = vEstudiante.begin(); it != vEstudiante.end(); it++){
                   vEstudiante.push_back(setNomEst(nombre));
                 }
                 system("pause");
                 }
           
            void showNomEst(){
                 cout<<"Los nombres digitados son: "<<endl;
                 for(it = vEstudiante.begin(); it != vEstudiante.end(); ++it){
                        cout << *it;
                        }
                 cout << endl;
                 system("pause");
                 }
                         
     };


ya solucione mi error, tarde pero lo solucione... para cualquier duda:

Código (cpp) [Seleccionar]
class cEstudiante{
       private:
            vector<string> NomEst;    
       public:
            //cEstudiante(string nombre): NomEst(nombre){}
            void setNomEst(vector<string> pNomEst){NomEst = pNomEst;}
            vector<string> getNomEst(){return NomEst;}  
            vector<string>::iterator it;
           
            void addNomEst(){
                 system("cls");
                 cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<MENU INSERTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
                 string nombre;
                 cout<<"Digite el nombre que desea agregar: ";
                 fflush(stdin);
                 cin >> nombre;
                 NomEst.push_back(nombre);
                 system("pause");
                 }

void showNomEst(){
                 system("cls");
                 cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU LISTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
                 cout<<"\n\n\t\tLos nombres digitados son: "<<endl<<endl;
                 for(it = NomEst.begin(); it != NomEst.end(); ++it){
                        cout << *it << endl;
                        }
                 cout << endl;
                 system("pause");
                 }
#8
en un menu para listar, borrar, buscar un nombre en la clase vector:

Código (cpp) [Seleccionar]

//
#include <iostream>
#include <string>         
#include <vector>

using std::vector;
using std::cout;
using std::cin;
using std::string;
using std::endl;

class cEstudiante{
        public:
             string nomv;
             cEstudiante(string vnomv) : nomv(vnomv){}//constructor
      };

main(){
             int run, i, j=0, k=0, cont, con;
             string NomEst, BusNom, PosNom;
             vector<cEstudiante> vEstudiante;
             
             int OpcMen, sigue = 1; //Variables para controlar el menu
             do {
             system("cls");
     system (" color F0");
             cout << "\n\n\t\t<<<<<<<<<<<<<<<<<<<<<<<<MENU>>>>>>>>>>>>>>>>>>>>>>>>>>\n" << endl;
             cout << "\n\n 1 <**> INSERTAR DATOS" << endl;
             cout << " 2 <**> BORRAR DATOS" << endl;
             cout << " 3 <**> MOSTRAR DATOS" << endl;
             cout << " 4 <**> BUSCAR DATOS" << endl;
             cout << " 0 <**> SALIR" << endl << endl;
             cout<<"\n\t   Ingrese su opci\242n: ";
     while(!(std::cin>>OpcMen))
             {
      std::cin.clear();
      std::string error;
      std::cin>>error;
      system("cls");
              cout<<"\n\tLA OPCION INGRESADA NO EXISTE\n";
      cout<<"\n\tIngrese su opci\242n nuevamente: ";
              }
         switch(OpcMen) {
     case 1:
                  system("cls");
                  cout << "\n\nENTRE EL NOMBRE:\n " ;
                  fflush(stdin);
                  getline(cin, NomEst);
                  system("cls");
                 
                  do{
                    run = vEstudiante.size();
                    cont=0;                            
                     for (i=0;i<run;i++){     
                        cEstudiante runEstudiante = vEstudiante[i];
                         if(runEstudiante.nomv == NomEst){
                            cont++;
                            }      //I f
                        }      //for
                        if(cont>0){
                        j++; 
                        system ("cls");
                        cout << "\n\nESTE NOMBRE YA EXISTE!!!" << endl;
                        cout << "\n\nFAVOR DIGITAR OTRO NOMBRE DE ESTUDIANTE DIFERENTE\n" << endl;                                          
                        system("pause");
                        system ("cls");
                        } cont=0;
                  }while(cont>0);                           
                               
                 vEstudiante.push_back(cEstudiante(NomEst));
                 if(j==1) {
                 vEstudiante.erase(vEstudiante.begin()+i);
                  }
                 j=0;                            
                 break;
                 
     case 2:
                   system ("cls");
                   cout << "\nAQUIEN DESEA BORRAR :\n ";
                   cin >> PosNom;
                      for (i=0;i<run;i++){      //for inicio
                       cEstudiante runEstudiante = vEstudiante[i];      
                       if(runEstudiante.nomv == PosNom){
                          k++;                   
                          cout << "\n\nEL NOMBRE \n" << PosNom;
                          vEstudiante.erase(vEstudiante.begin()+i);
                  cout << " FUE BORRADO CON EXITO!!!\n" << endl;
                           }                         
                          }  //fin for
                         if(k==0){
                           cout << "\n ESTE NOMBRE NO EXITE  !!!\n" << endl;
                          }
                           k=0;
                           system("pause"); 
                           system(" CLS");                           
break;
     case 3:
   system ("cls");
                   run = vEstudiante.size();
                   cout << "\n\nNOMBRE: \n" << endl;
                                                     
                     for (i=0;i<run;i++){
                       cEstudiante PrintEstudiante = vEstudiante[i];
                         cout<<PrintEstudiante.nomv<<"\t "<<endl;
                        }
                         system("pause"); 
                         system ("cls");
break;
                 case 4:
                   system("cls");
                   cout<<"\n\nAQUIEN DESEA BUSCAR:  ";
                   fflush(stdin);
                   getline(cin, BusNom);
           
                   run = vEstudiante.size();
                   con=0;
                   system("cls");                
                   for (i=0;i<run;i++){      //inicio for
                     cEstudiante runEstudiante = vEstudiante[i];
                     if(runEstudiante.nomv == BusNom){
                     cout << "\nRESUTADO: \n\n" << endl;
                     cEstudiante PrintEstudiante = vEstudiante[i];
                     cout << "NOMBRE  " << " POSICION\n" << endl;
                     cout <<PrintEstudiante.nomv<<"\t #"<< i+1<< endl<< endl;
                     con++;          
                    system("pause");
                    }
                     }   // fin for
                   system("cls");
                     if(con==0) {
                     cout << "\nESTE NOMBRE NO EXISTE : \n\n" << endl;
                     system("pause");}
                     con=0;   
break;
                 case 0:
  sigue = 0;
break;
                 default:
                            cout<<"\t\tLA OPCION INGRESADA NO EXISTE\n";
                        system("cls");
}
} while(sigue);       
}



este es mi codigo quiero hacerlo mas eficiente, controlar los nombres en mayusculas y minusculas y todo eso porfa.
#9
Tengo esta funcion pero no me tira todos los caracteres repetidos
Código (cpp) [Seleccionar]

void ImpCaractRepetidos(){
                         int contador=0;
                         int aux=0;
                         char c;
                         for(int i=0; CadCar[i]!='\0';i++){
                           for(int j=1; j<CadCar.length();j++){
                              if(CadCar[i]==CadCar[j]){
                                contador++;
                              }       
                           }
                           if(contador > aux){
                              aux = contador;
                              c = CadCar[i];
                              contador = 0;         
                                       }
                              else
                                   contador = 0;
                           
                         }
                         std::cout<<"\nEn el texto hay "<<aux<<" caracteres repetidos\n";
                         std::cout<<" y son "<<c;
                       }


Gracias por la ayuda
#10
tengo este codigo y quiero imprimir

h        c          e
o        o          s
l         m         t
a        o          a
                     s

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

main(){
       string c="hola como estas";
       getline(cin,c);
       for(int i=0;c[i]!='\0';i++){
               cout<<endl<<c[i];
           if(i==-1 || c[i] == ' ' && c[i+1] != ' '){
             cout<<c[0+2];
             cout<<"\t\t"<<c[i];
            }   
           }
       system("pause");
       }
#11
Tengo este codigo  creado por mi mismo pero me da un error logico porque al ejecutarlo me dice que la cadena "UASD" solo tiene una vocal y es mentira.
Código (cpp) [Seleccionar]

#include <iostream>
#include <string>

class cCadena{
      private:
              std::string CadCar;
      public:
             void setCadCar(std::string pCadCar){CadCar=pCadCar;}
             std::string getCadCar(){
                  return CadCar;
                  }
                 
             void ImpHorizontal(){
                  std::cout<<CadCar<<std::endl;
                  }
                 
             void ImpVertical(){
                  for(int i=0;i<CadCar.length();i++)
                      std::cout<<CadCar[i]<<"\n";       
                  }
                 
             bool esVocal(){
                  for(int i=0; CadCar[i]!='\0'; i++){
                  if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'
                      || CadCar[i] =='a' || CadCar[i] =='e' || CadCar[i] =='i' || CadCar[i] =='o' || CadCar[i] =='u'){
                       return true;
                       }
                       else
                        return false;
                     }
                  }
                 
             void ImpCantVocales(){
                  int CanVoc=0;
                  if (esVocal())
                     {
                     CanVoc++;
                        }
               std::cout<<"\nLa cadena tiene "<< CanVoc <<" vocales"<< std::endl;
                  }
     
      };
     
main(){
       cCadena oCadena;
       oCadena.setCadCar("UASD");
       oCadena.ImpHorizontal();
       //oCadena.ImpVertical();
       oCadena.ImpCantVocales();
      // oCadena.ImpCantConsonantes();
       
       system("pause");
       }



me imprime que solo existe una vocal ayuda por favor!!!

y alguien es tan amable de explicarme este codigo?
Código (cpp) [Seleccionar]

void displayMaxCharacterWords(std::string& cadena )
{
  std::string palabra;
  string::iterator it = cadena.begin( );

  for( string::iterator it2 = it; it2 != cadena.end( ); ++it2 )
  {
    if ( *it2 == ' '  || *it2 == ',' || *it2 == '.' )
    {
      size_t length = std::distance( it, it2 );
      if ( length > palabra.size( ) )
        palabra = std::string(it, it2 );
      it = it2+1;
    }
  }

  std::cout << "\n\nLa palabra mas larga de la cadena es: "<< palabra << std::endl;
}
#12
 
Código (cpp) [Seleccionar]
bool esVocal(char c){
                 bool tipo=false;
                 for(int i=0; CadCar[i]!='\0'; i++){
                 if (CadCar[i] =='A' || CadCar[i] =='E' || CadCar[i] =='I' || CadCar[i] =='O' || CadCar[i] =='U'){
                      tipo = true;
                      }
                    }
                    return tipo;
                 }
                 
            void ImpCantVocales(){
                 int cont=0;
                 for(int i=0;CadCar[i]!='\0';i++){
                 if (esVocal(CadCar[i]))
                    {
                    cont++;
                       }
              }
              std::cout<<"\nLa cadena tiene "<< cont <<" vocales"<< std::endl;
                 }

/---------------------------------------------------------------------------------------------/

cuando le ingreso un string me dice que todo lo que le pongo es vocal jejejejje Ayuda porfa

Mod: Mensaje modificado, al publicar código usa etiquetas GeSHi
#13
Gente necesito una ayudita... Quiero hacer una funcion que reciba un string y que dentro del string busque la palabra mas larga y la imprima. Y quisiera saber como voltear un string alreves pero que se quede en la misma posicion con los metodos sort() y reverse().

tengo esto asi las pude voltear:

#include <iostream>
#include <string>
using namespace std;

void invertStringWords(string);
void countVocals(string);
void countConsonants(string);
void countSpecialCharacters(string);
void displayMaxCharacterWords(string);
void countWords(string);

int main() {
    string words;
    std::cout<<"Introduzca alguna frase: ";
    std::getline(std::cin,words);
   
    cout << endl << "Sentencia original: \t" << words << endl;
    reverse(words.begin(),words.end());
    invertStringWords(words);
   
   
    system("pause");
    return 0;
}

//Funcion que invierte el orden de las palabras en una cadena
void invertStringWords(string words) {
          //Arreglo con la longitud de los caracteres en la sentencia
          int arraylength = words.length();

          // índice para el caracter que está siendo leído
          int a=0;

          // String para almacenar la última palabra formada del arreglo
          string invert="";

          // Arreglo de caracteres con la cadena final de palabras invertidas
           char invertedWords[arraylength];

           // Ciclo que recorre la cadena original desde el final
           for(int i=arraylength-1; i >= -1; i--){
             // Si encontramos un espacio ya hemos terminado una palabra
             // invertir la palabra y agregarla al principio del arreglo invertido
             if(i==-1 || words == ' ') {
                         // Agregar la última palabra encontrada invertida en la sentencia
                         // al principio del arreglo de cadena invertida
                         for(int b=invert.length()-1; b >=0 ; b--) {
                                 invertedWords[a] = invert;
                                 a++;
                         }
                         // Agregar un espacio para delimitar palabra e incrementar el contador
                         // 'a' solo si no se ha llegado al final del arreglo.
                         if (i>-1)
                            invertedWords[a++] = ' ';
                         invert="";
             }
             else
             {
              // Tenemos un caracter, agregarlo a la cadena temporal
                         invert +=words;
             }
     }
             cout << endl << "Sentencia invertida: \t" << invertedWords << endl;
}
#14
Necesito una idea clara o un ejemplo de como invertir un string. Si usando arreglos o el tipo string
#15
Alguna idea de como hacer una función que devuelva un entero mas una cadena. Que me devuelva la edad y una frase que diga usted es mayor de edad o menor
#16
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);
}