Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: creiko en 25 Octubre 2016, 00:35 am



Título: modificar elementos de una lista
Publicado por: creiko en 25 Octubre 2016, 00:35 am
Ola estoy haciendo un menú de opciones para una lista
pero no he podido hacer la parte de modificar
he visto este código pero no es de la forma que debo hacerlo

Código
  1.  
  2. void modificarDato(Numero **primerNumero)
  3. {
  4.    int nuevoDato;
  5.    int posicion = 1;
  6.    mostrarNumeros(*primerNumero);
  7.    cout << "Ingrese Posicion: "; cin >> posicion;
  8.    cout << "Ingrese nuevo numero: "; cin >> nuevoDato;
  9.    //Si esta fuera del rango
  10.    if (posicion < 1 || posicion > cantidad) {cout << "\n\aPosicion Erronea\n\n"; return;}
  11.    Numero *auxiliar;
  12.    auxiliar = *primerNumero;
  13.    int contador = 1;
  14.    //mientras contador sea distinto a la posicion
  15.    while(contador != posicion) {auxiliar = auxiliar->sig; contador++;}
  16.    auxiliar->dato = nuevoDato; //cambiamos el valor
  17.    mostrarNumeros(*primerNumero);
  18. }
  19.  
  20.  



de la forma que esto haciendo mi menú es así
esta es la parte e ingresar un numero al inicio de la fila

Código
  1.  
  2. void insert_ini()
  3. {
  4. int elem = 0;
  5. printf("\nEscriba el elemento: ");
  6. scanf("%d",&elem);
  7. lista = new nodo;
  8. lista->informacion = elem;
  9. lista->siguiente = inicio;
  10. inicio = lista;
  11. printf("\nElemento agregado satisfactoriamente\n");
  12.  
  13. system("pause");
  14. }
  15.  
  16.  


he tratado e modificar el primer código de arriba
para que se parezca al segundo que tengo pero no he podido,
si alguien me hecha una mano en esa parte