C 圖書信息管理系統(tǒng)(含源碼)_第1頁
C 圖書信息管理系統(tǒng)(含源碼)_第2頁
C 圖書信息管理系統(tǒng)(含源碼)_第3頁
C 圖書信息管理系統(tǒng)(含源碼)_第4頁
C 圖書信息管理系統(tǒng)(含源碼)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

學(xué)號:20234303

計算機實習(xí)匯報

系別:管理系

專業(yè):信息管理與信息系統(tǒng)專業(yè)

班級:1043班

學(xué)生姓名:李優(yōu)

指導(dǎo)教師:徐日

日期:2023-09-03~2023-09-14

1需求分析

1.1選題任務(wù)

圖書借閱管理系統(tǒng)

(1)編程工具

C++

(2)規(guī)定

選題學(xué)生應(yīng)具有端正的學(xué)習(xí)態(tài)度、正常口勺交流能力,應(yīng)有積極積極、克服困難

的學(xué)習(xí)意識

(3)本題概述

以學(xué)院圖書館為例,圖書借與管理是一項常常性工作,為使圖書借閱管理工作

精確高效,提供圖書借閱記錄日勺添加、修改、刪除、查詢、瀏覽、匯總等,用

圖書借閱關(guān)系軟件,能有效提高工作效率,具有較強的實際意義。

(4)功能描述

①能度日外部提供的包括圖書借閱信息的文本文獻(xiàn)(TXT文獻(xiàn));

②能在程序中錄入圖書借閱信息(可參照我完圖書館網(wǎng)上圖書借閱信息的各個項

目),并將信息寫入文本文獻(xiàn)(TXT文獻(xiàn));

③能對所有圖書借閱信息,按條件(按圖書名、圖書編號、借閱日期、借閱人、

超期與否、超期天數(shù)等)查詢?yōu)g覽,能匯總記錄計算出符合某條件的圖書借閱

記錄H勺數(shù)量并瀏覽這些借閱信息,能將查詢、瀏覽、匯總的成果輸出成果文本

文獻(xiàn)(TXT文獻(xiàn))

(5)輔助闡明

基礎(chǔ)規(guī)定:①+②

擴展規(guī)定:①+②+③

1.2輸入數(shù)據(jù)和輸出數(shù)據(jù)形式:

程序中包括口勺圖書信息包括:

charbnum[20];//書號

charbname[20];//書名

charbauthor[10];〃作者

charrname[10];〃借閱人

charbdays[10];//借出日期

charbchac[10];〃超期天教

為了以便,我所有設(shè)置成了char型。

而程序中包括兩種輸入方式和兩種輸出方式,對應(yīng)題目規(guī)定,分別是:單個圖書信

息日勺增刪查改;TXT文檔的導(dǎo)入(圖書數(shù)據(jù)庫.txt);屏幕日勺打印;TXT文檔時導(dǎo)出(書

籍信息.txt)0

1.3測試數(shù)據(jù)及測試目的

字母測試,錯誤數(shù)據(jù)測試,反復(fù)數(shù)據(jù)測試

目口勺:產(chǎn)看本程序H勺糾錯能力和與否人性化。

2程序設(shè)計

2.1關(guān)鍵數(shù)據(jù)類型定義

〃********書籍構(gòu)造體,用于寄存書籍基本信息********

char*get_rname(;〃獲得借閱人姓名

voidcopy(Bookm)〃Book構(gòu)造體copy函數(shù)

};//cIassbook

//**********書籍管理構(gòu)造體,實現(xiàn)管理書籍功能**********

cIassBookManage

private:

Bookbooks[100];//定義Book書籍構(gòu)造體數(shù)組對象,最大容量100本

pubIic:

intlength;

BookManage()//構(gòu)造函數(shù),讀取磁盤文獻(xiàn)

intadd(Bookbook)//添加圖書資料

intbnu_search(char*bnu)〃按書號查找書籍

intbna_search(char*bna)〃按書名查找書籍

intbau_search(char*bau)〃按作者查找書籍

intrn_search(char*rn)//按借閱人查找書籍

intbd_search(char*bd)〃按借出日期查找書籍

intbc_search(char*bc)〃按超期天數(shù)查找書籍

voidrevise(Bookbook,inti)//修改書籍函數(shù)

voiddeleteBook(intindex)//刪除書籍資料函數(shù)

voidshow_bookhead()〃顯示輸出列表,表頭。

voidshowbook(inti)〃顯示書籍函數(shù)

voidsaveFiIeHead()///保留書籍文獻(xiàn)口勺表頭到txt

