void MenuTerminal::mostrarLista(list<Paciente> *pacientes) { int j = 1, opcion=0; Paciente aux; list<Paciente>::iterator i; for (i = pacientes->begin(); i != pacientes->end(); ++i) { cout << "Paciente " << j << ": " << (*i).getApellidosNombre() << endl; j++; } j--; cout << endl << "¿Quieres ver algun paciente en especial? Introduce el número o 0 si ninguno de ellos: "; cin >> opcion; if (opcion == 0) { cabecera(); cout << "Volviendo al menú principal." << endl; sleep(2); } else{ if ((opcion<0) || (opcion>j)) { cabecera(); cout << "Número no válido. Volviendo al menú principal." << endl; sleep(2); } else { for (i = pacientes->begin(), j = 1; j < opcion; ++j, ++i); aux = *i; llamarPaciente(&aux); *i = aux; //Las siguientes 3 sentencias son necesáreas para que se actualice la frecuencia siempre. getAgenda()->eliminarPaciente(aux.getDni()); getAgenda()->insertarPaciente(aux); getAgenda()->ordenar(); cout << "Opciones disponibles:" << endl; cout << "\t1) Modificar paciente." << endl; cout << "\t2) Eliminar paciente." << endl; cout << "\tCualquier otro numero para volver al menú principal." << endl; cout << "Elija una opción: "; cin >> opcion; switch (opcion) { case 1: getAgenda()->eliminarPaciente(aux.getDni()); //Eliminamos el paciente. aux = rellenaPaciente(); //Le metemos la nueva información a un paciente auxiliar. aux.setFrecuencia((*i).getFrecuencia()); //Y restauramos su frecuencia. getAgenda()->insertarPaciente(aux); //Después, lo introducios en la lista. getAgenda()->ordenar(); //Y ordenamos nuestros pacientes para que cuadre. break; case 2: getAgenda()->eliminarPaciente(aux.getDni()); break; default: cout << "volviendo al menú principal."; sleep(2); } } } }
void MenuTerminal::visualizarPaciente(Paciente p) { cout << "\tNombre: " << p.getApellidosNombre() << endl; cout << "\tDNI: " << p.getDni() << endl; cout << "\tTeléfono: " << p.getTelefono() << endl; cout << "\tCuenta Facebook: " << p.getRedSocial().getCuentaFacebook() << endl; cout << "\tCuenta Twitter: " << p.getRedSocial().getCuentaTwitter() << endl; cout << "\tDirección: " << p.getDireccion().getTipoVia() << " " << p.getDireccion().getCalle() << " nº " << p.getDireccion().getNumPortal() << ", Escalera " << p.getDireccion().getEscalera() << " " << p.getDireccion().getNumPiso() << "º " << p.getDireccion().getNumPuerta() << endl; cout << "\tNotas: " << p.getNotas() << endl; if (p.isFavorito()) cout << "\tFavorito: Sí" << endl; else cout << "\tFavorito: No" << endl; cout << "\tFrecuencia: " << p.getFrecuencia() << endl << endl; }