Advertisement
Re_21

examen

Jun 12th, 2023
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.25 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3.  
  4. public class ControlConsultas {
  5.  
  6. //Declaración de las colas para cada especialidad
  7. Queue<Paciente> colaOdonto = new LinkedList<Paciente>();
  8. Queue<Paciente> colaGastro = new LinkedList<Paciente>();
  9. Queue<Paciente> colaDerma = new LinkedList<Paciente>();
  10. Queue<Paciente> colaNeuro = new LinkedList<Paciente>();
  11.  
  12. public static void main(String[] args) throws IOException {
  13.  
  14. Scanner sc = new Scanner(System.in);
  15. ControlConsultas control = new ControlConsultas();
  16.  
  17. //Menú de opciones
  18. int opcion = 0;
  19. do {
  20. System.out.println("MENU DE OPCIONES: ");
  21. System.out.println("1. Registrar cita. ");
  22. System.out.println("2. Cargar las citas programadas. ");
  23. System.out.println("3. Mostrar datos de todas las citas de las clinicas de especialidades. ");
  24. System.out.println("4. Atender a todos los pacientes que van a especialidad de Odontologia. ");
  25. System.out.println("5. Atender a todos los pacientes que van a especialidad de Gastroenterologia. ");
  26. System.out.println("6. Atender a todos los pacientes que van a especialidad de Dermatologia. ");
  27. System.out.println("7. Atender a todos los pacientes que van a especialidad de Neurologia. ");
  28. System.out.println("8. Salir. ");
  29.  
  30. System.out.print("Ingrese la opción deseada: ");
  31. opcion = sc.nextInt();
  32.  
  33. switch(opcion) {
  34. case 1:
  35. control.registrarCita();
  36. break;
  37. case 2:
  38. control.cargarCitas();
  39. break;
  40. case 3:
  41. control.mostrarCitas();
  42. break;
  43. case 4:
  44. control.atenderOdonto();
  45. break;
  46. case 5:
  47. control.atenderGastro();
  48. break;
  49. case 6:
  50. control.atenderDerma();
  51. break;
  52. case 7:
  53. control.atenderNeuro();
  54. break;
  55. case 8:
  56. System.out.println("Gracias por usar el programa.");
  57. break;
  58. default:
  59. System.out.println("Opción inválida. Por favor ingrese una opción válida.");
  60. break;
  61. }
  62. } while(opcion != 8);
  63.  
  64. }
  65.  
  66. //Método para registrar una cita
  67. public void registrarCita() throws IOException {
  68. Scanner sc = new Scanner(System.in);
  69.  
  70. System.out.print("Ingrese CUI del paciente: ");
  71. int cui = sc.nextInt();
  72. System.out.print("Ingrese nombres del paciente: ");
  73. String nombres = sc.next();
  74. System.out.print("Ingrese apellidos del paciente: ");
  75. String apellidos = sc.next();
  76. System.out.print("Ingrese fecha de nacimiento del paciente (dd/mm/yyyy): ");
  77. String fechaNac = sc.next();
  78. System.out.print("Ingrese género del paciente (M/F): ");
  79. char genero = sc.next().charAt(0);
  80. System.out.print("Ingrese número de especialidad a la que desea realizar la consulta (1. Odontología, 2. Gastroenterología, 3. Dermatología, 4. Neurología): ");
  81. int especialidad = sc.nextInt();
  82.  
  83. Paciente paciente = new Paciente(cui, nombres, apellidos, fechaNac, genero, especialidad);
  84.  
  85. //Crear archivo para la fecha 10 de Junio de 2023
  86. String fecha = "10062023";
  87. File archivo = new File("Cita_" + fecha + ".txt");
  88. if(!archivo.exists()) {
  89. archivo.createNewFile();
  90. }
  91.  
  92. //Escribir los datos del paciente en el archivo
  93. FileWriter escritorArchivo = new FileWriter(archivo, true);
  94. PrintWriter escritor = new PrintWriter(escritorArchivo);
  95. escritor.println(paciente.toString());
  96. escritor.close();
  97.  
  98. System.out.println("Cita registrada con éxito.");
  99. }
  100.  
  101. //Método para cargar las citas programadas
  102. public void cargarCitas() throws IOException {
  103. //Crear archivo para la fecha 10 de Junio de 2023
  104. String fecha = "10062023";
  105. File archivo = new File("Cita_" + fecha + ".txt");
  106.  
  107. if(archivo.exists()) {
  108. Scanner lectorArchivo = new Scanner(archivo);
  109. while(lectorArchivo.hasNextLine()) {
  110. String linea = lectorArchivo.nextLine();
  111. String[] datos = linea.split(",");
  112. Paciente paciente = new Paciente(Integer.parseInt(datos[0]), datos[1], datos[2], datos[3], datos[4].charAt(0), Integer.parseInt(datos[5]));
  113. //Agregar el paciente a la cola correspondiente
  114. switch(paciente.getEspecialidad()) {
  115. case 1:
  116. colaOdonto.add(paciente);
  117. break;
  118. case 2:
  119. colaGastro.add(paciente);
  120. break;
  121. case 3:
  122. colaDerma.add(paciente);
  123. break;
  124. case 4:
  125. colaNeuro.add(paciente);
  126. break;
  127. }
  128. }
  129. lectorArchivo.close();
  130. System.out.println("Citas cargadas con éxito.");
  131. } else {
  132. System.out.println("No existen citas programadas para la fecha 10 de Junio de 2023.");
  133. }
  134. }
  135.  
  136. //Método para mostrar los datos de todas las citas
  137. public void mostrarCitas() {
  138. //Mostrar los datos de todas las citas de las clínicas de especialidades
  139. for(Paciente paciente : colaOdonto) {
  140. System.out.println(paciente.toString());
  141. }
  142. for(Paciente paciente : colaGastro) {
  143. System.out.println(paciente.toString());
  144. }
  145. for(Paciente paciente : colaDerma) {
  146. System.out.println(paciente.toString());
  147. }
  148. for(Paciente paciente : colaNeuro) {
  149. System.out.println(paciente.toString());
  150. }
  151. }
  152.  
  153. //Método para atender a los pacientes de Odontología
  154. public void atenderOdonto() {
  155. while(!colaOdonto.isEmpty()) {
  156. Paciente paciente = colaOdonto.remove();
  157. System.out.println("Atendiendo al paciente de Odontología: " + paciente.getNombreCompleto());
  158. }
  159. System.out.println("No hay más pacientes en la cola de Odontología.");
  160. }
  161.  
  162. //Método para atender a los pacientes de Gastroenterología
  163. public void atenderGastro() {
  164. while(!colaGastro.isEmpty()) {
  165. Paciente paciente = colaGastro.remove();
  166. System.out.println("Atendiendo al paciente de Gastroenterología: " + paciente.getNombreCompleto());
  167. }
  168. System.out.println("No hay más pacientes en la cola de Gastroenterología.");
  169. }
  170.  
  171. //Método para atender a los pacientes de Dermatología
  172. public void atenderDerma() {
  173. while(!colaDerma.isEmpty()) {
  174. Paciente paciente = colaDerma.remove();
  175. System.out.println("Atendiendo al paciente de Dermatología: " + paciente.getNombreCompleto());
  176. }
  177. System.out.println("No hay más pacientes en la cola de Dermatología.");
  178. }
  179.  
  180. //Método para atender a los pacientes de Neurología
  181. public void atenderNeuro() {
  182. while(!colaNeuro.isEmpty()) {
  183. Paciente paciente = colaNeuro.remove();
  184. System.out.println("Atendiendo al paciente de Neurología: " + paciente.getNombreCompleto());
  185. }
  186. System.out.println("No hay más pacientes en la cola de Neurología.");
  187. }
  188. }
  189.  
  190. class Paciente {
  191. private int cui;
  192. private String nombres;
  193. private String apellidos;
  194. private String fechaNac;
  195. private char genero;
  196. private int especialidad;
  197.  
  198. public Paciente(int cui, String nombres, String apellidos, String fechaNac, char genero, int especialidad) {
  199. this.cui = cui;
  200. this.nombres = nombres;
  201. this.apellidos = apellidos;
  202. this.fechaNac = fechaNac;
  203. this.genero = genero;
  204. this.especialidad = especialidad;
  205. }
  206.  
  207. public int getCui() {
  208. return cui;
  209. }
  210.  
  211. public void setCui(int cui) {
  212. this.cui = cui;
  213. }
  214.  
  215. public String getNombres() {
  216. return nombres;
  217. }
  218.  
  219. public void setNombres(String nombres) {
  220. this.nombres = nombres;
  221. }
  222.  
  223. public String getApellidos() {
  224. return apellidos;
  225. }
  226.  
  227. public void setApellidos(String apellidos) {
  228. this.apellidos = apellidos;
  229. }
  230.  
  231. public String getFechaNac() {
  232. return fechaNac;
  233. }
  234.  
  235. public void setFechaNac(String fechaNac) {
  236. this.fechaNac = fechaNac;
  237. }
  238.  
  239. public char getGenero() {
  240. return genero;
  241. }
  242.  
  243. public void setGenero(char genero) {
  244. this.genero = genero;
  245. }
  246.  
  247. public int getEspecialidad() {
  248. return especialidad;
  249. }
  250.  
  251. public void setEspecialidad(int especialidad) {
  252. this.especialidad = especialidad;
  253. }
  254.  
  255. public String getNombreCompleto() {
  256. return nombres + " " + apellidos;
  257. }
  258.  
  259. public String toString() {
  260. return cui + "," + nombres + "," + apellidos + "," + fechaNac + "," + genero + "," + especialidad;
  261. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement