c언어/c언어 (병원관리)

c언어 병원관리 프로그램

byeol2ing 2017. 9. 11. 14:28
반응형
[문제] 병원에서 환자를 관리하는 C 프로그램을 작성하라.          
                     
1. 프로그램이 제공하는 기능은 다음과 같다.            
  1)입원, 2)퇴원, 3)병실 이동, 9)자료 조회 0)종료            
                     
2. 조회 대상 자료는 다음과 같다.              
  1)환자 상세 내역(신상자료, 병실 이동 내역), 2)전체 환자 명단, 3)가용 병실 목록, 4)병실별 환자 명단  
                     
3. 환자에 관한 자료는 "patient.txt" 파일에 저장되어 있으며, 레코드 구조는 다음과 같다.    
                     
 l환자번호|성명|성별|생년월일|휴대폰번호|입원일|병명|병실|주치의|담당간호사|퇴원일 l    
                     
  * 환자번호: 년도(4)+일련번호(4)              
  * 성별 -> M: 남성, F: 여성                
  * 병명: 환자가 입원한 주된 병명을 문자열로 기록            
  * 병실: 현재의 병실 번호[=층번호(1)+일련번호(2)]            
  * 주치의, 담당간호사: 현재의 주치의 및 담당간호사의 직원번호[=년도(4)+일련번호(2))]    
  * 퇴원일: 현재 입원 중인 환자는 “xxxx0101”를 기재하고, 퇴원한 환자는 년도(4)+월(2)+일(2).    
                     
4. 병실에 관한 자료는 "room.txt" 파일에 저장되어 있으며, 레코드 구조는 다음과 같다.    
                     
 병실번호|병실종류|성별|수용가능인원|현재인원     
                     
  * 병실번호: 층번호(1)+일련번호(2)              
  * 병실종류 -> 1: 1인실, 2: 2인실, 3: 3인실, x: 다인실            
  * 성별 -> M: 남성용 병실, F: 여성용 병실              
  * 수용가능인원: 1/2/3 인실은 각각 1/2/3, 다인실인 경우에 최대 수용 가능한 인원수      
  * 현재인원: 현재 당해 병실에 입원 중인 환자의 수            
                     
5. 병실이동에 관한 자료는  "room_history.txt" 파일에 저장되어 있으며, 레코드 구조는 다음과 같다.  
                     
 환자번호|변경일|변경전 병실|변경후 병실    
                     
  * 변경전: 변경 전에 환자가 있던 병실의 번호            
  * 변경후: 변경 후에 환자가 있던 병실의 번호            
                     
6. 파일에 저장된 자료는 프로그램을 시작할 때 load하고, 프로그램을 종료할 때 save할 것.    
                     
7. 각각의 기능에 대한 처리 시 유의사항              
  1) 입원: 병실, 주치의, 담당간호사를 배정할 것.            
  2) 퇴원: 환자의 신상자료를 display한 후에 퇴원일을 입력 받아 처리할 것.      
  3) 병실 이동, 의료인 배정: 변경 전의 내용을 보여준 후에 변경할 내용을 입력받고, 변경일은 시스템 상의  
     날짜를 적용할 것                
  4)자료 조회: 작성할 자료를 선택 받고, 자료 작성에 필요한 정보는 입력 받을 것. 예)환자 상세 내역 작성 시
  환자 번호를 입력 받는다.              
                     
                     
                     
[참고 사항]                  
1. main() 함수는 다음의 골격을 참고하라.              
int main(void)                  
{                    
  // load data from files              
  while (1) {                
    int menu = getMenu();            
    switch(menu) {              
    case CHECK_IN:              
      ...              
    case CHECK_OUT:              
      ...              
    case CHANGE_ROOM:            
      ...              
    case QUERY:              
      ...              
    case EXIT:                
      ...              
    }                
  }                  
  // save data to files                
}                    
                     



반응형