2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院信息管理與信息系統(tǒng)專業(yè)</p><p>  《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》報(bào)告</p><p> ?。?010/2011學(xué)年 第一學(xué)期)</p><p>  學(xué)生姓名: </p><p>  學(xué)生班級(jí): 信息管理與信息系統(tǒng)092001</p><p>

2、  學(xué)生學(xué)號(hào): </p><p>  指導(dǎo)教師: </p><p>  2011年 01 月 07 日</p><p>  信息管理與信息系統(tǒng) 專業(yè)課程設(shè)計(jì)任務(wù)書(shū)</p><p><b>  目錄</b></p><p>  第一

3、章 需求分析1</p><p><b>  1.1設(shè)計(jì)內(nèi)容1</b></p><p>  1.2 設(shè)計(jì)任務(wù)1</p><p>  1.3 基本要求1</p><p>  第二章 系統(tǒng)功能設(shè)計(jì)3</p><p><b>  2.1系統(tǒng)功能3</b></p>

4、;<p>  2.2 各個(gè)模塊之間的主要關(guān)系4</p><p>  第三章 詳細(xì)設(shè)計(jì)5</p><p>  3.1系統(tǒng)的總體流程5</p><p>  3.2 main() 函數(shù)模塊6</p><p>  3.3 查詢所有圖書(shū)信息函數(shù)模塊7</p><p>  3.4 查詢一本圖書(shū)信息函數(shù)模塊

5、7</p><p>  3.5添加圖書(shū)信息函數(shù)模塊8</p><p>  3.6 刪除圖書(shū)信息函數(shù)模塊9</p><p>  3.7借閱圖書(shū)模塊10</p><p>  3.8 圖書(shū)丟失模塊10</p><p>  3.9 金額賠償模塊10</p><p>  3.10 老師學(xué)生信息管

6、理系統(tǒng)10</p><p>  第四章 調(diào)試及測(cè)試11</p><p>  4.1 主菜單運(yùn)行界面11</p><p>  4.2 查詢所有圖書(shū)信息模塊運(yùn)行界面11</p><p>  4.3 查找某一本圖書(shū)信息模塊運(yùn)行界面12</p><p>  4.4 添加圖書(shū)信息模塊運(yùn)行界面13</p>

7、<p>  4.5 刪除圖書(shū)信息模塊運(yùn)行界面13</p><p><b>  第五章 總結(jié)15</b></p><p><b>  第六章 致謝16</b></p><p>  第七章 參考文獻(xiàn)17</p><p>  第八章 程序源代碼18</p><p&

8、gt;<b>  第一章 需求分析</b></p><p><b>  1.1設(shè)計(jì)內(nèi)容</b></p><p>  利用c++的文件操作能力設(shè)計(jì)開(kāi)發(fā)一個(gè)小型的圖書(shū)管信息管理系統(tǒng),至少具有如下功能:查尋所有圖書(shū)信息、通過(guò)輸入圖書(shū)編號(hào)來(lái)完成查找某一本圖書(shū)信息、添加圖書(shū)信息 、刪除圖書(shū)信息 以及通過(guò)學(xué)生學(xué)號(hào)實(shí)現(xiàn)圖書(shū)借閱功能。操作界面要符合用戶的一般習(xí)慣

9、,界面易于讀者明白理解,圖形或文本界面都可以。</p><p><b>  1.2 設(shè)計(jì)任務(wù)</b></p><p>  要求:明確課程設(shè)計(jì)的目的,能根據(jù)課程設(shè)計(jì)的要求,查閱相關(guān)文獻(xiàn),為完成設(shè)計(jì)準(zhǔn)備必要的知識(shí); 提高學(xué)生用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力,重點(diǎn)提高用C++進(jìn)行文件操作和繪圖應(yīng)用的編程技術(shù)水平;初步了解軟件開(kāi)發(fā)的一般方法和步驟; 提高撰寫(xiě)技術(shù)文檔的能力。掌握模

10、塊化編程的基本方法與步驟;鞏固和加深學(xué)生對(duì)C++課程基本知識(shí)的理解與掌握,培養(yǎng)學(xué)生利用C++進(jìn)行軟件操作的能力和技巧。</p><p><b>  1.3 基本要求</b></p><p>  (1)通過(guò)提示菜單選擇可以進(jìn)行的操作。</p><p>  (2)將圖書(shū)的信息存入文件中,并命名為BookInfo.txt。</p>&l

11、t;p>  (3)將圖書(shū)借閱情況信息存入文件中,并命名為SendInfo.txt。</p><p>  (4)在本系統(tǒng)中可以進(jìn)行管理系統(tǒng)包含的基本操作,其中包括:</p><p>  a)查看所有圖書(shū)的信息。</p><p>  b)輸入一本圖書(shū)的圖書(shū)編號(hào),從當(dāng)前圖書(shū)中進(jìn)行查找,如果找到則顯示該圖書(shū)的相關(guān)信息,如果沒(méi)有找到則給出提示信息。</p>

