static int countBookNo = 5; // 도서번호 count값. 도서 번호를 static으로 지정하여 도서 번호를 계속해서 저장하여 중복되는 것을 막는다. public void RunBookPage(ArrayList memberArrayList, ArrayList bookArrayList) { string bookPageInput = Console.ReadLine(); switch (bookPageInput) { case "1": RegisterBook(memberArrayList, bookArrayList); break; // 1번 입력 시 '도서 등록' 실행 case "2": ModifyBook(memberArrayList, bookArrayList); break; // 2번 입력 시 '도서 수정' 실행 case "3": DeleteBook(memberArrayList, bookArrayList); break; // 3번 입력 시 '도서 삭제' 실행 case "4": SelectBook(memberArrayList, bookArrayList); break; // 4번 입력 시 '도서 검색' 실행 case "5": PrintBookList(memberArrayList, bookArrayList); break; // 5번 입력 시 '도서 내역' 실행 case "6": display.PrintMainPage(); // 6번 입력 시 메인 페이지로 이동 mainPage.RunMainPage(memberArrayList, bookArrayList); break; default: Console.SetCursorPosition(104, 22); // 지정된 번호 이외의 입력이 들어왔을 때 알림 메세지 출력 Console.Write("잘못된 입력"); System.Threading.Thread.Sleep(1000); display.PrintBookPage(); RunBookPage(memberArrayList, bookArrayList); break; } }
static bool isCalledBefore = true; // MainPage가 처음으로 실행됐는지 확인하는 값을 저장 public void RunMainPage(ArrayList memberArrayList, ArrayList bookArrayList) // MainPage 실행 { if (isCalledBefore == true) // MainPage가 처음으로 실행된 경우 회원 및 도서 데이터를 저장 { MemberAndBookData memberAndBookData = new MemberAndBookData(); memberAndBookData.InitMemberAndBookData(memberArrayList, bookArrayList); // 회원 및 도서 데이터를 초기화 isCalledBefore = false; // MainPage가 한번 실행됐기 때문에 값을 false로 변경 } string mainMenuInput = Console.ReadLine(); switch (mainMenuInput) { case "1": display.PrintMemberPage(); // 입력값이 1인 경우 회원 관리 페이지 실행 member.RunMemberPage(memberArrayList, bookArrayList); break; case "2": display.PrintBookPage(); // 입력값이 2인 경우 도서 관리 페이지 실행 book.RunBookPage(memberArrayList, bookArrayList); break; case "3": display.PrintRentAndReturnBook(); // 입력값이 3인 경우 도서 대여 및 반납 페이지 실행 rentAndReturnBook.RunRentAndReturnBook(memberArrayList, bookArrayList); break; case "4": Environment.Exit(0); break; default: Console.SetCursorPosition(104, 22); // 입력값이 지정된 번호가 아닌 경우 '잘못된 입력' 출력 Console.WriteLine("잘못된 입력"); System.Threading.Thread.Sleep(1000); display.PrintMainPage(); RunMainPage(memberArrayList, bookArrayList); break; } }
public void RunMemberPage(ArrayList memberArrayList, ArrayList bookArrayList) { string memberPageInput = Console.ReadLine(); // '회원 관리'에서 메뉴 선택 입력 받기 switch (memberPageInput) { case "1": RegisterMember(memberArrayList, bookArrayList); break; // 1번 입력 시 '회원 등록'으로 이동 case "2": ModifyMemberFirstStep(memberArrayList, bookArrayList); break; // 2번 입력 시 '회원 수정'으로 이동 case "3": DeleteMember(memberArrayList, bookArrayList); break; // 3번 입력 시 '회원 삭제'로 이동 case "4": SelectMember(memberArrayList, bookArrayList); break; // 4번 입력 시 '회원 검색'으로 이동 case "5": PrintMemberList(memberArrayList, bookArrayList); break; // 5번 입력 시 '회원 출력'으로 이동 case "6": display.PrintMainPage(); // 6번 입력 시 메인 메뉴로 이동 mainPage.RunMainPage(memberArrayList, bookArrayList); break; default: Console.SetCursorPosition(104, 22); Console.WriteLine("잘못된 입력"); // 지정된 번호 이외의 입력이 들어왔을 때 System.Threading.Thread.Sleep(1000); display.PrintMemberPage(); RunMemberPage(memberArrayList, bookArrayList); break; } }
static void Main(string[] args) { MainPage mainPage = new MainPage(); // MainPage 클래스의 인스턴스 생성 Display display = new Display(); // Display 클래스의 인스턴스 생성 ArrayList memberArrayList = new ArrayList(); // ArrayList 클래스의 memberArrayList 인스턴스 생성 ArrayList bookArrayList = new ArrayList(); // ArrayList 클래스의 bookArrayList 인스턴스 생성 display.PrintMainPage(); // 도서 관리 시스템 메인 페이지 출력 mainPage.RunMainPage(memberArrayList, bookArrayList); // 메인 페이지 실행 }
public void RunRentAndReturnBook(ArrayList memberArrayList, ArrayList bookArrayList) // 도서 대여 및 반납 메뉴 실행 { string rentAndReturnBookInput = Console.ReadLine(); switch (rentAndReturnBookInput) { case "1": RentBook(memberArrayList, bookArrayList); break; // 입력값이 1인 경우 도서 대여 기능 실행 case "2": ReturnBook(memberArrayList, bookArrayList); break; // 입력값이 2인 경우 도서 반납 기능 실행 case "3": PrintRentAndReturnBookList(memberArrayList, bookArrayList); break; // 입력값이 3인 경우 대여 내역 기능 실행 case "4": display.PrintMainPage(); // 입력값이 4인 경우 메인 페이지로 이동 mainPage.RunMainPage(memberArrayList, bookArrayList); break; default: Console.SetCursorPosition(104, 22); // 입력값이 지정된 번호가 아닌 경우 '잘못된 입력' 출력 Console.Write("잘못된 입력"); System.Threading.Thread.Sleep(1000); display.PrintRentAndReturnBook(); RunRentAndReturnBook(memberArrayList, bookArrayList); break; } }