Ejercicio: 2Eva_IIT2001_T4 Control de habitaciones en una clínica
Propuesta de solución en Python:
Control de habitaciones en una clínica.
Se plantea usar una lista para los datos de paciente y un arreglo para la ocupación de las habitaciones.
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIT2001_T4 Control de habitaciones en una clínica
# Tarea: abrir archivo de datos
import numpy as np
paciente=[]
# menu
opcion = '0'
while not(opcion=='6'):
print(' 1. Ingresar habitaciones')
print(' 2. Ingresar paciente y asignar habitación')
print(' 3. Dar de alta a paciente, habitacion libre')
print(' 4. Guardar datos de paciente')
print(' 5. Abrir datos de pacientes')
print(' 6. Salir')
opcion = input('cual opcion: ')
if (opcion=='1'):
print(' **** 1. Ingresar habitaciones ****')
n = int(input('cuantas:'))
habitacion = np.zeros(n,dtype=int)
print(habitacion)
if (opcion=='2'):
print(' **** 2. Ingresar paciente y asignar habitación ****')
cedula = input('cedula: ')
nombre = input('nombre: ')
codigo = int(input('cual habitación: '))
while (habitacion[codigo]==1):
print(' la habitacion está ocupada,..')
codigo = int(input('cual habitación: '))
registro = [cedula,nombre,codigo]
paciente.append(registro)
habitacion[codigo] = 1
print(paciente)
if (opcion=='3'):
print(' **** 3. Dar de alta a paciente, habitacion libre ****')
print(paciente)
cualpaciente=int(input(' numero paciente:'))
donde=paciente[cualpaciente][2]
if (habitacion[donde]==1):
habitacion[donde] = 0
paciente[cualpaciente][2] = 0
else:
print(' la habitacion no tiene paciente')
print(habitacion)
if (opcion=='4'):
print(' **** 4. Guardar archivo ****')
# trabajar con un archivo
archivo = open('pacientes.txt','w')
n = len(paciente)
fila = 0
while not(fila>=n):
# Crea linea de texto con datos
# para un registro, separada por comas
registro = paciente[fila][0]+',' + paciente[fila][1] +',' +str(paciente[fila][2]) +'\n'
# Escribe registro en una línea del archivo
archivo.write(registro)
fila = fila+1
archivo.close() # Cierra el archivo
if (opcion=='5'):
print(' 5. **** Abrir archivo ****')
print(' # TAREA, COMPLETAR EL PROCESO')
if (opcion=='6'):
print(' 6. **** Salir ****')
completar la tarea.
resultado del algoritmo
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 1
**** 1. Ingresar habitaciones ****
cuantas:10
[0 0 0 0 0 0 0 0 0 0]
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 1
**** 1. Ingresar habitaciones ****
cuantas:10
[0 0 0 0 0 0 0 0 0 0]
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 2
**** 2. Ingresar paciente y asignar habitación ****
cedula: 123
nombre: Juan
cual habitación: 8
[['123', 'Juan', 8]]
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 2
**** 2. Ingresar paciente y asignar habitación ****
cedula: 234
nombre: Maria
cual habitación: 8
la habitacion está ocupada,..
cual habitación: 7
[['123', 'Juan', 8], ['234', 'Maria', 7]]
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 3
**** 3. Dar de alta a paciente, habitacion libre ****
[['123', 'Juan', 8], ['234', 'Maria', 7]]
numero paciente:0
[0 0 0 0 0 0 0 1 0 0]
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 4
**** 4. Guardar archivo ****
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 5
5. **** Abrir archivo ****
# TAREA, COMPLETAR EL PROCESO
1. Ingresar habitaciones
2. Ingresar paciente y asignar habitación
3. Dar de alta a paciente, habitacion libre
4. Guardar datos de paciente
5. Abrir datos de pacientes
6. Salir
cual opcion: 6
6. **** Salir ****
>>>