Hello, everyone.
I don't know what to do, I'm new at this so if anyone can help me, it would be very appreciated.
I got this error in the 227 line of my code.
Thank you.
Code:#include <iostream> #include <stdlib.h> #include <ctype.h> using namespace std; char resp; typedef struct nodito { float n; struct nodito *pt; }nod; class PILITA { private: nod *tope; public: PILITA(){tope=NULL;} void push(); void pop(); void elimina_pila(); void imprime_pila(); void busca_dato(); void primero(); void ultimo(); ~PILITA(); }; void PILITA::push() { do { float nuevo_dato; nod *nvo; nvo=(nod*)malloc(sizeof(nod)); cout<<"\n Dame el elemento que deseas agregar a la pila: "; cin>>nuevo_dato; nvo->n=nuevo_dato; if(tope==NULL) { nvo->pt=NULL; tope=nvo; } else { nvo->pt=tope; tope=nvo; } cout<<"\n Deseas agregar otro elemento a la pila? [S/N]: "; cin>>resp; }while(resp=='s'||resp=='S'); } void PILITA::pop() { do { if(tope==NULL) { cout<<"\n La pila esta vacia \n"; system("pause"); return; } nod *aux; aux=tope; tope=aux->pt; cout<<"\n Sale: "<<aux->n; free(aux); cout<<"\n Deseas sacar otro elemento de la pila? [S/N]: "; cin>>resp; }while(resp=='s'||resp=='S'); } void PILITA::imprime_pila() { if(tope==NULL) { cout<<"\n La pila esta vacia \n"; system("pause"); return; } nod *aux; aux=tope; while(aux!=NULL) { cout<<"\n "<<aux->n; aux=aux->pt; } cout<<"\n"; system("pause"); } void PILITA::elimina_pila() { cout<<"\n Estas seguro que deseas eliminar la pila? [S/N]: "; cin>>resp; if(resp=='s'||resp=='S') { while(tope!=NULL) { if(tope==NULL) { cout<<"\n La pila esta vacia \n"; system("pause"); return; } nod *aux; aux=tope; tope=aux->pt; cout<<"\n Sale: "<<aux->n; free(aux); } cout<<"\n"; system("pause"); } } void PILITA::busca_dato() { if(tope==NULL) { cout<<"\n La pila esta vacia \n"; system("pause"); return; } int buscador; nod *aux; aux=tope; cout<<"\n Que elemento deseas buscar?: "; cin>>buscador; while(buscador!=aux->n) { aux=aux->pt; if(aux==NULL) { cout<<"\n No se encontro el elemento \n"; system("pause"); return; } } cout<<"\n Dato encontrado: "<<aux->n<<"\n"; system("pause"); } void PILITA::primero() { if(tope==NULL) { cout<<"\n La pila esta vacia \n"; system("pause"); return; } cout<<"\n El primer dato es: "<<tope->n<<"\n"; system("pause"); } void PILITA::ultimo() { if(tope==NULL) { cout<<"\n La pila esta vacia \n"; system("pause"); return; } nod *aux; aux=tope; while(aux->pt!=NULL) { aux=aux->pt; } cout<<"\n El ultimo dato es: "<<aux->n<<"\n"; system("pause"); } PILITA::~PILITA() { while(tope!=NULL) { if(tope==NULL) { cout<<"\n La pila esta vacia \n"; system("pause"); return; } nod *aux; aux=tope; tope=aux->pt; cout<<"\n Sale: "<<aux->n; free(aux); } } void menu() { char opc='i'; int opc1; PILITA p1; do { cout<<"\n 1.Insertar dato."; cout<<"\n 2.Sacar dato."; cout<<"\n 3.Mostrar pila."; cout<<"\n 4.Eliminar pila."; cout<<"\n 5.Buscar dato."; cout<<"\n 6.Mostrar el primer elemento."; cout<<"\n 7.Mostrar el ultimo elemento."; cout<<"\n 8.Salir."; cout<<"\n\n Selecciona una opcion: "; cin>>opc; if(isdigit(opc)) { opc1=atoi(opc); //this is were I have the error. switch(opc1) { case 1: p1.push(); break; case 2: p1.pop(); break; case 3: p1.imprime_pila(); break; case 4: p1.elimina_pila(); break; case 5: p1.busca_dato(); break; case 6: p1.primero(); break; case 7: p1.ultimo(); break; case 8: cout<<"\n Gracias por utilizar el programa."<<"\n"; system("pause"); break; default: cout<<"\n Opcion incorrecta. Vuelva a intentarlo."<<"\n"; break; } } else { cout<<"\n Error. Porfavor ingrese un numero. \n"; system("pause"); } }while(opc!=8); } main() { menu(); }