voidsaveFile(inti)//帶參口勺輸出書籍到txt

voidreadFiIe0//讀取書籍文獻(xiàn)

};//cIassBookManage

//**********菜單力勾造.體,實現(xiàn)界面弓|導(dǎo)**********

cIassMenu

(

BookManagebm;//定義書籍管理構(gòu)造體對象bm

private:

intchoice;〃菜單序號選擇

intkey;〃管理員密碼

publie:

voidheader()〃首頁歡迎界面

voidIog_menu()〃主界面登錄菜單

voidadmin_menuC//管理菜單

voidabsearch_menu0//查找書籍菜單

voidIog_admin()〃密碼登陸

voidrn_search()〃按借閱人姓名查找函教

voidbnu_searchC〃按書號查找函數(shù)

voidbna_searchC//按書名查找函數(shù)

voidbau_searchC//按作者查找函數(shù)

voidbd_search()//按借閱日期查找函數(shù)

voidbc_search()//按超期天數(shù)查找函數(shù)

voidaddBook()〃添加新的書籍信息函數(shù)

voidreviseBookC//修改書籍函數(shù)

voiddeIBook()//刪除書籍舀數(shù)

intmain()

2.2主程序流程圖

2.3調(diào)用關(guān)系

1.書籍信息日勺錄入:

voidsetbnum(char*no)〃設(shè)置書號

{strcpy(bnum,nc);)〃把字符串no中的字符復(fù)制到字符串bnum中

char*get_bnum()〃獲得書號

returnbnum;}〃返回值為bnum

voidset_bname(char*n)〃設(shè)置書名

(strcpy(bname,n);}

char*get_bname()〃獲得書名

{returnbname;)

voidset_bauthor(char*a)//設(shè)置作者

{strcpy(bauthor,a);)

char*get_bauthor()//獲得作者姓名

{returnbauthor;}

voidset_bdays(char*d)〃設(shè)置借出日期

(strcpy(bdays,d);)

char*get_bdays()//獲得借出日期

{returnbdays;)

voidset_bchao(char*c)//設(shè)置超過天數(shù)

{strcpy(bchao,c);)

char*get_bchao()〃獲得超過天數(shù)

{returnbchao;}

voidset_rname(char*rn)//設(shè)置借閱人

{strcpy(rname,rn);}

char*get_rname()〃獲得借閱人姓名

{returnrname;}

2.書籍信息日勺添加:

intadd(Bookbook)

判斷l(xiāng)ength與否到達(dá)最大值,假如沒有則進行添加。

3.書籍信息的查找:

無論是按照書號、書名、作者、借閱人、借出日期、超期天數(shù)來進行查找都是進行

挨個比較,假如碰到相似則返回書籍日勺i值,進行返回輸出。

4.書籍信息日勺修改:

揄人想要修改口勺書籍編號,按照查找口勺措施,找到i,然后進行覆蓋。完畢修改。

5.書籍的屏幕打印輸出:

分兩部分輸出,首先打印一種頭信息,相稱于列表口勺頭;然后運用循環(huán)語句帶參輸

出(i為參數(shù),循環(huán))。

6.保留信息到txt文獻(xiàn):

同分為兩部分,類似屏幕打印日勺措施,光存入表頭,然后帶參循環(huán)存入書籍信息。

帶參。勺意義就是,可以無限調(diào)用該語句,只要懂得書口勺序號i。

7.從信息中讀取txt文獻(xiàn):

structbooks

charnumb[10];〃書號

charnameb[20];〃書名

charauthorb[10];//作者

charnamer[10];//借閱人

chardaysb[10];〃借出日期

charchaob[10];〃超期天數(shù)

1;

定義構(gòu)造體。運用fscanf()語句講讀取的數(shù)據(jù)按次序存入構(gòu)造體中。然后直接運

用書籍添加函數(shù)直接寫入系統(tǒng)。

3調(diào)試分析

3.1重要問題及處理方案:

1.界面顏色設(shè)定:

一直拋棄黑底白字這種默認(rèn)形式,換一種顏色給人特殊H勺感覺,在網(wǎng)上找到有關(guān)日勺

代碼為system("color**");語句。不過也是沒有頭緒不懂得怎么調(diào)試,后來一不小心

設(shè)置錯誤,系統(tǒng)就彈出了提醒界面,我就明白了界面顏色口勺設(shè)置措施(圖3.1):

OLORLattrJ

attr指定控撒臺輸出的顏色屬性

顏色屬性由兩個十六進制數(shù)字指定一第一個為背景,第二個則為