12、<p>  c)添加一本圖書(shū)的基本信息,通過(guò)輸入圖書(shū)編號(hào),首先查找是否存在該圖書(shū)編號(hào)的圖書(shū),如果存在則提示重新輸入,否則將該圖書(shū)按照順序插入到相應(yīng)位置。</p><p>  d)刪除一本圖書(shū)的基本信息,通過(guò)輸入圖書(shū)編號(hào),首先查找是否存在該圖書(shū)編號(hào)的圖書(shū),如果存在則將該圖書(shū)刪除,否則給出提示信息,提示該圖書(shū)不存在。 </p><p>  e)借閱一本圖書(shū),需要給出學(xué)號(hào)和圖書(shū)編號(hào),

13、如果圖書(shū)編號(hào)不存在則重新輸入,直到輸入正確為止,并將學(xué)號(hào)和相應(yīng)的圖書(shū)編號(hào)存入SendInfo.txt文件中。</p><p>  (5)圖書(shū)基本信息包括圖書(shū)編號(hào)、書(shū)名、作者、出版社和價(jià)錢(qián)這些簡(jiǎn)單信息。</p><p>  (6)圖書(shū)信息文件中每一行存放一本圖書(shū)的信息。</p><p>  (7)借閱信息文件中每一行存放一本書(shū)的借閱情況。</p><

14、;p>  (8)對(duì)老師.學(xué)生的信息進(jìn)行登記處理,包括姓名、學(xué)號(hào)教師編號(hào)、學(xué)院班級(jí)等。</p><p>  (9)對(duì)圖書(shū)的金額進(jìn)出管理,對(duì)一丟失的圖書(shū)進(jìn)行處罰、對(duì)超期歸還的圖書(shū)進(jìn)行賠償金額計(jì)算。</p><p>  第二章 系統(tǒng)功能設(shè)計(jì)</p><p><b>  2.1系統(tǒng)功能</b></p><p><b&

15、gt;  圖1 系統(tǒng)功能圖</b></p><p>  圖書(shū)管理在生活中運(yùn)用非常廣泛,因此需要用許多的程序來(lái)對(duì)它們進(jìn)行管理。此程序包含了圖書(shū)信息的錄入、圖書(shū)信息的瀏覽、圖書(shū)的查詢和排序、圖書(shū)信息的刪除與修改,借書(shū),還書(shū),統(tǒng)計(jì)等。通過(guò)編譯一個(gè)C++函數(shù),其中包含一個(gè)主函數(shù),多個(gè)子函數(shù),主函數(shù)調(diào)用其余的子函數(shù)實(shí)現(xiàn)人們能夠簡(jiǎn)易、快捷的了解并找到自己所學(xué)要的信息的功能。</p><p>

16、;  1、查詢所有圖書(shū)信息:將所有圖書(shū)信息包括編號(hào)、書(shū)名、出版社、作者、價(jià)格等顯示在屏幕上。</p><p>  2、查找一本圖書(shū)的信息:通過(guò)輸入圖書(shū)編號(hào)完成圖書(shū)信息的查找,并在屏幕上顯示。</p><p>  3、修改圖書(shū)信息:通過(guò)輸入編號(hào),判斷此圖書(shū)是否存在,若不存在則提示用戶重新輸入圖書(shū)編號(hào)。 </p><p>  4、刪除圖書(shū)信息:通過(guò)輸入編號(hào),判斷此圖書(shū)是

17、否存在,若存在, 則提示用戶是否顯示刪除后的信息,若不存在則提示用戶重新輸入圖書(shū)編號(hào)。</p><p>  5、借書(shū):通過(guò)輸入圖書(shū)編號(hào),判斷此圖書(shū)是否存在,若不存在則提示用戶重新輸入圖書(shū)編號(hào),若圖書(shū)已借出則提示用戶是否繼續(xù)借書(shū),若沒(méi)借出則將此圖書(shū)的編號(hào)和學(xué)生的學(xué)號(hào)存入圖書(shū)借閱文件中。</p><p>  6、圖書(shū)丟失:若圖書(shū)丟失,對(duì)已丟失圖書(shū)進(jìn)行刪除處理,并通過(guò)金額賠償系統(tǒng)進(jìn)行圖書(shū)的金額賠

18、償管理。</p><p>  7、金額賠償:通過(guò)輸入一丟失圖書(shū)的編號(hào)對(duì)以丟失的圖書(shū)的金額進(jìn)行顯示在屏幕上。</p><p>  8、老師信息:通過(guò)選擇讀者信息中的老師信息可以對(duì)老師的信息進(jìn)行添加.刪除和修改。最后通過(guò)輸入老師的編號(hào)可以對(duì)老師的信息進(jìn)行查詢。</p><p>  9、學(xué)生信息:通過(guò)選者讀者信息中的學(xué)生信息可以對(duì)學(xué)生的信息進(jìn)行添加,刪除和下該。最后通過(guò)輸

19、入學(xué)生的學(xué)號(hào)可以對(duì)學(xué)生的信息進(jìn)行查詢。</p><p>  10、退出系統(tǒng):返回主頁(yè)面。</p><p>  2.2 各個(gè)模塊之間的主要關(guān)系</p><p>  圖書(shū)信息管理系統(tǒng)可劃分為7個(gè)模塊:查詢所有圖書(shū)模塊、查找一本圖書(shū)信息模塊、修改圖書(shū)信息模塊、刪除圖書(shū)信息模塊、借閱圖書(shū)模塊、圖書(shū)丟失模塊、金額賠償模塊。各模塊之間均有著或多或少的聯(lián)系,比如: 查找一本圖書(shū)信

