物件導向程式設計圖書管理系統

2021-03-03 20:40:29 字數 2731 閱讀 8230

《物件導向程式設計(c++)》

專案名稱:圖書管理系統設計

學校:學院:

班級:姓名學號:

同組成員者:

完成時間:2023年12月28日

成績:指導教師簽名:

時間:一、 問題分析與功能定義

二十一世紀是資訊的社會,資訊作為社會最主要的資源,將成為戰略資源引起人們廣泛的關注。如何獲取資訊?圖書是我們最好的獲取資訊的方式,但由於圖書館圖書收藏量大大增加,使傳統的圖書管理員的工作日益繁重起來。

迫使人們起用新的管理方法來管理圖書,但如何把圖書管理員從繁重的工作中解脫出來呢?

科學技術日新月異的進步,讓人類生活發生了巨大的變化,計算機技術的飛速發展,使各行各業在計算機技術應用方面得到了廣泛的普及和使用。資訊化時代的到來成為不可抗拒的潮流,人類文明正在進入乙個嶄新的時代。因此,圖書管理系統也以方便、快捷、費用低的優點正慢慢地進入人們的生活,將傳統的圖書管理方式徹底的解脫出來,提高效率,減輕工人人員以往繁忙的工作,減小出錯的概率,使讀者可以花更多的時間在選擇書和看書上。

從而使人們有更多時間來獲取資訊、了解資訊、掌握資訊 。

1、設計內容及要求

設計乙個圖書館管理系統,完成圖書管理和讀者管理的功能,並能對借閱資訊進行管理,要求完成一下功能,圖書資料管理,可以新增、修改、刪除、查詢書籍資訊,讀者資料管理,可以新增、修改、刪除、查詢讀者資訊;借書管理,可以進行新增借書資訊;還書管理,可以進行還書資訊;

該專案是在visual c++ 6.0的平台下用c++語言實現,建立物件,程式執行開始,開啟檔案並將其分別鏈入鍊錶之中;程式結束關閉並儲存檔案。整體系統功能全部由鍊錶實現。

2、模組圖

二、物件(類)設計及實現

1、概要設計

reader讀者類、rdatabase 讀者庫類、book 圖書類、bdatabase 圖書庫類

2、詳細設計

1)類的原型描述

3、核心控制設計

1、在主函式中我們要做的操作包括:

(1)建立1個reader讀者類、1個rdatabase 讀者庫類、1個book 圖書類、1個bdatabase 圖書庫類

(2)建立選單介面。完成以下內容:

①進入功能必須開啟選單,然後使用者根據選單選擇相應的操作方式,如檢視資料、編輯圖書資料以及修改圖書資料、維護圖書的採購資訊。新增、刪除、檢視讀者個人資訊,瀏覽圖書資訊。

② 能夠對圖書基本資訊、圖書採購資訊、圖書的借閱人資訊進行統計,統計的結果能夠以**的形式來表示。

(3) 將圖書基本資訊、圖書採購資訊、圖書的借閱人資訊儲存在相應的檔案中。

(4) 系統介面友好,易操作。

2、本程式應具備的功能:

a.新增、借閱、還書功能:

(1)新增讀者和圖書資訊。

2)借閱尚在架的圖書。

3)讀者歸還的圖書。

b.查詢功能

(1) 根據圖書的編號查詢圖書資訊。

(2)根據讀者的編號查詢讀者的資訊。

c.系統的操作

(1) 系統在進入時,要有選單提示;

(2) 系統在使用者退出時,有一定的提示。

3、演算法分析

1)新增操作:(讀者資訊的新增與圖書資訊的新增類似)

包括兩個部分,先通過輸入裝置輸入資訊,系統獲取;然後新增入讀者資料庫read.txt檔案中。

㈠獲取資訊

void reader::addreader(int n,char *na) //增加讀者

int rdatabase::addreader(int n,char *na) //增添讀者資訊

return 0;

}流程圖:

㈡析構函式寫入新讀者的編號跟姓名

rdatabase::~rdatabase

}流程圖:

2)借書操作:利用for語句和if語句,通過判斷圖書的borbook的編號是否為0,來判斷圖書是否未被借走或還沒有被借完。

void reader::borrowbook(int bookid) //借書操作

流程圖:

3)還書操作:利用for語句和if語句,通過判斷圖書的borbook的編號是否為要還書的編號,來判斷是否借出此書。

int reader::retbook(int bookid還書操作

流程圖:

四、測試分析

(一)、此系統存在問題

1) 未設登入密碼保護系統,是整個圖書管理系統失去了一定的安全性;

2) 程式執行介面

此介面執行時選擇4有時會出現記憶體讀取錯誤;

1)當輸入錯的資料型別時可能導致記憶體錯誤;

2)讀者、圖書資訊不完善;

3)命名不是很規範;

4)資訊儲存有限;

五、心得體會

通過這次課程設計讓我逐步學會了如何運用c++物件導向程式設計的設計思想和方法來解決實際問題。

比如這次設計圖書管理系統,首先我考慮是在實際應用時使用者一般進行什麼操作,對哪些物件進行操作。很顯然我需要建立兩個類,包括圖書類和讀者類,同時考慮到圖書和讀者不止乙個,所以還需兩個類,圖書庫類和讀者庫類,這兩個類分別將其資訊傳遞給圖書類和讀者類。確定了類之後,則需要對類的內容進行擴充。

由於我需要這個系統完成對圖書管理和讀者管理的功能,並能對借閱資訊進行管理,要求完成一下功能,圖書資料管理,可以新增、修改、刪除、查詢書籍資訊,讀者資料管理,可以新增、修改、刪除、查詢讀者資訊;借書管理,可以進行新增借書資訊;還書管理,可以進行還書資訊。所以在對應的類下建立相應功能函式。建立功能函式後就是構造主函式。

主函式的作用就是通過向物件傳送資訊、物件接受資訊啟動相應的方法來實現相應的操作。

物件導向圖書管理系統實驗

一 需求調查分析 本系統主要實現對圖書館的資訊進行管理,圖書館的正常運營中總是面對大量的讀者資訊,圖書資訊以及兩者相互作用產生的借書資訊,因此要對讀者資源,圖書資源,借書資訊進行管理。本系統的開發就是在於提高圖書管理的工作效率,加強圖書館的管理。圖書館管理系統是圖書館管理工作中不可缺少的部分,它的內...

《物件導向分析與設計》圖書管理系統

物件導向方法綜合性實驗報告 2015 2016學年第2學期 題目 圖書館圖書管理系統 班級 13電腦科學與技術軟體班學號姓名 1301110104 陳濤完成時間 年月日 目錄第一章簡介 1 1.1簡介 1 第二章需求分析 2 2.1 功能需求 2 2.1.1功能劃分 2 2.1.2功能描述 2 2....

物件導向程式設計 高校學籍管理系統

課程設計報告 課程名稱物件導向程式設計 課題名稱高校學籍管理系統 一 設計內容與設計要求 1.課程設計目的 物件導向程式設計課程設計是集中實踐性環節之一,是學習完 物件導向程式設計 課程後進行的一次全面的綜合練習。要求學生達到熟練掌握c 語言的基本知識和技能 基本掌握物件導向程式設計的思想和方法 能...