C課程研究設(shè)計報告(圖書管理系統(tǒng))_第1頁
C課程研究設(shè)計報告(圖書管理系統(tǒng))_第2頁
免費預(yù)覽已結(jié)束,剩余18頁可下載查看

下載本文檔

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

文檔簡介

1、封面作者:PanHongliang僅供個人學(xué)習(xí)目錄(1)實 踐 任 務(wù)書.,.1(2)總 體 設(shè) 計 方案.2(一)設(shè)計任務(wù)書1.題目:圖書管理系統(tǒng)2.程序功能組成:程序為圖書管理系統(tǒng)。包括以下功能: 圖書增添,修改,刪除,統(tǒng)計,查找,清空記錄。3.成員組成與分工:(1)成員組成:機械1309侯想 機械1309周易機械1309孫昱分工:_(4)成員設(shè)計內(nèi)容簡介.9(5)工程源程序代碼.10(6)課程設(shè)計心得.191.設(shè)計心得體會(侯想).192.設(shè)計心得體會(孫昱).203.設(shè)計心得體會(周易).21(7)成績評疋及評語22人員:侯想周易孫昱1.設(shè)計分析2.模塊設(shè)計3.流程圖.(3)使例.1.

2、系統(tǒng)首頁2.操作主頁3.功能模塊(1)(2)(3)(4)(5)(6)(7)新增圖書更改圖書刪除圖書查找圖書統(tǒng)計圖書清空全部退出系統(tǒng)說.4.2.3.3明 及445.5.5.6.6.7.7.8分工:1.模塊設(shè)計2.報告修改1.程序美化 程序調(diào)試2.報告設(shè)計制 作1.模塊設(shè)計2.報告修改進度安排:時間:進度安排:實施情況:6月23日自由組隊,選擇設(shè)計工程,明確 分工。按時完成6月24日一26日小組成員進行模塊設(shè)計,包括編 寫、查找代碼,運行調(diào)試代碼。按時完成6月27日一28日進行程序代碼的組合,調(diào)試。按時完成7月1日一2日進行程序的運行,檢查,修改。按時完成7月3日一4日提交,答辯。按時完成(二)總

3、體設(shè)計方案1設(shè)計分析(1)系統(tǒng)功能:圖書管理系統(tǒng)基本功能:增加,更改,查找,刪除;全部圖書記錄的統(tǒng)計與顯示; 快捷清空所有圖書記錄。(2)系統(tǒng)要求:數(shù)據(jù)成員char nameStrNum。 用來存放書名。char numberStrNum。用來存放圖書的編號。char kin dType。用來存放圖書的類型。int tag。定義刪除標記。int num。定義圖書編號為整形。int add。增加標記。函數(shù)成員Book()無參構(gòu)造函數(shù),用于為書名和作者姓名設(shè)置默認值。char getk in d()用于獲取圖書類型。char get name()用于獲取書名。in t get num()用于獲取圖

4、書編號。int gettag()用于獲取刪除標記void delbook()用于刪除圖書void addbook(int n,char *na,char *kin,char *au.char *pr) void disp()用于輸出圖書。(3)系統(tǒng)特點: 操作界面有顏色(背景藍,字體白); 功能齊全; 系統(tǒng)穩(wěn)定,無bug。2模塊設(shè)計共七個模塊:(1)新增圖書 按編號,書名,類型,作者,出版社信息順序添加圖書;(2)更改圖書 按編號查找圖書,然后進行信息更改錄入;(3)刪除圖書按編號查找圖書,然后進行刪除工作;(4)查找圖書根據(jù)編號查找圖書;(5)統(tǒng)計圖書 顯示系統(tǒng)所以已錄入圖書信息;(6)清空

5、全部 一次性清空系統(tǒng)記錄,慎用(無恢復(fù)功能);(7)退出系統(tǒng)3流程圖void setname(char na)用于設(shè)置書名void setkind(char kin)用于設(shè)置類型void setauthor(char au)用于設(shè)置作者void setpress(char pr)用于設(shè)置出版社用于增加圖書(三)使用說明及運行實例1.系統(tǒng)首頁注)選擇1才正式進入操作圖書管理系統(tǒng),選擇0退出系統(tǒng)2.操作主頁注)輸入數(shù)字1-6進入相應(yīng)操作模塊,輸入0則退出系統(tǒng)。3.功能模塊(1)新增圖書注)進入“新增圖書”模塊后,分別輸入圖書的編號,類型,書名,作者,出版社,回車結(jié)束操作。(2)更改圖書注)進入“更

