[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