파일 목록
- 1-Time1-.c
- 1-로또 프로그램 만들기.c
- 1-성적 평균 계산.c
- 1-소스.c
- 1-예제1.c
- 10-1.c
- 10-2.c
- 10-3.c
- 10-4.c
- 10-5.c
- 10-6.c
- 11-1.c
- 11-2.c
- 11-3.c
- 11-4.c
- 11-5.c
- 11-6.c
- 11-make.c
- 12-1-1.c
- 12-1-2.c
- 12-1-3.c
- 12-1-4.c
- 12-2-1.c
- 12-2-2.cpp
- 12-2-3.c
- 12-2-4.c
- 12-2-5.c
- 13-1.c
- 13-2.c
- 13-3.c
- 13-4.c
- 13-5.c
- 13-6.c
- 13-make.c
- 14-1-main.c
- 14-1-power.c
- 14-1-power.h
- 14-2-rect.c
- 14-2-rect.h
- 14-2-rect_main.c
- 14-2-소스.c
- 14-2-소스1.c
- 14-main.c
- 14-reserv.c
- 14-reserv.h
- 2-DICE.c
- 2-minimum.c
- 3-TIC_TAC_TOE.c
- 4-1.c
- 4-2.c
- 4-3.c
- 4-Point.c
- 4-주소.c
- 5-1.cpp
- 5-2.c
- 5-3.c
- 5-4.c
- 5-5.c
- 5-6.c
- 5-7.c
- 6-1.c
- 6-2.c
- 6-3.c
- 6-4.c
- 6-5.c
- 6-6.c
- 6-7.c
- 6-8.c
- 6-make.c
- 7-1.c
- 7-10.c
- 7-11.c
- 7-12.c
- 7-2.c
- 7-3.c
- 7-4.c
- 7-5.c
- 7-6.c
- 7-7.c
- 7-8.c
- 7-9.c
- 7-make.c
- 8.c
- 9.c
- sil1.c
- sil2.c
- sil3.c
- Title.png
- 성적받아오기).c
/*****************************************************************
* 호텔 관리 프로그램
********************************************************************/
// 오류와 링크드 리스트는 도저히 못하겠어요 ㅜㅜ
#define _CRT_SECURE_NO_WARNINGS // scanf오류 제거를 위한 코드
#include "reserv.h" // 제작 헤더파일 불러오기
#include <stdio.h> // 표준 입출력장치 사용을 위한 헤더파일 로드
// #include <stdlib.h> malloc 사용 안함
int main()
{
Book data;
int num = 0;
int a = 0; //while문 함수 불러오기를 위한 int a변수 생성
// 저장된 파일 불러오기
FILE *fp;
char fname = "reservation.txt"; // 열 파일 이름 저장
if ((fp = fopen(fname, "r")) == NULL) { // 파일이 없는경우 새로 생성
fprintf(stderr, "파일이 없습니다. 새로 생성합니다.");
if ((fp = fopen(fname, "w")) == NULL); { // w모드로 생성조차 안되는 경우
fprintf(stderr, "파일 생성이 불가능합니다. 종료합니다."); // 강제종료
exit(1);
}
// w 모드로 실행됬으므로 r모드로 다시열기
fclose(fp); // r모드로 재실행
fp = fopen(fname, "r");
}
// r모드에서 파일 내용 읽어들이기
fseek(fp, 0, SEEK_SET); // 맨 위어서부터 읽어내리기
while (!feof(fp)) { // 파일 종료 시점까지 읽음
fscanf(fp, "%d %s %s %s", &data.room_num, data.name, data.monum, data.mail); // 파일에서 내용을 배열로 옮기는 과정
num = data.room_num - 101; // 배열 0번이 101호라 해당 과정을 거침
s[num].room_num = data.room_num; // 실질적으로 이동하는 과정 (방번호, 이름, 폰번호, 메일주소)
strcpy(s[num].name, data.name);
strcpy(s[num].monum, data.monum);
strcpy(s[num].mail, data.mail);
}
while(1) {
menu(a); // 메뉴 함수
switch (a) {
case 1: {
booking(); // 예약 함수
}
case 2: cancle(); // 예약 취소 함수
case 3: find(); // 예약자 검색 함수
case 4: find_all(); // 예약자 전체보기 함수
case 5: {
shutdown(fp); // 종료 함수
break; // while문 나오기
}
}
}
return 0; // 정상 종료
}