6、改圖書”模塊后,輸入對應(yīng)需要更改的類容。(3)刪除圖書注)進入“刪除圖書”模塊后,輸入圖書編號,鍵入y確認刪除,n取消刪除。4)查找圖書注)進入“查找圖書”模塊后,輸入圖書編號,回車后則顯示所查找圖書,且 同時顯示圖書的信息。(5)統(tǒng)計圖書 注)進入“統(tǒng)計圖書”模塊后,即會顯示所以系統(tǒng)保存的圖書信息(6)清空全部 注)進入“新增圖書”模塊后,鍵入y確認清空,n取消清空(7)退出系統(tǒng)注)在功能模塊,鍵入0,即會返回系統(tǒng)首頁。若需重新操作,參考前面類容 介紹;若需退出系統(tǒng),則再鍵入0,回車,然后任意鍵退出系統(tǒng)。(四)成員設(shè)計內(nèi)容簡介成員設(shè)計工作表及簡介姓名侯想孫昱周易設(shè)計:1.圖書增加M.圖書刪除

7、1.系統(tǒng)修改類容加入圖書書名,加入刪除指定編修改源代碼,美化作者,編號,類號圖書信息與記操作界面,添加藍型,出版社五種錄,帶有確認提色背景白色字體代信息,錄入記示。碼。錄。2.圖書清空2.程序調(diào)試2.圖書顯示加入清空所以圖調(diào)試程序,查看是加入編號顯示圖書記錄信息,帶否存在bug,修復(fù)書記錄與信息。有確認提示系不合理地方。3.圖書統(tǒng)計統(tǒng)。3.報告設(shè)計與制作顯示所以圖書記3.圖書更改進行報告結(jié)構(gòu)設(shè)計錄。加入按編號顯示與簡單制作,明確4.設(shè)計報告修改查找出需修改的設(shè)計報告具體內(nèi)進行報告后期修圖書,然后進行容。改。信息修改。(五)工程源程序代碼程序源代碼:未*#define StrNum 20#def

8、ine Type 20#include #include #include #include /輸入/輸出文件流類using namespace std。const int Maxb=100。/最多可存儲的class Bookrprivate:int tag。/刪除標記int num。/圖書編號int add。/增加標記/ochar numberStrNumchar nameStrNum。char kindType。char authorStrNumchar pressStrNumpublic:Book() char getkind()/return kindType/編號 書名 圖書類型 圖

9、書作者出版社獲取圖書類型char getname()/獲取書名return nameStrNumchar getauthor()/獲取作者return authorStrNumchar getpress()/獲取出版社return pressStrNumint getnum()/獲取圖書編號return num。int gettag()/獲取刪除標記return tagBook bookMaxb。/圖書記錄for (int i=0。i=top。i+)void setname(char na) /設(shè)置書名strcpy(name,na)。void setkind(char kin) /設(shè)置類型st

10、rcpy(kind,kin)。void setauthor(char au) /設(shè)置作者strcpy(author,au)。void setpress(char pr) /設(shè)置出版社strcpy(press,pr)。void delbook() /刪除圖書tag=1。void addbook(int n,char *na,char *kin,char *au,char *pr) /增加圖書tag=0。num=n。strcpy(name,na)。strcpy(kind,kin)。strcpy(author,au)。strcpy(press,pr)。void disp() /輸出圖書cout.fl