20、息模塊、修改信息模塊、刪除信息模塊、借閱圖書(shū)模塊都需要先判斷該圖書(shū)是否存在,然后再進(jìn)行其它操作。圖書(shū)丟失后對(duì)已丟失圖書(shū)的信息進(jìn)行刪除,刪除后顯示出圖書(shū)的價(jià)格病進(jìn)行金額賠償。理解了各模塊之間的主要關(guān)系有利于程序的設(shè)計(jì)與完成,使程序的層次結(jié)構(gòu)清晰,便于程序的編寫(xiě)、閱讀和調(diào)試。</p><p><b>  第三章 詳細(xì)設(shè)計(jì)</b></p><p>  3.1系統(tǒng)的總體流程&

21、lt;/p><p><b>  圖2 系統(tǒng)流程圖</b></p><p>  系統(tǒng)的整體流程如上圖所示,開(kāi)始后顯示輸出菜單選擇進(jìn)入讀者信息模塊或者圖書(shū)管理模塊,讀者信息中是對(duì)教師和學(xué)生的信息進(jìn)行編輯如信息的添加、刪除和修改。主要是針對(duì)如果圖書(shū)丟失或者超期歸還時(shí)計(jì)算賠償金額用的。教師的歸還圖書(shū)期限為60天,學(xué)生為30天。圖書(shū)管理模塊式針對(duì)圖書(shū)進(jìn)行管理,如顯示出全部圖書(shū).即顯

22、示出未被借出的圖書(shū)、添加一本圖書(shū)信息、刪除一本圖書(shū)信息、顯示一本圖書(shū)信息產(chǎn)看一本圖書(shū)是否被借、借閱圖書(shū)功能、圖書(shū)丟失功能、查看圖書(shū)的價(jià)格對(duì)圖書(shū)進(jìn)行賠償、金額管理管理計(jì)算出丟失圖書(shū)的賠償金額和超期歸還圖書(shū)的金額。主要根據(jù)當(dāng)前系統(tǒng)時(shí)間模塊進(jìn)行計(jì)算。</p><p>  3.2 main() 函數(shù)模塊</p><p>  根據(jù)圖書(shū)館信息管理系統(tǒng)的要求,可設(shè)計(jì)一個(gè)主函數(shù),及定義多個(gè)用戶自定義函數(shù)。

23、在主函數(shù)中定義全局變量,即是在函數(shù)外部定義的變量,其不屬于某一個(gè)函數(shù),而屬于一個(gè)源程序文件,在整個(gè)程序內(nèi)可以多次被引用。通過(guò)將switch語(yǔ)句與break語(yǔ)句聯(lián)合使用來(lái)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)程序的設(shè)計(jì)。運(yùn)用fscanf語(yǔ)句在主函數(shù)中將文件中的內(nèi)容賦給結(jié)構(gòu)體變量,便于在自定義函數(shù)中對(duì)結(jié)構(gòu)體的調(diào)用。</p><p><b>  具體如下: </b></p><p>  在主

24、函數(shù)中定義一個(gè)存放圖書(shū)信息的結(jié)構(gòu)體</p><p>  struct list{</p><p>  char num[20] ; /*圖書(shū)編號(hào)*/ </p><p>  char name[40] ; /*書(shū)名*/</p><p>  char author[40] ;

25、 /*作者*/</p><p>  char publish [40]; /*出版社*/</p><p>  ouble price;/*價(jià)格*/</p><p><b>  };</b></p><p><b>  以及各函數(shù)的申明</b><

26、/p><p>  void search_allinformation(struct list b[]) ; /*查看全部圖書(shū)信息*/</p><p>  void check_bookinformation (struct list b[] );/*查找圖書(shū)信息*/</p><p>  void add_bookinformation (struct list b[]

27、 ); /*添加圖書(shū)信息*/</p><p>  double delete_bookinformation (struct list b[] );/*刪除圖書(shū)信息*/</p><p>  void borrow_book (struct list b[] ) ; /*借閱圖書(shū)*/</p><p>  void lost_book(struc

28、t list b[]); /*圖書(shū)丟失*/</p><p>  double cash_manage(); /*金額賠償*/ </p><p>  通過(guò)將switch語(yǔ)句與break語(yǔ)句聯(lián)合使用來(lái)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)程序的設(shè)計(jì)。 </p><p>  sw

29、itch (choice1)</p><p>  { case 1 : search_allinformation (b); </p><p><b>  break ;</b></p><p>  case 2 : check_bookinformation( b );</p><p><b>

30、  break ;</b></p><p>  case 3 : add_bookinformation (b );</p><p><b>  break ;</b></p><p>  case 4 : delete_bookinformation( b);</p><p><b>

31、  break ;</b></p><p>  case 5 : borrow_book( b);</p><p><b>  break ; </b></p><p>  case 6 : lost_book( b);</p><p><b>  break ;</b><

32、;/p><p>  case 7 : cash_manage();</p><p><b>  break ;</b></p><p>  case 0 : break ;</p><p><b>  }</b></p><p>  3.3 查詢所有圖書(shū)信息函數(shù)模塊<

