예제 #1
0
 public void ModifyData()
 {
     m_BookTitle     = BookUtil.InputString("책제목 : ");
     m_BookAuthors   = BookUtil.InputList("저자");
     m_BookContents  = BookUtil.InputList("목차");
     m_BookPublisher = BookUtil.InputString("출판사 : ");
 }
예제 #2
0
        public void ModifyBookMenu()
        {
            int iChoice = 1;

            while (iChoice != 0)
            {
                Console.WriteLine("1. 책제목으로 검색후 수정");
                Console.WriteLine("2. 저자로 검색후 수정");
                Console.WriteLine("3. 목차로 검색후 수정");
                Console.WriteLine("0. 종료");
                iChoice = BookUtil.GetInputInt();
                switch (iChoice)
                {
                case 1:
                    ModifyBook("수정할 책제목 : ", "수정하려는 제목의 도서는 존재하지 않습니다.", Book.CompareBookTitle);
                    break;

                case 2:
                    ModifyBook("수정할 저자책 : ", "수정하려는 저자의 도서는 존재하지 않습니다.", Book.FindAuthor);
                    break;

                case 3:
                    ModifyBook("수정할 목차 : ", "수정하려는 목차의 도서는 존재하지 않습니다.", Book.FindContents);
                    break;

                default:
                    break;
                }
            }
        }
예제 #3
0
        public void SearchBookMenu()
        {
            int iChoice = 1;

            while (iChoice != 0)
            {
                Console.WriteLine("1. ISBN으로 검색");
                Console.WriteLine("2. 책제목으로 검색");
                Console.WriteLine("3. 저자로 검색");
                Console.WriteLine("4. 목차로 검색");
                Console.WriteLine("0. 종료");
                iChoice = BookUtil.GetInputInt();
                switch (iChoice)
                {
                case 1:
                    SearchBook("찾을 ISBN코드 : ", "찾으려는 ISBN코드 도서는 존재하지 않습니다.", Book.CompareISBN);
                    break;

                case 2:
                    SearchInList("찾을 책제목 : ", "찾으려는 제목의 도서는 존재하지 않습니다.", Book.CompareBookTitle);
                    break;

                case 3:
                    SearchInList("찾으려는 저자 : ", "찾으려는 저자의 도서는 존재하지 않습니다.", Book.FindAuthor);
                    break;

                case 4:
                    SearchInList("찾으려는 목차 문자열 : ", "찾으려는 목차의 문자열 도서는 존재하지 않습니다.", Book.FindContents);
                    break;

                default:
                    break;
                }
            }
        }
예제 #4
0
 public void PrintData()
 {
     Console.WriteLine("ISBN : {0}", m_ISBN);
     Console.WriteLine("책제목 : {0}", m_BookTitle);
     BookUtil.PrintList("저자", m_BookAuthors);
     BookUtil.PrintList("목차", m_BookContents);
     Console.WriteLine("출판사 : {0}", m_BookPublisher);
 }
예제 #5
0
 public bool InputData(IBookMgr bookMgr)
 {
     m_ISBN = BookUtil.InputString("ISBN : ");
     if (bookMgr.SearchBook(m_ISBN, Book.CompareISBN) != -1)
     {
         Console.WriteLine("이미 등록된 책입니다.");
         return(false);
     }
     ModifyData();
     return(true);
 }
예제 #6
0
        public void ModifyBook(string strTitle, string strErrMsg, CompareBookDelegate compareBookDelegate)
        {
            string     str    = BookUtil.InputString(strTitle);
            List <int> Result = SearchInList(str, compareBookDelegate);

            if (Result.Count > 0)
            {
                ModifyBook(Result);
            }
            else
            {
                Console.WriteLine(strErrMsg);
            }
        }
예제 #7
0
        public int DisplayTitleAndAuthorsList(List <int> Result)
        {
            for (int i = 0; i < Result.Count; i++)
            {
                Console.WriteLine("{0}. {1}", i + 1, m_BookList[Result[i]].GetTitleAndAuthors());
            }
            int iChoice = BookUtil.GetInputInt();

            if (iChoice > 0 && iChoice <= Result.Count)
            {
                return(iChoice - 1);
            }
            return(-1);
        }
예제 #8
0
        public void SearchInList(string strTitle, string strErrMsg, CompareBookDelegate compareBookDelegate) //다중검색
        {
            string     strAuthor  = BookUtil.InputString(strTitle);
            List <int> ResultList = SearchInList(strAuthor, compareBookDelegate);

            if (ResultList.Count > 0)
            {
                PrintAllBooks(ResultList);
            }
            else
            {
                Console.WriteLine(strErrMsg);
            }
        }
예제 #9
0
        public void SearchBook(string strTitle, string strErrMsg, CompareBookDelegate compareBookDelegate) //단일검색
        {
            string str    = BookUtil.InputString(strTitle);
            int    iIndex = SearchBook(str, compareBookDelegate);

            if (iIndex != -1)
            {
                m_BookList[iIndex].PrintData();
            }
            else
            {
                Console.WriteLine(strErrMsg);
            }
        }
예제 #10
0
        public void Menu()
        {
            int iChoice = 1;

            while (iChoice != 0)
            {
                Console.WriteLine("1. 도서등록");
                Console.WriteLine("2. 도서출력");
                Console.WriteLine("3. 도서검색");
                Console.WriteLine("4. 도서삭제");
                Console.WriteLine("5. 도서수정");
                Console.WriteLine("0. 종료");
                iChoice = BookUtil.GetInputInt();
                switch (iChoice)
                {
                case 1:
                    InsertBook();
                    break;

                case 2:
                    PrintAllBooks();
                    break;

                case 3:
                    SearchBookMenu();
                    break;

                case 4:
                    DeleteBookMenu();
                    break;

                case 5:
                    ModifyBookMenu();
                    break;

                default:
                    break;
                }
            }
        }
예제 #11
0
 public static bool FindContents(Book book, string strContents)
 {
     return(BookUtil.SearchInList(book.m_BookContents, strContents, BookUtil.StringContains));
 }
예제 #12
0
 public static bool FindAuthor(Book book, string strAuthor)
 {
     return(BookUtil.SearchInList(book.m_BookAuthors, strAuthor, BookUtil.StringEqual));
 }