Alguien me puede ayudar a borrar el ultimo nodo en mi lista simplemente enlazada, se lo agradecería mucho
#include <cstdlib>
#include <iostream>
using namespace std;
 
 class FLORES{//Aquí hago mi clase y mis apuntadores del tipo de la clase
              private: 
              FLORES *liga;
              FLORES *primero;
              FLORES *auxiliar;
              FLORES *nuevo;
              
              float precioventa; 
              
              public: 
              FLORES(){//Inicializo mis apuntadores en NULL
              primero=NULL;
              auxiliar=NULL;
              nuevo=NULL;
              }                 
              void ingresa_nodo();
              void mostrar_nodo(); 
              void borrar_nodo();                      
              
                };
 void FLORES::ingresa_nodo(){//Mi función para ingresar nodos
                             
                             
                     system("cls");    
                     if(primero==NULL){
                    cout<<"ENTRO AQUI PORQUE NO HAY NODOS"<<endl;
                    nuevo= new (FLORES);
                    cout<<"Ingrese el precio de la flor"<<endl;
                    cin>>nuevo->precioventa;
                    primero= nuevo; 
                    auxiliar= nuevo; 
                    nuevo->liga=NULL;
                    }
                    else{
                    cout<<"ENTRO AQUI PORQUE  HAY NODOS"<<endl;     
                    nuevo=new (FLORES); 
                    cin>> nuevo->precioventa;
                    auxiliar->liga= nuevo;    
                    auxiliar=nuevo;
                    nuevo->liga=NULL;
                    }
                    }
                    
                  
void FLORES::borrar_nodo(){// El problema XD
                            auxiliar=auxiliar->liga; 
                            delete nuevo; 
                            auxiliar->liga=NULL; 
                            }
                        
                        
                        
                          
                             
void FLORES::mostrar_nodo(){//Mi función para mostrar nodo
                            auxiliar=primero; 
                            while(auxiliar!=NULL){
                            cout<<"Precio:"<<auxiliar->precioventa<<endl;
                            auxiliar=auxiliar->liga; 
                            }
                             system("PAUSE");               
                            }
                                     
                                                                   
int main(int argc, char *argv[])
{
 
FLORES obj;//Creo mi objeto 
   
int opc;
do{//Menu
   system("cls"); 
   cout<<"\t"<<"\t"<<"\t"<<"MENU NODO"<<endl<<endl; 
   cout<<"1. Ingresar nodo"<<endl; 
   cout<<"2. Borrar nodo"<<endl; 
   cout<<"3. Ver nodo"<<endl;
   cout<<"4. Salir"<<endl<<endl;
   cout<<"Elige tu opcion:"<<endl,    
   cin>> opc;        
switch (opc){  
             case 1: 
             obj.ingresa_nodo();     
             break; 
            case 2:
            obj.borrar_nodo();     
            break;
      
           case 3:
            obj.mostrar_nodo();
            break;  
            
            case 4: 
            break;        
    
}  
  
    
}while(opc!=4);       
    system("PAUSE");
    return EXIT_SUCCESS;
}
			
			
			
				Cita de: robertoesimez en 22 Marzo 2017, 20:31 PM
Alguien me puede ayudar a borrar el ultimo nodo en mi lista simplemente enlazada, se lo agradecería mucho
void FLORES::borrar_nodo(){// El problema XD
						
                            auxiliar=auxiliar->liga; 
                            delete nuevo;
			    auxiliar->liga=NULL; 
                            }
   void FLORES::borrar_nodo(){// El problema XD
						
				primero = NULL; // restablecer var
							
                            }
Este code restablece la variable a 0, espero que te sirva, SALUDOS!.
			
 
			
			
				A simple vista creo que la clase está mal planteada. Primero intenta realizar el trabajo sin clases, como si fuera C. Verás que sobran muchas cosas.
			
			
			
				Las clases me las pidio el profesor si no, no me revisa mi programa
			
			
			
				Cita de: robertoesimez en 22 Marzo 2017, 22:16 PM
Gracias, pero solo quiere me borre el ultimo nodo no toda la lista y con eso se me borra todo
AH no te había entendido  pero de todos modos arregla la clase, hay muchos errores en las vars, SALUDOS.
			
 
			
			
				No, robertoesimez, no lo digo por eso. La cosa es que empieces sin clases; solo structs, arrays y funciones. Así verás más claras claras las colas. Cuando funcione lo pasas a clase.