- #include <iostream> 
- #include <cstdlib> 
- using namespace std; 
-   
- struct numero{ 
-     int dato; //valor del numero 
-     numero *sig; //nodo al q apunta 
- }; 
-   
- typedef struct numero Numero; 
-   
- void ingresarNumero(Numero **); //puntero q recorrerá para insetar valor 
- void mostrarNumeros(Numero *); //mostrar valores 
- void eliminarNumero(Numero *); //eliminar valor segun posición 
-   
- int main() 
- { 
-     int opcion = 4; 
-     Numero *lista = NULL; //primer elemento de la lista vacia 
-     do{ 
-         system("CLS"); 
-         cout << "1.- Ingresar Dato." << endl; cout << "2.- Mostrar Datos." << endl; 
-         cout << "3.- Eliminar Dato." << endl; cout << "4.- Salir." << endl; cout << "--> "; 
-         cin >> opcion; cout << endl; 
-         switch(opcion){ 
-             case 1: ingresarNumero(&lista); break; 
-             case 2: mostrarNumeros(lista); break; 
-             case 3: eliminarNumero(lista); break; 
-         } 
-     }while(opcion!=4); 
-     cout << "Nos vemos!" << endl; 
-     return 0; 
- } 
-   
- void ingresarNumero(Numero **primerNumero){ 
-     Numero *nuevoNumero = new Numero; //reservamos memoria 
-     int nuevoDato; //el dato 
-     if (nuevoNumero == NULL){cout << "No se pudo reservar Memoria. " << endl;} 
-     else{ 
-         cout << "Si se pudo reservar memoria. Direccion: " << nuevoNumero << endl << endl; 
-         cout << "Ingrese nuevo numero: "; cin >> nuevoDato; 
-         nuevoNumero->dato = nuevoDato; //Le asignamos el nuevo dato. 
-         nuevoNumero->sig = NULL; //el siguiente es nulo 
-        //Si la lista esta vacia: 
-        if (*primerNumero == NULL) {*primerNumero = nuevoNumero;} 
-        else{ 
-             //si no esta vacia 
-             Numero *ptr = *primerNumero; 
-             while(ptr->sig != NULL) ptr = ptr->sig; // avanza al siguiente nodo 
-             // el nodo encontrado es no vacio pero el siguiente es nulo. 
-             ptr->sig = nuevoNumero; //el nodo sgte nulo toma la direccion de nuevo numero 
-        } 
-     } 
-     cout << endl; 
-     system("pause"); 
- } 
-   
- void mostrarNumeros(Numero *ptr){ 
-     if (ptr == NULL) cout << "La Lista esta Vacia." << endl << endl; 
-     else { 
-         while(ptr!=NULL){ 
-             //mientras el nodo sgte no sea nulo muestra el dato del nodo actual. 
-             cout << ptr->dato << " "; 
-             ptr = ptr->sig; // avanza al sgte nodo 
-         } 
-         cout << endl << endl; 
-     } 
-     system("pause"); 
- } 
-   
- void eliminarNumero(Numero *ptr){ 
-   
- } 
-   
-