圖書管理系統心得體會
圖書管理系統的大體結構:
資料類有時間類、紀錄類、圖書類、使用者類。
操作類有管理員類和使用者操作類。
使用者操作類要實現的操作就是借數還書查書,管理員類要實現的操作就是對使用者和圖書資訊進行增刪查改。
時間類不必多說要注意的一點就是在時間類中可以過載加號來實現借閱時間的增加。
記錄類主要包括圖書和使用者的借閱記錄,get set函式等。
使用者類中包括使用者的基本資訊記錄類的一個vector,要實現新增記錄的功能。在使用者類的過載輸入輸出函式中不光要輸入輸出使用者的基本資訊還要輸入輸出這個使用者跟著的記錄,圖書類的過載輸入輸出也要有這本圖書跟著的借閱記錄。
圖書類中包括圖書的基本資訊記錄類的一個vector,一個記錄數,用於判斷需要輸出的記錄的條數。圖書類中實現增加一條記錄和顯示圖書的功能。
在使用者操作類和管理員類中需要過載建構函式和解構函式來進行文件讀寫資料。使用者操作類中包括時間類和使用者類的一個物件、圖書類的vector,實現借書、還書、檢視圖書館中所有圖書和按書號查詢圖書的功能。管理員類中包括時間類的一個物件、使用者類和圖書類的vector,實現增刪使用者和圖書、按學號查詢使用者和按書號查詢圖書的功能。
學習到的知識:
在不同類中的一些相同的操作可以使用繼承來寫,能夠縮短程式碼的長度。
怎樣使用檔案操作來實現開始時從檔案中讀取資料結束時將資料寫入檔案中。
為了資料安全在使用者操作類的資料成員中只能有一個使用者,而建構函式也應相應的寫成帶引數的建構函式。
像如借閱記錄、使用者、圖書這種之前用陣列實現的操作現在用vector代替會更加的方便。
進行查詢操作是使用map來進行查詢,使用map的查詢速度要比順序查詢快很多,只是因為現在資料量太少所以感覺不出來。
因為要使用檔案操作所以在資料類中應該過載輸入輸出函式。
程式的不足之處:
沒有寫使用者登入操作。在程式中沒有使用繼承。還有就是在程式的使用者部分存在一個問題,在執行解構函式向檔案中寫入使用者資訊時只會寫入當前使用者的資訊,而其它使用者沒有寫入。
這個程式還需要再進一步的完善修改,徹底搞明白其中的內容才能為以後更復雜的程式打下基礎。