版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紡絲凝固浴液配制工崗前保密考核試卷含答案
- 流體裝卸操作工崗前崗位考核試卷含答案
- 獸用中藥制劑工班組安全水平考核試卷含答案
- 2025年年樂高教育項目合作計劃書
- 2025年中高壓及特殊性能玻璃鋼管項目合作計劃書
- 班主任教師培訓(xùn)課件內(nèi)容
- 2026年柔性直流輸電項目營銷方案
- 2026年年度學(xué)校辦公室主任工作總結(jié)
- 2025年人工智能綜合試題及答案
- 幼兒園校園欺凌事件強制報告制度規(guī)定
- (2021-2025)5年高考1年模擬物理真題分類匯編專題04 機械能守恒、動量守恒及功能關(guān)系(廣東專用)(解析版)
- 2025年車間核算員考試題及答案
- 2026年高考作文備考之提高議論文的思辨性三大技法
- 南寧市人教版七年級上冊期末生物期末考試試卷及答案
- 項目安全生產(chǎn)管理辦法
- 小學(xué)美術(shù)科組匯報
- 手術(shù)室膽囊結(jié)石護理查房
- 2024年江西新能源科技職業(yè)學(xué)院公開招聘輔導(dǎo)員筆試題含答案
- 機械門鎖維修施工方案
- QGDW10384-2023輸電線路鋼管塔加工技術(shù)規(guī)程
- 江蘇省南通市2025年中考物理試卷(含答案)
評論
0/150
提交評論