前景。每個數(shù)字可以為以下任何值之一:

黑色

0=8=色

19^藍(lán)色

■藍(lán)■

2=A=4色

藍(lán)

3=B=^綠

4=C=^色

5D薯

=薯-_

6E色

==白

?白F

==亮

如果沒有給定任何參數(shù),該命令會將顏色還原別CMD.EXE啟動時

的顏色。這個值來宜當(dāng)前控制各窗口、”開關(guān)或

DefaultColor注冊表值。

如委用相同的前景和直景顏色來執(zhí)行COLOR命令,COLOR命令

會將ERRORLEUEL餃疊為1。

圖3.1

2.有關(guān)書籍日勺cout輸出:

最開始設(shè)計輸出模塊時候,僅僅是想到了不帶參口勺book信息輸出,show_book()函

教中自帶了一種for語句循環(huán)輸出所有書籍信息,是為顯示所有書籍設(shè)計日勺。不過后來

發(fā)現(xiàn)假如要單顯示篩選信息就要從新寫一種帶參show_book(inti),雖然函數(shù)重載容許

這樣做,不過卻無意義的增長了代碼長度。我選擇刪除了不帶參的show_book(),把for

語句循環(huán)寫在外面。這嬋就增長了show_book(inti)函數(shù)口勺運用率,精簡了函數(shù)口勺和長

度。

3.書籍信息日勺txt寫入:

綜合了屏幕打印晌經(jīng)臉,鑒于fwrite和cout使用措施和顯示效果類似,我決定

將txt日勺寫入語句也設(shè)置成帶參形式saveFile(inti),原理與show_book(inti)基本

一致。完畢這些就能實現(xiàn)。后來發(fā)現(xiàn)文獻(xiàn)總是覆蓋,每次寫入都會將上一次的覆蓋,也

就是只有最終一行,后來才想起了ios::app追加模式,才最終算完整實現(xiàn)。

4.讀取數(shù)據(jù)函數(shù):

這個函數(shù)是我編輯最久的,由于使用口勺不純熟,我先查找了諸多資料,并且寫了某

些單獨日勺小程序去測試效果,不過感覺都不理想。后來選擇了一種最笨的措施,運用

fseek函數(shù)一格一格R勺挑開空格和無用信息。不過這樣做最大的缺陷就是,我日勺txt導(dǎo)

入文檔鼻息保持固定格式,一格空格都不能多,假如多了就會導(dǎo)致錯位。后來與徐老師

交流時,老師也說這種輸入措施不可取,由于實現(xiàn)了功能不過意義不大。規(guī)格太死,不

夠人性化。于是我就退后開始,重新選擇語句。最終決定定義構(gòu)造體,把txt中信息讀

取之后直接存入構(gòu)造體,隨即就把構(gòu)造體中的數(shù)據(jù)運用set-xxxx函數(shù)存入。

5.有關(guān)字母糾錯及錯誤諭入的處理:

字母輸入本來都是用fflush(stdin);來清空緩存來防止程序進入死循環(huán):,不過我這

次編程想到了一種愈加簡樸有效日勺措施:運用char來存儲選擇,隨即強轉(zhuǎn)為int型,

其實就是講所有日勺字符轉(zhuǎn)為了asc2碼,由于acs2碼日勺唯一性,我就可以用switch直

接跳過了字母部分,例如我要判斷i口勺輸入與否唯1,我就將i-48寫入switch判斷就

好了。

4使用闡明

4.1重要功能簡介及操作環(huán)節(jié):

1.主界面:

選擇1登陸,密碼為1043,按任意鍵進入系統(tǒng)。

2.系統(tǒng)操作界面:

,C:\DocsenrandSot*rator\京簿履實AI\用書緩…日回口]

學(xué)的改氽景近的改東紫景景※濃氽臺景的改東氽※本

生生

※---”…”.系-統(tǒng)-吉”理”界-面一

派n部加勤的圖書費料2;修改已有圖書資料

,3:。賒已有圖物料4:查找已有困書資科

生泉

卷5:SE看所有圖節(jié)喪科6:快取指定位置TXT

W7K

般、,寫入指定位置”!*返回系統(tǒng)叁錄界面???

聚聚

米8:退出圖書管理系統(tǒng)派

案派

生密

?</?A/\*/'f/vz't/,Az\*/v/?zz?f/\*/\*/x1/v*?^z\f/'-t/'fy*A/<A/?AZ?A/\V\*Z<ZZ

請選擇您需要的服務(wù)序號,.

直接輸入數(shù)字選擇功能。

