Código
#include <iostream> #include <stdlib.h> using namespace std; struct nodo{ int nro; struct nodo *sgte; }; typedef struct nodo *Tlista; void insertarInicio(Tlista &lista, int valor) { Tlista q; q = new(struct nodo); q->nro = valor; q->sgte = lista; lista = q; } int insertarAntesDespues() { int _op, band; cout<<endl; cout<<"\t 1. Antes de la posicion "<<endl; cout<<"\t 2. Despues de la posicion "<<endl; cout<<"\n\t Opcion : "; cin>> _op; if(_op==1) band = -1; else band = 0; return band; } void insertarElemento(Tlista &lista, int valor, int pos) { Tlista q, t; int i; q = new(struct nodo); q->nro = valor; if(pos==1) { q->sgte = lista; lista = q; } else { int x = insertarAntesDespues(); t = lista; for(i=1; t!=NULL; i++) { if(i==pos+x) { q->sgte = t->sgte; t->sgte = q; return; } t = t->sgte; } } cout<<" Error...Posicion no encontrada..!"<<endl; } void buscarElemento(Tlista lista, int valor) { Tlista q = lista; int i = 1, band = 0; while(q!=NULL) { if(q->nro==valor) { cout<<endl<<" Encontrada en posicion "<< i <<endl; band = 1; } q = q->sgte; i++; } if(band==0) cout<<"\n\n Numero no encontrado..!"<< endl; } void reportarLista(Tlista lista) { int i = 0; while(lista != NULL) { cout <<' '<< i+1 <<") " << lista->nro << endl; lista = lista->sgte; i++; } } void eliminarElemento(Tlista &lista, int valor) { Tlista p, ant; p = lista; if(lista!=NULL) { while(p!=NULL) { if(p->nro==valor) { if(p==lista) lista = lista->sgte; else ant->sgte = p->sgte; delete(p); return; } ant = p; p = p->sgte; } } else cout<<" Lista vacia..!"; } void menu1() { cout<<"\n\t\tNOMINA\n\n"; cout<<" 1. INGRESAR SALARIO "<<endl; cout<<" 2. MONSTRAR NOMINA "<<endl; cout<<" 3. BUSCAR "<<endl; cout<<" 4. ELIMINAR DATO "<<endl; cout<<" 6. SALIR "<<endl; cout<<"\n INGRESE OPCION: "; } /* Funcion Principal ---------------------------------------------------------------------*/ int main() { FILE *pf; pf = fopen("lista de salarios.txt", "w"); Tlista lista = NULL; int op; // opcion del menu int _dato; // elemenento a ingresar int pos; // posicion a insertar system("color 0b"); do { menu1(); cin>> op; switch(op) { case 1: cout<< "\nINGRESAR SALARIO: "; cin>> _dato; insertarInicio(lista, _dato); break; case 2: cout << "\n\n MOSTRAR INFORMACION \n\n"; reportarLista(lista); break; case 3: cout<<"\nSALARIO A BUSCAR : "; cin>> _dato; buscarElemento(lista, _dato); break; case 4: cout<<"\n SALARIO A ELIMINAR : "; cin>> _dato; eliminarElemento(lista, _dato); break; } cout<<endl<<endl; system("pause"); system("cls"); }while(op!=6); system("pause"); return 0; }