"En el proyecto hacer las modificaciones para que las clases Médico y Paciente sean arreglos de objetos tamaño 10. Entregar código fuente en electrónico. Además agregar el método que permita hacer modificaciones en cada clase. Capturar solicitaría los datos de los 10 objetos que se almacenarán en el arreglo. Mostrar despliega los datos de los 10 datos capturados. El método modificar solicitará el Codigo del Médico o Cédula profesional, busca en cada posición del arreglo de objetos, muestra los datos de ese código o número, así como un menú con las opciones posibles a modificar (una por cada atributo de cada clase, solicitando el nuevo dato. "
Ya resolví la parte de capturar y mostrar datos, pero no logro que funcione del todo el método buscar, y no tengo de idea de como crear el método modificar, ya estuve buscando referencias por horas en Internet, y solo me topo con ejemplos estructurados o con manejo de números enteros .
Aquí dejo lo que llevo de la tarea.
Código c++:
Ver original
#include <iostream> #include <string> using namespace std; const int telpac = 3; class Pacientes { public: string nombre, numpac, domicilio; int telf[telpac]; int numero; int p; void Capturar(int); void Mostrar(int); void Buscar(); }enfermo[10]; class Medico { private: string nombre, c_prof, dom, codigo, tel; public: void Capturar(); void Mostrar(); void Buscar(); }; void Medico::Capturar() { cout << "------ Caputra de datos ------" << endl; cout << "Codigo del medico:" << endl; getline(cin, codigo); cout << "Introdusca el nombre del medico:" << endl; getline(cin, nombre); cout << "Introdusca la cedula profesional:" << endl; getline(cin, c_prof); cout << "Indtrodusca el domicilio:" << endl; getline(cin, dom); cout << "Introdusca el numero de telefono:" << endl; getline(cin, tel); } void Medico::Mostrar() { cout << "------ Datos del medico ------" << endl; cout << "Nombre: " << nombre << "\nCodigo: " << codigo << endl; cout << "Cedula profesional: " << c_prof << "\nDomicilio: " << dom << "\nTelefono: " << tel << endl; } void Medico::Buscar() { string cod; cout << "------ Busqueda ------" << endl; cout << "Introdusca el codigo: " << endl; getline(cin, cod); if (codigo == cod){ cout << "------ Datos del medico ------" << endl; cout << "Nombre: " << nombre << "\nCedula Profesional: " << c_prof << "\nDomicilio: " << dom << "\nTelefono: " << tel << endl; } else cout << "Codigo inexistente" << endl; } void Pacientes::Capturar(int x){ cout << "------ Captura de datos ------" << endl; cout << "Paciente numero: " << (x+1) << endl; cout << "Introdusca el numero de paciente: " << endl; getline(cin, numpac); cout << "Introdusca el nombre del paciente: " << endl; getline(cin, nombre); cout << "Introdusca el domicilio del paciente: " << endl; getline(cin, domicilio); cout << "Introdusca el numero de tel del paciente: " << endl; for (p = 0; p < telpac; p++){ cout << "Opcion numero " << p + 1 << ": "; cin >> numero; telf[p] = numero; } } void Pacientes::Mostrar(int x){ cout << "------ Paciente registrado numero " << (x+1) << " ------" << endl; cout << "Numero de paciente: " << numpac << "\nNombre: " << nombre << endl; cout << "Domicilio: " << domicilio << endl; cout << "Numeros de telefono (Casa, Celular y oficina): " << endl; for (p = 0; p < telpac; p++) cout << telf[p] << endl; } void Pacientes::Buscar(){ string num; cout << "------ Busqueda ------" << endl; cout << "Introdusca el codigo: " << endl; getline(cin, num); if (num == numpac){ cout << "------ Informacion del paciente ------" << endl; cout << "Numero de paciente: " << numpac << "\nNombre: " << nombre << endl; cout << "Domicilio: " << domicilio << endl; cout << "Numeros de telefono (Casa, Celular y oficina): " << endl; for (p = 0; p < telpac; p++) cout << telf[p] << endl; } else cout << "Codigo inexistente" << endl; } void menuprincipal(); void menupaciente(); void menumedico(); int main() { menuprincipal(); return 0; } void menuprincipal(){ int opc_menu; do{ cout << "------ Menu Principal ------" << endl; cout << "1.-Menu Medicos" << "\n2.-Menu Pacientes" << "\n3.-Salir" << endl; cout << "Elija una opcion y oprima ENTER ===> "; cin >> opc_menu; cin.ignore(); switch (opc_menu){ case 1: menumedico(); break; case 2: menupaciente(); case 3: cout << "" << endl; break; default: cout << "Esta opcion es invalida" << endl; } } while (opc_menu > 0 && opc_menu < 3); } void menumedico(){ Medico doctor; int opc_menu; do{ cout << "------ Menu Pacientes ------" << endl; cout << "1.-Caputar" << "\n2.-Mostrar" << "\n3.-Buscar" << "\n4.-Regresar" << endl; cout << "Elija una opcion y oprima ENTER ===> "; cin >> opc_menu; cin.ignore(); switch (opc_menu){ case 1: doctor.Capturar(); break; case 2: doctor.Mostrar(); break; case 3: doctor.Buscar(); break; case 4: cout << " " << endl; break; default: cout << " " << endl; } } while (opc_menu > 0 && opc_menu <= 3); } void menupaciente(){ int opc_menu; do{ cout << "------ Menu Paciente ------" << endl; cout << "1.-Caputar" << "\n2.-Mostrar" << "\n3.-Buscar" << "\n4.-Regresar" << endl; cout << "Elija una opcion y oprima ENTER ===> "; cin >> opc_menu; cin.ignore(); switch (opc_menu){ case 1: for (int x = 0; x<10; x++){ enfermo[x].Capturar(x); cin.ignore(); } break; case 2: for (int x = 0; x<10; x++){ enfermo[x].Mostrar(x); } break; case 3: break; case 4: cout << " " << endl; break; default: cout << " " << endl; } } while (opc_menu > 0 && opc_menu <= 3); }
Gracias por su atención.