1:添加新口勺圖書資料:2:修改已經(jīng)有圖書資料:

*C:\Dncu??ntKandS?ttinc?\A<ta>ni?trator\ftH\>UHitWMtc9*\MDI

詼1………■…?予"比-E',?注Ml界<M>J]??????????M?

親泉

生?'添加新的圖書寅科21修汶己有函書貨科

Xf,J

5KJ?

?3:蟀已有圖書資料4:田t已有圖書賁科生

雙就案

系5>食所所有圖書資料Ji哪指定位置w生

:<<

x<

生7:寫入指定位置TXT■.退回簟線登錄界面

雙必能

親?:退出圖書*理照疑案

案孌

謫盤擇好需要的服務(wù)序號,2

謂慵入密曼修改書篇的書寫“i

謫驗入更改后的書名.!?*

映入更改后的作者,孫軍明志卿

落魯您,書篇費T修改成動,請技任意健維續(xù)???

凄狗拼營豐)

3:刪除已經(jīng)有圖書資料:

4:查找已經(jīng)有圖書資料:

根據(jù)序號選擇功能:按書名查找:

?C:\Docaacat,aadS?ttin<x\Adaanavtrator\flH\*1XB^WMtt...BSD*C:\Porti?cat>aa4S?tt*n<s\Adainavtrator\flM\..BEC

555?±)2i按書名宜戰(zhàn)553

2?按書名立技J條條?

3?按作者攻技

3,按fMlAft生祭」

48按日剛或我

4:?BMktt

5:按fflWfttt

5:按超期壹技張X<

6:返回上駛

6:返回上班生生

方?:£出新統(tǒng)

?:退出新統(tǒng)恕需

怒第

姬派旅※※浜※※淑愉張兩避

道愉人位需要的媵務(wù)序號,2

謂忸入也需聶的段務(wù)序號,1

道?入金娶青我的書名,

―過至巫空號七_(dá)_________一;巴匕一轉(zhuǎn)一信一身一列一表———————

書號書名左堂僧日人借曲日期超明天踐曾三瀛掰喘熙鷲8a明天-

!■三國演義羅費用第優(yōu)2?12S,1

造特仟母油母優(yōu)...可咕仟#??<?<?...

mwe*?二1mwrs¥■可

按作者查找:按借出日期查找:

TBZ&*C:\t>ora?<At*a&dSctltncxVAdainavtrBtorX^IMXtfmitSM^^IXB^ttMtt.??BlZJW

“:季PW直找???

.,2,按書名攻技生

J裝

>?技fr*?n

■:■-3X校作書宣技生J

■,?日冊僉我泉條

藏4:按BMttt條

$:找超期青技案條

來5:投SfiWfttt條

41iE0±?<?-張

6:返回上級

■:選出系統(tǒng)系:

裝?:£出系城???

袋※去※※敗米※※購彩蹄疫逃

購修米的※浜※※瀚潁張購

?輸入您需要的鼓務(wù)序號,3

道愉人位班的僵務(wù)序號,4

謂泊人把曼西找的傕石,

次修人怒娶青孜蚪借出日明,2?1H2I2

黯震1a明金書寫書名起朝天我

水潛傳1MI

鷺嚴(yán)續(xù)???請接任意怪鞋續(xù)???

-re^nfi¥?

按超期天數(shù)查找:

,JiDucuBeQ,andSetQanr\Adaxa,Q.a\??\MH途W(wǎng)?套》,、■書?森統(tǒng)..?日三臼

袋*

※2:長書名杳找

張九?作右食發(fā)J

??m0??n

s??fflWin

博修入您霹要的段符序號,S

電學(xué))包《々呷性賀處%」96..

藥號?書名正堂僧國人借出日期圖煙天熟

IM1水褥傳W三2S1112121?

斡出“。蟹任意喇純???

5:查看所有圖書資料:6:讀取指定位置TXT:

八?式簿,安>,、■統(tǒng)...日日口

?C:\DocZ,4dS?ttinC.\Ad*>ni?1r.tor\Mfll\B..QE20"C\Docua?ntxaa4S.tt?7Adaxiuxtr3or\K\IWst3)|?

?,漆加斷的圖書資料2,修過己百圖書貴利*5,出節(jié)貨"&I冽早m年但直IXY

13:刷*.已有圖書聊4:IRt力圖書資收點

」當(dāng)會導(dǎo)人指定位置EB.逋西星線晝求界窗

奈$:查者所有超書貨科6:i矣取指定位置1*1■:退出圖書青事.革統(tǒng)

必裝

卑7:耳入指定位?IXT8.返回展

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論