33、;/p><p>  void search_allinformation (struct list b[])</p><p>  通過(guò)printf()語(yǔ)句將所有的圖書(shū)信息包括包括編號(hào)、書(shū)名、出版社、作者、價(jià)格等信息顯示在屏幕上。運(yùn)用for語(yǔ)句加printf()實(shí)現(xiàn)圖書(shū)信息的循環(huán)輸出顯示。</p><p>  3.4 查詢一本圖書(shū)信息函數(shù)模塊</p><

34、;p>  void check_bookinformation(struct list b[] )</p><p>  用戶先輸入圖書(shū)編號(hào)后,先用strcmp(s1, s2)函數(shù)進(jìn)行比較兩個(gè)字符串?dāng)?shù)組的大小,從而查找出該圖書(shū)是否存在,若不存在則提示用戶是否要繼續(xù)查找,運(yùn)用switch語(yǔ)句 ,若繼續(xù)則再次調(diào)用函數(shù)本身進(jìn)行第二次查找,直到找到為止,若否則結(jié)束循環(huán),不再進(jìn)行查找。 通過(guò)將switch語(yǔ)句與brea

35、k語(yǔ)句聯(lián)合使用來(lái)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)程序的設(shè)計(jì)。運(yùn)用fscanf語(yǔ)句在主函數(shù)中將文件中的內(nèi)容賦給結(jié)構(gòu)體。</p><p>  圖3 查詢一本圖書(shū)函數(shù)功能模塊圖</p><p>  3.5添加圖書(shū)信息函數(shù)模塊</p><p>  void add_bookinformation(struct list b[] )</p><p>  輸入圖書(shū)的基

36、本信息包括編號(hào)、書(shū)名、出版社、作者、價(jià)格,由于原有的圖書(shū)信息是按照編號(hào)的大小順序排列的,所以只需運(yùn)用for循環(huán) 和strcmp函數(shù)找出輸入的圖書(shū)應(yīng)該插入的位置,再將所添加的圖書(shū)信息插入即可。</p><p>  圖4 添加圖書(shū)信息函數(shù)功能模塊圖</p><p>  3.6 刪除圖書(shū)信息函數(shù)模塊</p><p>  void delete_bookinformatio

37、n (struct list b[] )</p><p>  用戶輸入所要?jiǎng)h除的圖書(shū)編號(hào),先查找該圖書(shū)編號(hào)是否存在,若存在,這提示用戶是否要顯示刪除后的信息,若不存在則提示重新輸入。 </p><p>  圖5 刪除圖書(shū)信息函數(shù)功能模塊圖</p><p><b>  3.7借閱圖書(shū)模塊</b></p><p>  voi

38、d borrow_book(struct list b[] )</p><p>  用戶先輸入所借圖書(shū)的編號(hào),調(diào)用函數(shù)查找該圖書(shū)有沒(méi)有借出,若已借出,則提示用戶該圖書(shū)已借出,并提示用戶是否繼續(xù)借閱其他書(shū)籍。若繼續(xù),則繼續(xù)進(jìn)行新的查找。</p><p>  圖6 借閱圖書(shū)函數(shù)功能模塊圖</p><p>  3.8 圖書(shū)丟失模塊</p><p>

39、  用戶先輸入以丟失圖書(shū)的編號(hào),調(diào)用函數(shù)刪除圖書(shū)的相關(guān)信息,并顯示出圖書(shū)的金額。</p><p>  3.9 金額賠償模塊</p><p>  用戶對(duì)以丟失的圖書(shū)進(jìn)行賠償。對(duì)以超期歸還的圖書(shū)用當(dāng)前系統(tǒng)統(tǒng)時(shí)間系統(tǒng)進(jìn)行計(jì)算正確的罰款數(shù)額。</p><p>  3.10 老師學(xué)生信息管理系統(tǒng) </p><p>  對(duì)老師和學(xué)生的信息進(jìn)行儲(chǔ)存,其中有

40、添加,刪除和修改功能。</p><p><b>  第四章 調(diào)試及測(cè)試</b></p><p>  4.1 主菜單運(yùn)行界面</p><p>  運(yùn)行程序可進(jìn)入系統(tǒng)菜單欄,可選擇如圖功能進(jìn)行下一步的操作。</p><p>  圖7 主菜單運(yùn)行界面圖</p><p>  4.2 查詢所有圖書(shū)信息模塊

41、運(yùn)行界面</p><p>  按1操作查詢所有未被借出的圖書(shū)信息,如圖所示,選擇下一步操作可對(duì)圖書(shū)進(jìn)行下一步操作。</p><p>  圖8 查詢所有圖書(shū)信息模塊界面</p><p>  4.3 查找某一本圖書(shū)信息模塊運(yùn)行界面</p><p>  按2選擇按書(shū)名查詢某一本圖書(shū)信息,若圖書(shū)編號(hào)存在則界面如下:</p><p&

42、gt;  圖9 圖書(shū)編號(hào)查詢圖書(shū)界面</p><p>  若圖書(shū)不存在這顯示該圖書(shū)不存在。</p><p>  4.4 添加圖書(shū)信息模塊運(yùn)行界面</p><p>  按3選擇,輸入編號(hào),界面如下:</p><p>  圖10 按圖書(shū)編號(hào)添加圖書(shū)界面</p><p>  輸入圖書(shū)的編號(hào).書(shū)名.作者出版社.和價(jià)格。完成之后

43、顯示是否顯示添加后的圖書(shū)信息,選擇是則顯示剛添加的圖書(shū)信息,選擇否則返回主菜單。</p><p>  4.5 刪除圖書(shū)信息模塊運(yùn)行界面</p><p>  按4選擇,輸入編號(hào),如果編號(hào)不存在,界面如下:</p><p>  圖11 按圖書(shū)編號(hào)刪除圖書(shū)界面</p><p>  如果編號(hào)存在,界面如下:</p><p> 

44、 圖12 按圖書(shū)編號(hào)刪除圖書(shū)界面</p><p>  如果編號(hào)不存在,界面如下:</p><p>  圖13 借閱圖書(shū)界面</p><p>  輸入學(xué)號(hào)這可以成功借出,若不存在則顯示該圖書(shū)不存在。</p><p><b>  第五章 總結(jié)</b></p><p>  通過(guò)這次課程設(shè)計(jì),使我對(duì)C語(yǔ)

45、言有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要重在實(shí)踐,要通過(guò)不斷的上機(jī)操作才能更好地學(xué)習(xí)它,我也發(fā)現(xiàn)我的好多不足之處,通過(guò)學(xué)習(xí)也有所改進(jìn);再有對(duì)C語(yǔ)言的一些標(biāo)準(zhǔn)庫(kù)函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)C語(yǔ)言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,所以后在學(xué)習(xí)過(guò)程中,我會(huì)更加注視實(shí)踐操作。 在課程設(shè)計(jì)過(guò)程中,收獲知識(shí),提高能力的同時(shí),我也懂得怎么樣去制定、實(shí)現(xiàn)計(jì)劃,課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)發(fā)現(xiàn)提出分析和解決實(shí)際問(wèn)題鍛煉實(shí)踐能力的重

46、要環(huán)節(jié)是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新月異,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)一些前面學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,在設(shè)計(jì)中我們

47、遇到了很多編程問(wèn)題,最后在高老師的辛勤指導(dǎo)下,我們慢慢的進(jìn)入狀態(tài),我做的是一個(gè)圖書(shū)館信息管理</p><p><b>  第六章 致謝</b></p><p>  非常感謝XX老師的指導(dǎo),在設(shè)計(jì)中我們遇到了很多編程問(wèn)題,最后在高老師的辛勤指導(dǎo)下,我們慢慢的進(jìn)入狀態(tài),順利的完成了編程題目。每天我們?cè)跈C(jī)房編寫(xiě)程序,高老師也寸步不離 ,幫助我們解決問(wèn)題,由于編程是在英文狀態(tài)

48、下進(jìn)行的,很多單詞不知道意思,導(dǎo)致不懂提示的錯(cuò)誤源頭的意思,從而無(wú)法找出錯(cuò)誤的根本原因。在這方面XX老師給了我們提供了很大的幫助 。在程序出現(xiàn)錯(cuò)誤的時(shí)候,高老師耐心的幫我們調(diào)試,查找錯(cuò)誤。在此我對(duì)各位辛勤工作的老師致以最誠(chéng)摯的感謝。</p><p><b>  第七章 參考文獻(xiàn)</b></p><p>  [1] 譚浩強(qiáng)編著.C++程序設(shè)計(jì).北京:清華大學(xué)出版社.20

49、04</p><p>  [2](美)戴特爾(Deitel,H.M.)等編著.張引等譯.C++大學(xué)基礎(chǔ)教程(第五版).北京電子工業(yè)出版社.2006.6</p><p>  [3] 夏云慶編著.Visual C++ 6.0數(shù)據(jù)庫(kù)高級(jí)編程.北京希望電子出版社.2002</p><p>  [4] 伍俊良編著.Visual C++6.0課程設(shè)計(jì)與系統(tǒng)開(kāi)發(fā)案例.北京清華大學(xué)

50、出版社.2002.11</p><p><b>  第八章 程序源代碼</b></p><p>  # include <stdio.h></p><p>  # include <string.h></p><p>  # include <stdlib.h></p>

51、<p>  struct list{</p><p>  char num[20] ; /*圖書(shū)編號(hào)*/ </p><p>  char name[40] ; /*書(shū)名*/</p><p>  char author[40] ; /*作者*/</p>

52、<p>  char publish [40]; /*出版社*/</p><p>  double price ; /*價(jià)格*/</p><p><b>  };</b></p><p>  struct list b[40] ;</p><p> 

53、 int w=0; /*定義一個(gè)全局變量,用來(lái)記錄bookinfo.txt文件中的數(shù)據(jù)個(gè)數(shù)*/</p><p>  double total,total2;//全局的金額</p><p>  void search_allinformation(struct list b[]) ; /*查看全部圖書(shū)信息*/</p

54、><p>  void check_bookinformation (struct list b[] ); /*查找圖書(shū)信息*/</p><p>  void add_bookinformation (struct list b[] ); /*添加圖書(shū)信息*/</p><p>  double delete_bookinformation (struct l

55、ist b[] ); /*刪除圖書(shū)信息*/</p><p>  void borrow_book (struct list b[] ) ; /*借閱圖書(shū)*/</p><p>  void lost_book(struct list b[]); /*圖書(shū)丟失*/</p><p>  double cash_mana

56、ge();</p><p>  char s[20] ;</p><p>  int main ()</p><p><b>  { </b></p><p>  int i = 0 ;</p><p>  int choice1;</p><p>  FILE

57、 *fp ;</p><p>  printf(" * ****************************** *\n");</p><p>  printf(" * 歡迎進(jìn)入圖書(shū)館信息管理系統(tǒng) *\n");</p><p>  pr

58、intf(" * ****************************** *\n");</p><p>  fp = fopen ("e:\\BookInfo.txt" , "r") ;</p><p>  if(fp == NULL)</p><p>  {

59、 printf("Can not open the file 1 !\n") ;</p><p>  exit (0) ;</p><p><b>  }</b></p><p>  while (! feof(fp))</p><p><b>  { </b></p

60、><p>  fscanf(fp,"%s%s%s%s%lf" , /*調(diào)用函數(shù)將文件中的數(shù)據(jù)讀入結(jié)構(gòu)變量中*/</p><p>  b[i].num,b[i].name,b[i].author,b[i].publish,&b[i].price) ; </p><p>  i++ ;

61、 </p><p><b>  }</b></p><p><b>  w=i-1; </b></p><p>  fclose (fp) ;</p><p><b>  do { </b></p><p>  printf("#####

62、###########################################################################");</p><p>  printf(" 功能選項(xiàng): \n");</p><p

63、>  printf(" 1:查看全部圖書(shū)信息 \n") ;</p><p>  printf(" 2:查找圖書(shū)信息 \n") ;&

64、lt;/p><p>  printf(" 3:添加圖書(shū)信息 \n") ;</p><p>  printf(" 4:刪除圖書(shū)信息

65、 \n") ;</p><p>  printf(" 5:借閱圖書(shū) \n") ;</p><p>  printf(" 6:圖書(shū)丟失

66、 \n") ;</p><p>  printf(" 7:金額管理 \n") ;</p><p>  printf(" 0

67、:退出系統(tǒng) \n") ;</p><p>  printf("################################################################################");</p><p>  printf(&q

68、uot;請(qǐng)選擇操作:");</p><p>  scanf("%d" , &choice1); </p><p>  switch (choice1)</p><p><b>  {</b></p><p>  case 1 : </p><p>  se

69、arch_allinformation (b); </p><p><b>  break ;</b></p><p><b>  case 2 :</b></p><p>  check_bookinformation( b );</p><p><b>  break ;</b&

70、gt;</p><p><b>  case 3 : </b></p><p>  add_bookinformation (b );</p><p><b>  break ;</b></p><p><b>  case 4 :</b></p><p&

71、gt;  delete_bookinformation( b);</p><p><b>  break ;</b></p><p><b>  case 5 : </b></p><p>  borrow_book( b);</p><p><b>  break ;</b>

72、</p><p><b>  case 6 : </b></p><p>  lost_book( b);</p><p><b>  break ;</b></p><p><b>  case 7 : </b></p><p>  cash_mana

73、ge();</p><p><b>  break ;</b></p><p><b>  case 0 :</b></p><p><b>  break ;</b></p><p><b>  }</b></p><p>  }

74、while (choice1 != 0);</p><p>  printf("謝謝使用!\n");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  /*查看全部圖書(shū)信息*/</p><p&g

75、t;  void search_allinformation (struct list b[])</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  printf(" ##############################

76、######\n");</p><p>  printf(" # 查看全部圖書(shū)信息! #\n"); </p><p>  printf(" ####################################\n");</p>&

77、lt;p>  printf("圖書(shū)的相關(guān)信息: 編號(hào) 書(shū)名 作者 出版社 價(jià)格\n");</p><p>  for(i=0;i<w;i++)</p><p>  { </p><p>  printf(" %s %s

78、 %s %s %.2f\n", /*將數(shù)據(jù)輸出到屏幕中*/</p><p>  b[i].num, b[i].name, b[i].author, b[i].publish, b[i].price);</p><p><b>  } </b></p><p>  printf("%d " ,

79、 w);</p><p>  printf("################################################################################\n");</p><p><b>  }</b></p><p>  /*查找圖書(shū)信息*/</p>&l

80、t;p>  void check_bookinformation(struct list b[] )</p><p><b>  {</b></p><p>  int i, flag=0;</p><p>  char s[20];</p><p>  printf("輸入編號(hào):\n") ;

81、 /*提示輸入圖書(shū)編號(hào)*/</p><p>  scanf("%s" , s);</p><p>  printf(" #####################################\n");</p><p>  printf("

82、 # 查找圖書(shū)信息! #\n");</p><p>  printf(" #####################################\n");</p><p>  for(i=0;i<w;i++)</p><p>  if (strcmp(s,

83、 b[i].num)==0) </p><p><b>  {</b></p><p>  printf("該圖書(shū)的相關(guān)信息: 編號(hào) 書(shū)名 作者 出版社 價(jià)格\n");</p><p>  printf(" %s %s %s %s

84、 %.2f\n", </p><p>  b[i].num, b[i].name, b[i].author, b[i].publish, b[i].price);</p><p><b>  flag = 1;</b></p><p><b>  break;</b></p><p&

85、gt;<b>  } </b></p><p>  if (flag == 0)</p><p><b>  {</b></p><p>  printf("該圖書(shū)編號(hào)不存在!\n");</p><p>  printf("是否要繼續(xù)查找? y:是 ; n:否\n&q

86、uot;) ;</p><p>  getchar();</p><p>  switch(getchar())</p><p><b>  {</b></p><p><b>  case 'y':</b></p><p>  check_bookinfor

87、mation( b ) ; /*調(diào)用函數(shù)本身繼續(xù)查找*/</p><p>  case 'n' :</p><p><b>  break ;</b></p><p><b>  }</b></p><p><b>  }</b></p>

88、<p>  printf("################################################################################\n");</p><p><b>  }</b></p><p>  /*添加圖書(shū)信息*/</p><p>  void ad

89、d_bookinformation(struct list b[] )</p><p><b>  {</b></p><p>  int i, count=0, choice3; </p><p>  struct list p ;</p><p>  FILE *fp2 ;</p><p>

90、;  printf(" #####################################\n");</p><p>  printf(" # 添加圖書(shū)信息! #\n");</p><p>  printf("

91、 #####################################\n");</p><p>  printf("請(qǐng)輸入該圖書(shū)的相關(guān)信息:\n") ;</p><p>  printf("編號(hào) 書(shū)名 作者 出版社 價(jià)格\n");</p><p>  scanf("

92、 %s %s %s %s %lf",</p><p>  p.num , p.name,p.author,p.publish,&p.price); </p><p>  printf(" 添加成功 !\n");</p><p>  printf("

93、; 是否顯示添加后的信息? 1:是 ; 2:否 \n");</p><p>  printf(" 請(qǐng)選擇:");</p><p>  scanf("%d" , &choice3);</p><p>  switch (choice3)</p><p><b>  {</

94、b></p><p><b>  case 1 :</b></p><p><b>  {</b></p><p>  for(i=0;i<w;i++)</p><p>  if(strcmp(p.num,b[i].num)>0)</p><p>  cou

95、nt ++ ;</p><p>  for(i=w;i>count;i--)</p><p>  b[i] = b[i-1] ;</p><p>  b[i] = p ;</p><p>  w++; /*每添加一本圖書(shū),圖書(shū)數(shù)目都會(huì)增加一個(gè)*/ </p><p>  

96、fp2 = fopen ("e:\\BookInfo.txt" , "w") ;</p><p>  if(fp2 == NULL)</p><p><b>  { </b></p><p>  printf("Can not open the file 2 !\n");</p

97、><p>  exit (0) ;</p><p><b>  }</b></p><p>  for(i=0;i<w;i++)</p><p>  fprintf(fp2," %s %s %s %s %.2f\n" , </p><p&g

98、t;  b[i].num,b[i].name,b[i].author,b[i].publish,b[i].price); </p><p>  fclose (fp2) ;</p><p>  for(i=0;i<w;i++)</p><p>  printf(" %s %s %s %

99、s %.2f\n" , </p><p>  b[i].num,b[i].name,b[i].author,b[i].publish,b[i].price); </p><p><b>  }</b></p><p><b>  case 2 :</b></p><p><b

100、>  break ;</b></p><p><b>  }</b></p><p>  printf("################################################################################\n");</p><p><b&g

101、t;  }</b></p><p>  /*刪除圖書(shū)信息*/</p><p>  double delete_bookinformation (struct list b[] )</p><p><b>  { </b></p><p>  int i, flag= 0,choice4;</p>

102、;<p><b>  double a;</b></p><p>  printf(" #####################################\n");</p><p>  printf(" # 刪除圖書(shū)信息

103、 #\n");</p><p>  printf(" #####################################\n");</p><p>  printf("請(qǐng)輸入圖書(shū)編號(hào):");</p><p>  scanf("%s", s); </p>

104、;<p>  for(i=0;i<w;i++) </p><p>  if(strcmp(s,b[i].num)==0)</p><p><b>  { </b></p><p>  printf(" 刪除成功 !\n");</p><p>  printf("

105、 是否顯示刪除后的信息? 1:是 ; 2:否 \n");</p><p>  printf(" 請(qǐng)選擇:");</p><p>  total+=b[i].price;</p><p>  //a=total;</p><p>  scanf("%d" , &choice4);<

106、/p><p>  switch (choice4)</p><p><b>  {</b></p><p><b>  case 1 :</b></p><p><b>  {</b></p><p>  printf("刪除后的圖書(shū)信息: 編號(hào)

107、 書(shū)名 作者 出版社 價(jià)格\n");</p><p>  for(i=0;i<w;i++)</p><p><b>  {</b></p><p>  if(strcmp(s,b[i].num)!=0)</p><p>  printf("

108、 %s %s %s %s %.2f\n", </p><p>  b[i].num, b[i].name, b[i].author, b[i].publish, b[i].price);</p><p><b>  }</b></p><p><b>  case 2 :</b&

109、gt;</p><p><b>  break ;</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  flag = 1 ;</p><p><b>  break ;

110、</b></p><p><b>  } </b></p><p>  if(flag == 0)</p><p>  printf("該圖書(shū)編號(hào)不存在!\n");</p><p>  printf("####################################

111、############################################\n");</p><p>  return total;</p><p><b>  }</b></p><p><b>  /*借閱圖書(shū)*/</b></p><p>  void borrow_bo

112、ok(struct list b[] )</p><p><b>  {</b></p><p>  int i=0, n=0,flag=0, x=0;</p><p>  int m; /*定義一個(gè)變量用來(lái)記錄sendinfo.txt文件中的數(shù)據(jù)個(gè)數(shù)*/</p><p>  struct list

113、 q;</p><p>  struct student {</p><p>  char name[20] ;</p><p>  char number[40] ;</p><p><b>  };</b></p><p>  struct student stu[50] ;</p>

114、;<p>  FILE *fp ;</p><p>  FILE *fp4 ;</p><p>  printf(" #####################################\n");</p><p>  printf(" #

115、借閱圖書(shū) #\n");</p><p>  printf(" #####################################\n");</p><p>  A: printf("輸入圖書(shū)編號(hào):");</p><p>  scanf("%s

116、" , q.num );</p><p>  fp = fopen ("e:\\BookInfo.txt" , "a") ;</p><p>  if(fp == NULL)</p><p>  { printf("Can not open the file 3 !\n");</p&g

117、t;<p>  exit (0) ;</p><p><b>  } </b></p><p>  for(i=0;i<w;i++)</p><p><b>  { </b></p><p>  if(strcmp(q.num , b[i].num) ==0)</p>

118、;<p><b>  flag=1;</b></p><p><b>  }</b></p><p>  if(flag==0)</p><p><b>  {</b></p><p>  printf("該圖書(shū)編號(hào)不存在, 請(qǐng)重新輸入!\n"

119、);</p><p>  borrow_book( b ) ;</p><p><b>  }</b></p><p>  fclose(fp) ;</p><p>  if(flag==1)</p><p><b>  { </b></p><p&

120、gt;  fp4 = fopen ("e:\\SentInfo.txt" , "r") ;</p><p>  if(fp4 == NULL)</p><p><b>  { </b></p><p>  printf("Can not open the file 4 !\n")

121、;</p><p>  exit (0) ;</p><p><b>  }</b></p><p>  while (! feof(fp4))</p><p><b>  { </b></p><p>  fscanf(fp4,"%s%s" ,

122、 /*調(diào)用函數(shù)將文件中的數(shù)據(jù)讀入結(jié)構(gòu)變量中*/</p><p>  stu[i].number,stu[i].name) ; </p><p>  i++ ; </p><p><b>  }</b></p><p><b>  n=i-1; <

123、/b></p><p>  fclose (fp4) ; </p><p>  fp = fopen ("e:\\SentInfo.txt" , "a") ;</p><p>  if(fp == NULL)</p><p><b>  { </b></

124、p><p>  printf("Can not open the file 5 !\n");</p><p>  exit (0) ;</p><p><b>  } </b></p><p>  for(i=0;i<n;i++)</p><p>  if(strcmp(q.

125、num, stu[i].number) ==0)</p><p><b>  { </b></p><p>  printf("該圖書(shū)已借出!");</p><p>  printf("是否繼續(xù)續(xù)借? y or n\n");</p><p>  getchar();</p

126、><p>  if(getchar()=='y')</p><p><b>  goto A;</b></p><p>  else x = 1;</p><p><b>  }</b></p><p><b>  } </b></p&

127、gt;<p>  if(x == 0) /*若該圖書(shū)未借出,則執(zhí)行以下操作*/</p><p>  printf("請(qǐng)輸入學(xué)號(hào): "); </p><p>  scanf("%d", &m);</p><p>  if((fp=fopen("e:\\SendInfo.tx

128、t","a")) == NULL)</p><p><b>  {</b></p><p>  printf("File open error!\n");</p><p><b>  exit(0);</b></p><p><b> 

129、 } </b></p><p>  fprintf(fp," %s %d",q.num , m );</p><p>  fclose(fp);</p><p>  printf(" 借閱成功!\n");</p><p>  printf("################

130、################################################################\n");</p><p><b>  }</b></p><p>  void lost_book(struct list b[])</p><p><b>  {</b></p

131、><p>  total2=delete_bookinformation(b);</p><p><b>  }</b></p><p>  double cash_manage()</p><p><b>  {</b></p><p>  printf("共計(jì)金額:

溫馨提示

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

評(píng)論

0/150

提交評(píng)論