#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
class NameDataSet
{
public:
string sName;
//la liga de la siguiente entrada de la lista
NameDataSet *pNext;
};
//el puntero de la primera entrada de la lista
NameDataSet *pHead = nullptr;
//funcion agregar para las entradas
void add( NameDataSet *pNDS )
{
//puntero de la entrada actual del inicio de la lista
pNDS -> pNext = pHead;
//punto de la cabeza del puntero de la entrada actual
pHead = pNDS;
}
//funcion obtener dato - lee el nombre y seguro social y regreza nulo
NameDataSet *getData()
{
//lee el primer nombre
string name;
cout << "Nombre: ";
cin >> name;
//si el nombre introducido es exit se sale
if( name == "exit" )
{
return nullptr;
}
//obtiene una nueva entrada y rellena los valores
NameDataSet *pNDS = new NameDataSet;
pNDS -> sName = name;
pNDS -> pNext = nullptr;
return pNDS;
}
int main( int argc , char *argv[] )
{
cout << "Lee los nombres de los estudiantes\n" << "Presiona exit si quieres salir" << endl;
//Creo mi objeto
NameDataSet *pNDS;
while( pNDS = getData() )
{
//agrega los objetos
add( pNDS );
}
cout << "Entradas: " << endl;
for( NameDataSet *pIter = pHead ; pIter ; pIter = pIter -> pNext )
{
cout << pIter -> sName << endl;
}
system("pause");
return 0;
}
Herramientas Para el Desarrollo de Videojuegos y Lenguajes de Programación en Español
domingo, 22 de febrero de 2015
Lista Ligada con Objetos y Punteros Visual C++
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario