int main() { List<Alumno> lista; while(true) { printMenu(); int i = 0; cin>>i; switch(i) { case 1: system("clear"); lista.~List(); break; case 2: system("clear"); agregarAlumno(lista); break; case 3: system("clear"); if(eliminarAlumno(lista)) cout<<endl<<"\tEl alumno se ha eliminado..."<<endl; else cout<<endl<<"\tNo se han encontrado coincidencias..."<<endl; break; case 4: system("clear"); if(buscarAlumno(lista)) { system("clear"); cout<<"Los datos del alumno son:"<<endl<<endl; imprimirAlumno(lista.CurrentItem()); } else cout<<endl<<"\tNo se han encontrado coincidencias..."<<endl; break; case 5: system("clear"); lista.forEach(&imprimirAlumno); break; case 6: system("clear"); cout<<"El tamanio de la lista es:"<<endl<<"\t"<<lista.count()<<endl<<endl; break; case 7: system("clear"); cout<<"Hasta luego!"<<endl; exit(0); break; default: system("clear"); cout<<"Opcion no valida..."<<endl<<endl; break; } } return 0; }
void ordenarAlumno(List<Alumno>& lista) { List<Alumno> aux; lista.first(); while(lista.valid()) { aux.insert(lista.CurrentItem()); lista.next(); } lista.~List(); aux.first(); while(aux.valid()) { lista.insert(aux.CurrentItem()); aux.next(); } }
bool eliminarAlumno(List<Alumno>& lista) { bool value = false; cout<<"Introduzca el nombre del alumno que desea eliminar:\n\t> "; string nombre; cin>>nombre; lista.first(); while(lista.valid()) { if(nombre == lista.CurrentItem().nombre()) { lista.remove(lista.CurrentItem()); value = true; break; } lista.next(); } return value; }