Advertisement
a20121248

Untitled

Nov 12th, 2015
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. void RegistroPersonal_listarMedicos() {
  2.     ifstream fileMedicos("RegistroPersonal.dat", ios::in | ios::binary);
  3.     if (!fileMedicos) {
  4.         cerr << "No se puede abrir el archivo RegistroPersonal.dat\n";
  5.         exit(1);
  6.     }
  7.    
  8.     /* listo todos los registros en un arreglo de Medicos */
  9.     Medico arr[100];
  10.     int numMedicos = 0;
  11.     Medico dummyMed;
  12.     fileMedicos.read(reinterpret_cast<char*> (&dummyMed), sizeof(Medico));
  13.     while (fileMedicos && !fileMedicos.eof()) {
  14.         if (dummyMed.GetCodigo() > 0)
  15.             arr[numMedicos++] = dummyMed;
  16.         fileMedicos.read(reinterpret_cast<char*> (&dummyMed), sizeof(Medico));
  17.     }
  18.     int opcion = RegistroPersonal_leerOpcionListado();
  19.     while (opcion != 0) {
  20.         switch(opcion) {
  21.             case 1:
  22.                 qsort(arr, numMedicos, sizeof(Medico), cmpCodigo);
  23.                 for (int i = 0; i < numMedicos; ++i)
  24.                     arr[i].pprint();            
  25.                 break;
  26.             case 2:
  27.                 qsort(arr, numMedicos, sizeof(Medico), cmpNombre);
  28.                 for (int i = 0; i < numMedicos; ++i)
  29.                     arr[i].pprint();            
  30.                 break;
  31.             case 3:
  32.                 qsort(arr, numMedicos, sizeof(Medico), cmpApellido);
  33.                 for (int i = 0; i < numMedicos; ++i)
  34.                     arr[i].pprint_apell();
  35.                 break;
  36.             case 4:
  37.                 qsort(arr, numMedicos, sizeof(Medico), cmpEspecialidad);
  38.                 for (int i = 0; i < numMedicos; ++i)
  39.                     arr[i].pprint();            
  40.                 break;
  41.             case 5:
  42.                 qsort(arr, numMedicos, sizeof(Medico), cmpTarifa);
  43.                 for (int i = 0; i < numMedicos; ++i)
  44.                     arr[i].pprint();
  45.         }
  46.         opcion=RegistroPersonal_leerOpcionListado();
  47.     }
  48.     fileMedicos.close();
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement