[C con Clase] vectores y clases

nelfi hernandez nelfi_hernandez en yahoo.com.mx
Mie Abr 29 15:36:37 CEST 2009


Un saludo muy cordial a todos.

Esta es la primera vez que escribo en la lista, estoy iniciándome con c++, y me he topado con un problema que no he podido resolver, mi intención es definir una clase por ejemplo habitante, y después crear un vector de esa clase con vector<>, para ir introduciendole datos, pero no he podido dar con la manera de implementar esto, les pido por favor que me ayuden en esto, aqui les dejo parte del codigp que he escrito.

Gracis de antemano.


#include <iostream>
#include <vector>
#include <cstdlib>

using namespace std;

// DEFINICION DE LA CLASE

class habitantes {

    private:

        string              nombre;
        string              apellido;
        unsigned long       cedula;
        unsigned short int  ano_nacimiento;
        unsigned short int  mes_nacimiento;
        unsigned short int  dia_nacimiento;
        unsigned short int  edad;
        string              provincia;
        string              direccion;
        string              telefono;

    public:

        void agregar_habitante();
        void actualizar_habitante();
        void ver_habitante();

}; // Fin de la definicion de la clase habitante_dn


// DEFINICION DE LAS FUNCIONES MIEMBROS


// Definicion de la funcion miembro Agregar_habitante

void habitantes_dn::agregar_habitante(void) {

    system("clear");

    cout <<"\n\nAgrege los datos del habitante por favor..." << endl << endl;

    cout <<"Nombre                   : ";
    getline (cin, nombre);

    cout <<"\n\nApellido                 : ";
    getline (cin, apellido);

    cout <<"\n\nCedula                   : ";
    cin >> cedula;

    cout <<"\n\nAño de nacimiento        : ";
    cin >> ano_nacimiento;

    cout <<"\n\nMes de nacimiento        : ";
    cin >> mes_nacimiento;

    cout <<"\n\nDia de nacimiento        : ";
    cin >> dia_nacimiento;

    cout <<"\n\nEdad                     : ";
    cin >> edad;

    cin.ignore();

    cout <<"\n\nProvincia de nacimiento  : ";
    getline(cin, provincia);

    cout <<"\n\nDireccion                : ";
    getline(cin, direccion);

    cout <<"\n\nTelefono                 : ";
    getline(cin, telefono);

} // Fin de la definicion de la funcion miembro Agregar_habitante


// Definicion de la funcion miembro ver_habitante

void habitantes_dn::ver_habitante() {

   // for (unsigned int i(0); i < habitantes.size(); i++) {

        system("clear");


        cout <<"\n\n\t\t! Datos del ciudadano !" << endl << endl;

        cout <<"Nombre                    : " << habitantesnombre << endl << endl;

        cout <<"Apellido                  : " << apellido << endl << endl;

        cout <<"Cedula                    : " << cedula << endl << endl;

        cout <<"Año de nacimiento         : " << ano_nacimiento << endl << endl;

        cout <<"Mes de nacimiento         : " << mes_nacimiento << endl << endl;

        cout <<"Dia de nacimiento         : " << dia_nacimiento << endl << endl;

        cout <<"Edad                      : " << edad << endl << endl;

        cout <<"Provincia de nacimiento   : " << provincia << endl << endl;

        cout <<"Direccion                 : " << direccion << endl << endl;

        cout <<"Telefono                  : " << telefono << endl << endl;

  //  } // Fin de For


} // Fin de la defincion de la funcion miembro ver_habitante



// USO DE LA CLASE

void usar_clase(void) {

   char op;

   vector<habitantes_dn> habitantes;
   habitantes_dn habitante;

   do {

       habitante.agregar_habitante();

       habitantes.push_back(habitante);

       cout <<"\n\nDesea continuar agregando habitantes [ S | N ] ";
       cin >> op;
       cin.ignore();

       cout <<"\n\nRegistros del vector =  " << habitantes.size();

   } while (op == 's' || op == 'S');

   habitante.ver_habitante();


}


// FUNCION PRINCIPAL

int main(void){

   usar_clase();

   return 0;

} // Fin de la funcion main




      ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=mx
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090429/8a908c03/attachment.html>


Más información sobre la lista de distribución Cconclase