11、ags (ios:left)。/設(shè)置對齊的標志位為左coutsetw(15)numsetw(15)namesetw(13)kindsetw(10)authorsetw(10)presssetw(10)endl。/*/class BDatabaseprivate:int top。/圖書記錄指針public:BDatabase() /構(gòu)造函數(shù),將book.txt讀到Book b。top=-1。fstream file(book.txt,ios:in)。while (1)file.read(char *)&b,sizeof(b)。if (!file) break。top+。booktop=b

12、。file.close()。void clear() /全刪top=-1。int addbook(int n,char *na,char *kin,char *au,char *pr) /Book *p=query(n)。if(NULL=p)top+。booktop.addbook(n,na,kin,au,pr)。return 1。return 0。Book *query(int bookid)/查找圖書for (int i=0。i=top。i+)if (booki.getnum()=bookid &booki.gettag()=0)return &booki。return N

13、ULL。void bookdata()。/圖書庫void disp()book中增加圖Book bookMaxb。/圖書記錄for (int i=0。i=top。i+)if (booki.gettag()=0)booki.disp()。BDatabase() /析構(gòu)函數(shù),將book寫到book.txt文件中fstreamfile(book.txt,ios:out)。for (int i=0。i=top。i+)if (booki.gettag()=0) file.write(char *)&booki,sizeof(booki)。file.close()。void BDatabase:b

14、ookdata()char choice。char bname40。char bkind40。char newType20。char bauthor40。char bpress40。int bookid。Book *b。while (choice!=0)coutendl。coutendl。cout圖書管理 系 統(tǒng)endl。coutendl。cout1.新增圖書endl。cout2.更改圖書endl。cout3.刪除圖書endl。cout4.查找圖書endl。cout5.統(tǒng)計圖書endl。cout6.清空全部endl。cout0.退出系統(tǒng)endl。case 3:coutendl。coutchoi

15、ce。switch (choice)case 1:cout輸入圖書編號:bookid。cout輸入圖書類型:newType。cout輸入圖書書名:bname。cout輸入圖書作者:bauthor。cout輸入出版社:bpress。addbook(bookid,bname,newType,bauthor,bpress)。break。case 2:cout輸入圖書編號:bookid。b=query(bookid)。if(b=NULL)cout該圖書不存在endl。break。cout輸入新的書名:bname。b-setname(bname)。cout輸入新的類型:bkind。b-setkind(b

16、kind)。cout輸入新的作者:bauthor。b-setauthor(bauthor)。cout輸入新的出版社:bpress。b-setpress(bpress)。break。cout讀入圖書編號:bookid。case 0:b=query(bookid)。if(b=NULL)cout該圖書不存在endl。break。char tg1。cout確定要刪除此記錄嗎?(Y/N)tg1。if(tg1!=n&tg1!=N)b-delbook()。cout已成功刪除該書記錄!endl。break。case 4:cout讀入圖書編號:bookid。b=query(bookid)。if (b=N

17、ULL)cout該圖書不存在endl。break。coutdisp()。break。case 5:cout圖書編號 圖書名稱 圖書類型 圖 書作者 出版社n。disp()。break。case 6:char tg2。cout確定要清空所有記錄嗎?(Y/N)tg2。if(tg2!=n&tg2!=N)clear()。cout已成功清空記錄!endl。case 0:break。break。default:cout輸入錯誤,請從新輸入(數(shù)字為06):。/main()函數(shù)的實現(xiàn),程序的主界面的引導(dǎo)void main()system(color 3f)。char choice。BDatabase

18、BookDB。while(choice!=0) cout歡迎使用endl。coutendl。coutendl。coutendl。coutendl。cout 圖 書 管 理 系 統(tǒng)endl。coutendl。coutendl。coutendl。coutendl。coutendl。coutendl。coutendl。coutendl。coutendl。coutby侯想 孫昱 周易endl。coutendl。coutttt1進 入 系 統(tǒng)nnttt0離 開endl。coutchoice。switch(choice)case 1:BookDB.bookdata()。break。default:cout

19、輸入錯誤,請從新輸入:。注)/操作環(huán)境:在win7 32位系統(tǒng)中使用軟件Microsoft visual c+6.0簡體中文版編 寫。(六)課程設(shè)計心得1.設(shè)計心得體會(侯想)說起課程設(shè)計,我認為最重要的就是做好設(shè)計的預(yù)習(xí),認真的研究老師給 的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不茍的去 聽去想,因為只有都明白了,做起設(shè)計就會事半功倍,如果沒弄明白,就迷迷 糊糊的去選題目做設(shè)計,到頭來一點收獲也沒有。最后,要重視程序的模塊 化,修改的方便,也要注重程序的調(diào)試,掌握其方法。雖然這次的課程設(shè)計算起來在實驗室的時間只有三天,不過因為我們都有 自己的實驗板,所以在宿舍里做實驗的時

20、間一定不止三天。通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)C+程序設(shè)計方面的知識,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一 遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗 不足。實踐出真知,通過親自動手制作,使我們掌握的知識不再是紙上談 兵。在課程設(shè)計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲 取。最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的觀念。 這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多問題,最后在老師的指導(dǎo) 下,終于解決了。在今后社會的發(fā)展和學(xué)習(xí)實踐過程中,一定要不懈努力,不 能遇到問題就想到要退縮,一定要不厭其煩

21、的發(fā)現(xiàn)問題所在,然后一一進行解 決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而 不是知難而退,那樣永遠不可能收獲成功,收獲喜悅,也永遠不可能得到社會 及他人對你的認可。2.設(shè)計心得體會(孫昱)coutnntttbreak。歡迎再次使用圖書管理系統(tǒng)指導(dǎo)教師評語(包括工作態(tài)度,遵守紀律;基本理論、知識、技能;獨立工作能力和分析解決問題的能力;完成任務(wù)情況及水平):指導(dǎo)教師:年 月 日對我們大學(xué)生而言,課程設(shè)計無疑是一個鍛煉與提升自我的機會,進一步 使我們了解到計算機程序設(shè)計基礎(chǔ)C+這門課程的意義與實用價值。在做這項 任務(wù)的過程中,我深刻體會到了自己能力的不足,這來自于我程序設(shè)

22、計基礎(chǔ)的 薄弱和自我鍛煉機會的欠缺。這次的C+程序設(shè)計實踐令我收獲頗多,也感慨頗多。首先,我們經(jīng)常會 遇到困難,而這些困難看上去似乎已經(jīng)超出了自己的能力范圍,憑自己無法解 決。事實上,是我們自己把困難放大了,在沒有真正去接觸、去思考、去設(shè)法 解決問題之前,沒有人有權(quán)力說自己做不到。其次,我們要學(xué)會利用自己擁有 的資源,學(xué)會運用查閱書籍、上網(wǎng)查閱資料、詢問同學(xué)的方法來幫助自己解決 問題。當(dāng)然,查閱資料也要講究方法策略。利用資源,獲取幫助對我們來說也 是一種重要的能力,會使我們解決問題的過程更加順利。然后,我們不能輕視 平時的基礎(chǔ)知識,學(xué)會基礎(chǔ)知識是完成任務(wù)的基礎(chǔ)。如果平時學(xué)習(xí)不認真,基 礎(chǔ)知識掌

23、握不牢固,到實際運用時就會浪費許多時間,遇到一些不必要的麻 煩。我平時對于程序設(shè)計不太感興趣,學(xué)習(xí)時也不努力,因而在做實踐時遇到 了不少問題。因此有著扎實的基礎(chǔ)知識十分重要。這次的課程設(shè)計帶給我很大的幫助和收獲。我相信,只要通過不懈努力,就能把事情做好。3.設(shè)計心得體會(周易)課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們的實際工作能力的具體訓(xùn)練和考察過程。隨 著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀的大學(xué)來說掌握程序開發(fā)技術(shù)是十分重要的,而C+又是最常見,功能最強大的一種高級語言,因此做好C+

24、課程設(shè)計是十分必要的?;仡櫰鸫舜握n程設(shè)計,至今我們?nèi)愿锌H多,的確,自從拿到題目到完成整個 編程,從理論到實踐,在整整兩個周的日子里,可以學(xué)到很多很多的東西,同 時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過 的知識。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做 的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之 處,對一些前面學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu) 體,指針,鏈表通過這次課程設(shè)計之后,我們把前面所學(xué)過的知識又重新溫故了一遍編程是一件很枯燥很無聊的事情,但是出于完成作業(yè),得到學(xué)分的壓力,還 必須強迫自己堅持下去

25、,按照老師所說的模塊化思想,分部分的進行編寫。而 且編程是一件高精度、模范化的事情,稍有疏乎都會影響全局,也可能因為某 一處的小的錯誤而導(dǎo)致整個程序的無法運行。所以認真仔細就是非常重要的 了。開始的時候真的感覺編程是一件很無聊的事情,不過當(dāng)一個程序運行成功 的時候那種喜悅是無法言語的,那種成就感是無法比擬的。又經(jīng)過幾天的努 力,終于把程序完成了,盡管程序還是有很多錯誤和漏洞,不過還是很高興 的。無論如何是我們的勞動成果,是我們經(jīng)過努力得到的成績,同時也是學(xué)習(xí)C+勺一次實踐作業(yè),我們進步的證明。在課程設(shè)計過程中,收獲知識,提高能力的同時,我們也學(xué)到了很多人生的 哲理,懂得怎么樣去制定計劃,怎么樣

26、去實現(xiàn)這個計劃,并掌握了在執(zhí)行過程 中怎么樣去克服心理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我們 一定會把課程設(shè)計的精神帶到生活中,不畏艱難,勇往直前。(七)報告評定及評語1.成績表中南大學(xué)C+程序設(shè)計基礎(chǔ)課程設(shè)計成績表姓名班次學(xué)號成績2.評語班級:機械1309學(xué)生姓名:侯想 周易孫昱指導(dǎo)教師評語(包括工作態(tài)度,遵守紀律;基本理論、知識、技能;獨立工作能力和分析解決問題的能力;完成任務(wù)情況及水平):指導(dǎo)教師:年 月 日版權(quán)申明本文部分內(nèi)容,包括文字、圖片、以及設(shè)計等在網(wǎng)上搜集整 理。版權(quán)為潘宏亮個人所有This article in eludes some parts, in cludi ng text, pictures, and design. Copyright is Pan Hon glia ngs pers onal own ership.用戶可將本文的內(nèi)容或服務(wù)用于個人學(xué)習(xí)、研究或欣賞,以及 其他非商業(yè)性或非盈利性用途,但同時應(yīng)遵守著作權(quán)法及其他相關(guān) 法律的規(guī)定,不得侵犯本網(wǎng)站及相關(guān)權(quán)利人的合法權(quán)利。除此以 外,將本文任何內(nèi)容或服務(wù)用于其他用途時,須征得本人及相關(guān)權(quán) 利人的書面許可,并支付報酬。Users may use the co

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論