Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/10/2014, 10:33
miaumax
 
Fecha de Ingreso: octubre-2014
Mensajes: 2
Antigüedad: 10 años
Puntos: 0
Respuesta: Arreglo de objetos (Modificar y buscar)

Buenas tardes eferion, veras apenas soy un n00b en el mundo de c++, y la tarea no me pide tantos requisitos, se dan con que el programa capture y muestre las cosas una sola ves, tampoco me piden que valide la entrada de datos y tampoco el uso de constructores (Es una materia de primer semestre), así que no importa (ahorita) que el programa quede primitivo, acabo de compilar el código fuente (adjunto) y pues hace lo que me piden en la escuela, solo que no entendí muy bien el como crear un método que modifique lo que se queda "guardado" en el arreglo, te dejo el código fuente actualizado (guarda 10 datos en pacientes y médicos y los muestra aunque sea solo 1 ves)





Código c++:
Ver original
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. const int telpac = 3;
  5.  
  6. class Pacientes {
  7. public:
  8.     void Capturar(int);
  9.     void Mostrar(int);
  10.     void Buscar();
  11.  
  12. private:
  13.     string nombre, numpac, domicilio;
  14.     int telf[telpac];
  15.     int numero;
  16.     int p;
  17.  
  18. }enfermo[10];
  19.  
  20.  
  21. class Medico {
  22. private:
  23.     string nombre, c_prof, dom, codigo, tel;
  24. public:
  25.     void Capturar(int);
  26.     void Mostrar(int);
  27.     void Buscar();
  28. };
  29.  
  30.  
  31. void Medico::Capturar(int x) {
  32.     system("cls");
  33.     cout << "------ Caputra de datos ------" << endl;
  34.     cout << "Doctor numero: " << (x + 1) << endl;
  35.     cout << "Codigo del medico:" << endl;
  36.     getline(cin, codigo);
  37.     cout << "Introdusca el nombre del medico:" << endl;
  38.     getline(cin, nombre);
  39.     cout << "Introdusca la cedula profesional:" << endl;
  40.     getline(cin, c_prof);
  41.     cout << "Indtrodusca el domicilio:" << endl;
  42.     getline(cin, dom);
  43.     cout << "Introdusca el numero de telefono:" << endl;
  44.     getline(cin, tel);
  45.  
  46. }
  47.  
  48.  
  49. void Medico::Mostrar(int x) {
  50.     cout << "------ Medico registrado numero " << (x + 1) << " ------" << endl;
  51.     cout << "Nombre: " << nombre << "\nCodigo: " << codigo << endl;
  52.     cout << "Cedula profesional: " << c_prof << "\nDomicilio: " << dom << "\nTelefono: " << tel << endl;
  53. }
  54.  
  55.  
  56. void Medico::Buscar()
  57. {
  58.     string cod;
  59.     system("cls");
  60.     cout << "------ Busqueda ------" << endl;
  61.     cout << "Introdusca el codigo: " << endl;
  62.     getline(cin, cod);
  63.     if (codigo == cod){
  64.         cout << "------ Datos del medico ------" << endl;
  65.         cout << "Nombre: " << nombre << "\nCedula Profesional: " << c_prof << "\nDomicilio: " << dom << "\nTelefono: " << tel << endl;
  66.     }
  67.     else
  68.         cout << "Codigo inexistente" << endl;
  69. }
  70.  
  71.  
  72. void Pacientes::Capturar(int x){
  73.     system("cls");
  74.  
  75.     cout << "------ Captura de datos ------" << endl;
  76.     cout << "Paciente numero: " << (x+1) << endl;
  77.     cout << "Introdusca el numero de paciente: " << endl;
  78.     getline(cin, numpac);
  79.     cout << "Introdusca el nombre del paciente: " << endl;
  80.     getline(cin, nombre);
  81.     cout << "Introdusca el domicilio del paciente: " << endl;
  82.     getline(cin, domicilio);
  83.     cout << "Introdusca el numero de tel del paciente: " << endl;
  84.  
  85.     for (p = 0; p < telpac; p++){
  86.         cout << "Opcion numero " << p + 1 << ": ";
  87.         cin >> numero;
  88.         telf[p] = numero;
  89.     }
  90. }
  91.  
  92.  
  93. void Pacientes::Mostrar(int x){
  94.     cout << "------ Paciente registrado numero " << (x+1) << " ------" << endl;
  95.  
  96.     cout << "Numero de paciente: " << numpac << "\nNombre: " << nombre << endl;
  97.     cout << "Domicilio: " << domicilio << endl;
  98.     cout << "Numeros de telefono (Casa, Celular y oficina): " << endl;
  99.     for (p = 0; p < telpac; p++)
  100.         cout << telf[p] << endl;
  101.  
  102. }
  103.  
  104. void Pacientes::Buscar(){
  105.     string num;
  106.     system("cls");
  107.     cout << "------ Busqueda ------" << endl;
  108.     cout << "Introdusca el codigo: " << endl;
  109.     getline(cin, num);
  110.     if (num == numpac){
  111.         cout << "------ Informacion del paciente ------" << endl;
  112.         cout << "Numero de paciente: " << numpac << "\nNombre: " << nombre << endl;
  113.         cout << "Domicilio: " << domicilio << endl;
  114.         cout << "Numeros de telefono (Casa, Celular y oficina): " << endl;
  115.         for (p = 0; p < telpac; p++)
  116.             cout << telf[p] << endl;
  117.     }
  118.     else
  119.         cout << "Codigo inexistente" << endl;
  120.        
  121. }
  122.  
  123.  
  124. void menuprincipal();
  125. void menupaciente();
  126. void menumedico();
  127.  
  128.  
  129.  
  130. int main()
  131. {
  132.     menuprincipal();
  133.     return 0;
  134. }
  135.  
  136. void menuprincipal(){
  137.     int opc_menu;
  138.  
  139.     do{
  140.         system("cls");
  141.         cout << "------ Menu Principal ------" << endl;
  142.         cout << "1.-Menu Medicos" << "\n2.-Menu Pacientes" << "\n3.-Salir" << endl;
  143.         cout << "Elija una opcion y oprima ENTER ===> ";
  144.         cin >> opc_menu;
  145.  
  146.         cin.ignore();
  147.  
  148.         switch (opc_menu){
  149.         case 1:
  150.             menumedico();
  151.             break;
  152.         case 2:
  153.             menupaciente();
  154.         case 3:
  155.             cout << "" << endl;
  156.             break;
  157.         default:
  158.             cout << "Esta opcion es invalida" << endl;
  159.         }
  160.     } while (opc_menu > 0 && opc_menu < 3);
  161. }
  162.  
  163.  
  164. void menumedico(){
  165.     Medico doctor[10];
  166.     int opc_menu;
  167.     do{
  168.         system("cls");
  169.         cout << "------ Menu Pacientes ------" << endl;
  170.         cout << "1.-Caputar" << "\n2.-Mostrar" << "\n3.-Buscar" << "\n4.-Regresar" << endl;
  171.         cout << "Elija una opcion y oprima ENTER ===> ";
  172.         cin >> opc_menu;
  173.  
  174.         cin.ignore();
  175.  
  176.         switch (opc_menu){
  177.         case 1:
  178.             for (int x = 0; x<10; x++){
  179.                 doctor[x].Capturar(x);
  180.                 cin.ignore();
  181.             }
  182.             break;
  183.         case 2:
  184.             for (int x = 0; x<10; x++){
  185.                 doctor[x].Mostrar(x);
  186.             }
  187.             cin.get();
  188.             break;
  189.         case 3:
  190.            
  191.             cin.get();
  192.             break;
  193.         case 4:
  194.             cout << " " << endl;
  195.             break;
  196.         default:
  197.             cout << " " << endl;
  198.         }
  199.     } while (opc_menu > 0 && opc_menu <= 3);
  200.  
  201. }
  202.  
  203.  
  204.  
  205. void menupaciente(){
  206.    
  207.     int opc_menu;
  208.     do{
  209.         system("cls");
  210.         cout << "------ Menu Paciente ------" << endl;
  211.         cout << "1.-Caputar" << "\n2.-Mostrar" << "\n3.-Buscar" << "\n4.-Regresar" << endl;
  212.         cout << "Elija una opcion y oprima ENTER ===> ";
  213.         cin >> opc_menu;
  214.  
  215.         cin.ignore();
  216.  
  217.         switch (opc_menu){
  218.         case 1:
  219.             for (int x = 0; x<10; x++){
  220.                 enfermo[x].Capturar(x);
  221.                 cin.ignore();
  222.             }
  223.             break;
  224.         case 2:
  225.             for (int x = 0; x<10; x++){
  226.                 enfermo[x].Mostrar(x);
  227.             }
  228.             cin.get();
  229.             break;
  230.         case 3:
  231.            
  232.             cin.get();
  233.             break;
  234.         case 4:
  235.             cout << " " << endl;
  236.             break;
  237.         default:
  238.             cout << " " << endl;
  239.         }
  240.     } while (opc_menu > 0 && opc_menu <= 3);
  241. }