版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程名稱 C語(yǔ)言程序設(shè)計(jì) </p><p> 課題名稱 圖書(shū)管理系統(tǒng) </p><p> 專 業(yè) 通信工程 </p><p> 2014年 6月 29 日<
2、;/p><p><b> 目錄</b></p><p> 一、課程設(shè)計(jì)目的1</p><p> 二、課程設(shè)計(jì)要求1</p><p> 三、設(shè)計(jì)題目分析1</p><p><b> 3.1題目簡(jiǎn)介1</b></p><p><b>
3、; 3.2設(shè)計(jì)要求1</b></p><p> 四、 課程設(shè)計(jì)內(nèi)容2</p><p><b> 4.1總體設(shè)計(jì)2</b></p><p><b> 4.2詳細(xì)設(shè)計(jì)3</b></p><p> 4.3調(diào)試與測(cè)試12</p><p> 五、 設(shè)計(jì)
4、心得與總結(jié)14</p><p><b> 六、建議15</b></p><p><b> 七、源代碼16</b></p><p> 八、計(jì)算機(jī)與通信學(xué)院課程設(shè)計(jì)評(píng)分表30</p><p><b> 一、課程設(shè)計(jì)目的</b></p><p>
5、; 《C語(yǔ)言程序設(shè)計(jì)》是通信工程專業(yè)重要的基礎(chǔ)課,通過(guò)本課程設(shè)計(jì)使學(xué)生進(jìn)一步鞏固課堂所學(xué)知識(shí),全面熟悉、掌握C語(yǔ)言程序設(shè)計(jì)的基本方法和技巧,進(jìn)一步提高編寫(xiě)程序、閱讀分析程序及上機(jī)操作、調(diào)試程序的能力。</p><p><b> 二、課程設(shè)計(jì)要求</b></p><p><b> 1、課程設(shè)計(jì)目 </b></p><p&
6、gt;<b> 2、課程設(shè)計(jì)要求 </b></p><p><b> 3、設(shè)計(jì)題目分析</b></p><p> 3、1 題目簡(jiǎn)介 </p><p> 3、2 設(shè)計(jì)要求 </p><p><b> 4、課程設(shè)計(jì)內(nèi)容</b></p><p>
7、 4、1 總體設(shè)計(jì):包括系統(tǒng)總體設(shè)計(jì)框架和系統(tǒng)功能模塊圖;</p><p> 4、2 詳細(xì)設(shè)計(jì):包括主要功能模塊說(shuō)明(如函數(shù)功能、函數(shù)參數(shù)說(shuō)明、函數(shù)調(diào)用 關(guān)系描述)和對(duì)應(yīng)的工作流程圖;</p><p> 4、3 調(diào)試與測(cè)試:包括程序調(diào)試過(guò)程、數(shù)據(jù)測(cè)試結(jié)果分析,測(cè)試過(guò)程中遇到的主要問(wèn)題及采取的解決措施;</p><p> 5、設(shè)計(jì)心得與總結(jié):包括課程設(shè)計(jì)過(guò)程中
8、的學(xué)習(xí)體會(huì)和收獲,對(duì)C語(yǔ)言和本次課程設(shè)計(jì)的認(rèn)識(shí)等內(nèi)容。</p><p><b> 6、建議</b></p><p> 7、報(bào)告最后附上評(píng)分表(見(jiàn)任務(wù)書(shū)末頁(yè))</p><p><b> 三、設(shè)計(jì)題目分析</b></p><p><b> 3.1題目簡(jiǎn)介</b></p
9、><p> 圖書(shū)管理系統(tǒng)(能夠?qū)崿F(xiàn)對(duì)圖書(shū)信息的查詢,如:書(shū)名、作者、出版單位、出版時(shí)間、分類號(hào)、價(jià)格等)。</p><p><b> 3.2設(shè)計(jì)要求</b></p><p> 圖書(shū)信息包括:書(shū)名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等;系統(tǒng)以菜單方式工作;具有圖書(shū)信息錄入,修改、插入、刪除功能;能按書(shū)名查詢或作者名查詢;所有信息保存在文件
10、中(每次使用,上次保存的信息能從文件中讀取</p><p><b> 課程設(shè)計(jì)內(nèi)容</b></p><p><b> 4.1總體設(shè)計(jì)</b></p><p> 系統(tǒng)總體設(shè)計(jì)框架和系統(tǒng)功能模塊圖</p><p><b> 4.2詳細(xì)設(shè)計(jì)</b></p>&l
11、t;p> 包括主要功能模塊說(shuō)明(如函數(shù)功能、函數(shù)參數(shù)說(shuō)明、函數(shù)調(diào)用關(guān)系描述)和相應(yīng)的工作流程圖;</p><p> 1、主函數(shù):main();</p><p> 在主函數(shù)中執(zhí)行菜單函數(shù)menu();,然后當(dāng)菜單函數(shù)執(zhí)行完后會(huì)執(zhí)行printf(“退出系統(tǒng)!’);語(yǔ)句在顯示屏顯示 退出系統(tǒng)!然后程序結(jié)束。</p><p> 主菜單函數(shù):menu();<
12、;/p><p> 通過(guò)主菜單顯示系統(tǒng)的功能,并通過(guò)主菜單進(jìn)入各功能函數(shù)。</p><p> 3、圖書(shū)信息錄入函數(shù):input_data();</p><p> 本函數(shù)的功能:錄入圖書(shū)信息并保存在</p><p><b> 文件中。</b></p><p><b> N</b&
13、gt;</p><p><b> Y</b></p><p><b> N</b></p><p><b> Y</b></p><p><b> Y</b></p><p> 4、圖書(shū)信息修改函數(shù):uodate();&l
14、t;/p><p> 本函數(shù)的功能是:修改圖書(shū)信息并將修改后的信息保存在文件中。</p><p><b> N</b></p><p><b> N</b></p><p><b> Y</b></p><p><b> N</b&g
15、t;</p><p><b> Y</b></p><p><b> Y</b></p><p><b> N</b></p><p> 5、圖書(shū)信息插入函數(shù):insert_data();</p><p> 本函數(shù)的功能是:實(shí)現(xiàn)對(duì)圖書(shū)信息的補(bǔ)錄
16、。</p><p><b> Y</b></p><p><b> N</b></p><p> 6、圖書(shū)信息刪除函數(shù):delete();</p><p> 本函數(shù)的功能是:將已寫(xiě)入文件的圖書(shū)信息進(jìn)行刪除。</p><p><b> N</b>
17、</p><p><b> Y</b></p><p><b> N</b></p><p><b> YN</b></p><p><b> Y</b></p><p> 7、圖書(shū)信息查找菜單:find_menu();
18、</p><p> 本函數(shù)的功能是:顯示一個(gè)菜單供用戶選擇是按書(shū)名查找信息還是按作者名查找圖書(shū)信息。</p><p> 8、按書(shū)名查找函數(shù):find_title();</p><p> 本函數(shù)的功能是能通過(guò)輸入圖書(shū)名查詢相關(guān)圖</p><p><b> 書(shū)的信息。</b></p><p>
19、<b> N</b></p><p><b> Y</b></p><p><b> N</b></p><p><b> YN</b></p><p> Y
20、 Y</p><p><b> Y</b></p><p><b> N</b></p><p> 9、按作者名查找圖書(shū)信息find_author_name():</p><p> 本函數(shù)的功能是:通過(guò)輸入作者名來(lái)差查詢圖書(shū)信息。</p><p>
21、<b> N</b></p><p><b> Y</b></p><p><b> N</b></p><p><b> N</b></p><p><b> Y</b></p><p><b
22、> Y</b></p><p><b> Y</b></p><p><b> N</b></p><p><b> 4.3調(diào)試與測(cè)試</b></p><p> 包括程序調(diào)試過(guò)程、數(shù)據(jù)測(cè)試結(jié)果分析,測(cè)試過(guò)程中遇到的主要問(wèn)題及采取的解決措施;</
23、p><p><b> 調(diào)試與測(cè)試:</b></p><p> 在測(cè)試程序中遇到的問(wèn)題1:當(dāng)關(guān)閉程序后再運(yùn)行程序并且錄入新的信息,然后去查詢以前的信息時(shí),發(fā)現(xiàn)以前的信息不存在了。</p><p> 原因:在錄入函數(shù)中數(shù)據(jù)寫(xiě)入文件的方式是“wb”,”wb”將數(shù)據(jù)寫(xiě)入文件的特點(diǎn)是從文件的開(kāi)頭開(kāi)始寫(xiě)的,當(dāng)下一次運(yùn)行程序并錄入新的數(shù)據(jù)時(shí)會(huì)將原有的信息覆
24、蓋。</p><p> 解決方法:在錄入函數(shù)中將數(shù)據(jù)寫(xiě)入文件的方式改”a+”,因?yàn)椤盿+”的特點(diǎn)是從文件的末尾開(kāi)始寫(xiě)入新的數(shù)據(jù)的,不會(huì)覆蓋以前的數(shù)據(jù)。</p><p> 問(wèn)題2:實(shí)現(xiàn)刪除功能時(shí)是將要?jiǎng)h除的信息用空字符串覆蓋掉,實(shí)質(zhì)上計(jì)算機(jī)為原有數(shù)據(jù)分配的內(nèi)存空間還存在,這會(huì)導(dǎo)致內(nèi)存的浪費(fèi)。</p><p> 解決方法:暫且還沒(méi)有找到解決的方法。</p&g
25、t;<p><b> 設(shè)計(jì)心得與總結(jié)</b></p><p><b> 心得與總結(jié)</b></p><p> 進(jìn)入大學(xué)已有一年了,這次的c語(yǔ)言課程設(shè)計(jì)第一次讓我在大學(xué)里體驗(yàn)到了疲勞與充實(shí)和為了做好一件事的那種激情與奮斗!</p><p> 在這學(xué)期剛開(kāi)始接觸c語(yǔ)言的時(shí)候感覺(jué)這門(mén)課程很難學(xué),后來(lái)還是堅(jiān)持
26、下來(lái)去認(rèn)真學(xué)并堅(jiān)持經(jīng)常敲代碼。因?yàn)檫@幾個(gè)月堅(jiān)持學(xué)c使我有了一定的自學(xué)能力,我也體會(huì)到了不為考試而學(xué)習(xí)的那種輕松、愉快的感覺(jué)。</p><p> 在本次課程設(shè)計(jì)中我學(xué)到了很多平時(shí)沒(méi)有學(xué)到的知識(shí)并加強(qiáng)和鞏固了我的c語(yǔ)言基礎(chǔ)。為了能夠獨(dú)立完成課程設(shè)計(jì),我在實(shí)習(xí)周的前的半個(gè)月時(shí)間重點(diǎn)學(xué)習(xí)了文件和結(jié)構(gòu)體的有關(guān)內(nèi)容。經(jīng)歷了這次課程設(shè)計(jì),我對(duì)文件方面的內(nèi)容有了進(jìn)一步的了解。在做這次課程設(shè)計(jì)的時(shí)候,我發(fā)現(xiàn)我的基礎(chǔ)知識(shí)掌握的還不
27、夠牢固,平時(shí)所敲得代碼量還遠(yuǎn)遠(yuǎn)不夠。這次的課設(shè)讓我知道了該如何學(xué)習(xí)其它的編程語(yǔ)言,在平時(shí)的學(xué)習(xí)中要成多問(wèn)、多看、多敲、多想的習(xí)慣。</p><p> 在本次課設(shè)中我遇到了一些問(wèn)題并請(qǐng)教了老師和學(xué)長(zhǎng)及同學(xué),很感謝他們對(duì)我的幫助。通過(guò)和羅老師以及張孝勇學(xué)長(zhǎng)的聊天,我知道了在寫(xiě)程序時(shí)要有一個(gè)良好的邏輯思維,要想清楚如何去解決一個(gè)問(wèn)題并理清思路,在當(dāng)自己的程序完成之后要仔細(xì)的去找程序中存在的不足并完善,要清楚自己程序中
28、每一個(gè)語(yǔ)句的作用。</p><p> 在本次課設(shè)中當(dāng)我完成自己的答辯后,我積極去幫其他同學(xué)解決問(wèn)題。在幫他們修改程序雖然花去了我很多時(shí)間和精力,同時(shí)我也收獲了很多。幫助別人真的是一件很快樂(lè)的事情,并且在幫助人的過(guò)程中也會(huì)有意想不到的收獲。在幫同學(xué)看程序時(shí),我發(fā)現(xiàn)很多代碼寫(xiě)的很混亂,給人的第一感覺(jué)就是不想看這個(gè)程序,有些代碼格式也不是很規(guī)范,讓人看著很不舒服。我發(fā)現(xiàn)學(xué)會(huì)去敲非常規(guī)范的代碼很重要;在寫(xiě)程序時(shí)注釋是非
29、常重要的,這也是為了自己和別人能快速的去讀懂自己的程序;學(xué)習(xí)編程語(yǔ)言最重要的一個(gè)基礎(chǔ)就是要學(xué)會(huì)如何看懂一個(gè)程序,在這方面我還欠佳。</p><p> 經(jīng)過(guò)幾個(gè)月的c語(yǔ)言學(xué)習(xí)和這次的c語(yǔ)言課程設(shè)計(jì),我真正體會(huì)到了學(xué)習(xí)的快樂(lè),并且我找到了我以后的發(fā)展方向。</p><p><b> 六、建議</b></p><p> 1、運(yùn)用鏈表和動(dòng)態(tài)內(nèi)存的
30、知識(shí)解決刪除功能的缺陷使程序得到進(jìn)一步的完善。</p><p> 2、隨著以后知識(shí)的積累,要逐步增加此圖書(shū)管理系統(tǒng)的功能。</p><p> 3、要一一找出此系統(tǒng)存在的缺陷,并試著找到好的方法來(lái)彌補(bǔ)缺陷。</p><p> 4、學(xué)習(xí)編程語(yǔ)言的過(guò)程中要多敲代碼。</p><p> 5、要將代碼書(shū)寫(xiě)規(guī)范。</p><p
31、><b> 6、學(xué)會(huì)看懂程序。</b></p><p> 7、在寫(xiě)程序的過(guò)程中要多用注釋。</p><p> 8、在寫(xiě)程序是思路要清晰,要理解每一個(gè)語(yǔ)句,每一個(gè)函數(shù)的功能和作用。</p><p> 9、要多看一些牛人寫(xiě)的代碼。</p><p> 10、在學(xué)習(xí)的過(guò)程要養(yǎng)成多問(wèn),多想的習(xí)慣。</p>
32、;<p> 11、要把英語(yǔ)這個(gè)工具學(xué)好。</p><p><b> 七、源代碼</b></p><p> # include <stdio.h></p><p> # include <stdlib.h></p><p> # include <string.h>
33、;</p><p> struct book</p><p><b> {</b></p><p> char title[20]; /*書(shū)名*/</p><p> char author_name[20]; /*作者名*/<
34、;/p><p> char class_num[20]; /*分類號(hào)*/</p><p> char publisher[20]; /*出版單位*/</p><p> char publication_data[20]; /*出版時(shí)間*/</p>
35、<p> char price[10]; /*價(jià)格*/</p><p><b> }BOOK;</b></p><p> FILE * fp;</p><p> void menu();/*列出菜單*/</p><p> void input_data
36、();/*錄入數(shù)據(jù)*/</p><p> void update();/*數(shù)據(jù)的修改*/</p><p> void insert_data();/*數(shù)據(jù)的插入*/</p><p> void delete();/*數(shù)據(jù)的刪除*/</p><p> void find_menu();/*圖書(shū)信息查找菜單*/</p>&l
37、t;p> void find_title();/*圖書(shū)信息查找*/</p><p> void find_author_name();/*圖書(shū)信息查找*/</p><p> void input_data()</p><p> /*用來(lái)實(shí)現(xiàn)對(duì)圖書(shū)信息的錄入*/</p><p><b> {</b><
38、/p><p> int key = 1;</p><p> printf("\n*********************圖書(shū)信息錄入********************\n");</p><p> if ((fp = fopen("F:\\Books_Management_Systen_BMS.dat", "
39、a+")) == NULL)</p><p><b> {</b></p><p> printf("Can not open file!\n");</p><p><b> exit(0);</b></p><p><b> }</b>&
40、lt;/p><p> while (key == 1)</p><p><b> {</b></p><p> printf("請(qǐng)輸入信息;\n");</p><p> printf("書(shū)名:");</p><p> scanf("%s&qu
41、ot;, BOOK.title);</p><p> fflush(stdin); /*清空緩沖區(qū)*/</p><p> printf("作者名:");</p><p> scanf("%s", BOOK.author_name);</p><p> f
42、flush(stdin);</p><p> printf("圖書(shū)分類號(hào):");</p><p> scanf("%s",BOOK.class_num);</p><p> fflush(stdin);</p><p> printf("圖書(shū)出版單位:");</p>
43、;<p> scanf("%s", BOOK.publisher);</p><p> fflush(stdin);</p><p> printf("圖書(shū)出版時(shí)間:");</p><p> scanf("%s", BOOK.publication_data);</p>
44、<p> fflush(stdin);</p><p> printf("圖書(shū)價(jià)格:");</p><p> scanf("%s", BOOK.price);</p><p> fwrite(&BOOK, sizeof(struct book), 1, fp);</p><p>
45、; printf("錄入成功!\n");</p><p> printf("是否繼續(xù)?是的話請(qǐng)按1,否的話請(qǐng)按0退出:");</p><p> scanf("%d", &key);</p><p><b> }</b></p><p> fcl
46、ose(fp);</p><p> system("pause");</p><p> /*就是在命令行上輸出一行類似于“Press any key to exit”的字,*/</p><p> /*等待用戶按一個(gè)鍵,然后返回。*/</p><p><b> return;</b&g
47、t;</p><p><b> }</b></p><p> void update() /*用來(lái)實(shí)現(xiàn)對(duì)圖書(shū)信息的修改*/</p><p><b> {</b></p><p> int flag = 0;</p>&l
48、t;p> int key = 1;</p><p> char title[20];</p><p> char new_title[20];</p><p> char author_name[20];</p><p> char class_num[20];</p><p> char publi
49、sher[20];</p><p> char publication_data[20];</p><p> char price[10];</p><p> while (key == 1)</p><p><b> {</b></p><p> printf("請(qǐng)輸入您要修
50、改信息的圖書(shū)的圖書(shū)名:");</p><p> scanf("%s", title);</p><p> fp = fopen("F:\\Books_Management_Systen_BMS.dat", "rb+");</p><p> while ( (fread(&BOOK,
51、sizeof(struct book), 1, fp)) == 1)</p><p> /* fread函數(shù)的類型為int型,如果函數(shù)執(zhí)行成功,*/</p><p> /*則函數(shù)的返回值為形參count的值1,即輸出項(xiàng)的個(gè)數(shù)*/</p><p><b> {</b></p><p> if (strcmp(BOO
52、K.title, title) == 0)</p><p><b> {</b></p><p> flag = 1; /*標(biāo)記*/</p><p><b> break;</b></p><p><b> }</b><
53、/p><p><b> }</b></p><p> if(flag==1)</p><p><b> {</b></p><p> printf("書(shū)名:");</p><p> printf("%s\n", BOOK.titl
54、e);</p><p> printf("作者:");</p><p> printf("%s\n", BOOK.author_name);</p><p> printf("圖書(shū)分類號(hào):");</p><p> printf("%s\n", BOOK.c
55、lass_num);</p><p> printf("圖書(shū)出版單位:");</p><p> printf("%s\n", BOOK.publisher);</p><p> printf("圖書(shū)出版時(shí)間:");</p><p> printf("%s\n&quo
56、t;, BOOK.publication_data);</p><p> printf("圖書(shū)價(jià)格:");</p><p> printf("%s\n", BOOK.price);</p><p> printf("請(qǐng)輸入新的圖書(shū)信息:\n");</p><p> print
57、f("書(shū)名:");</p><p> scanf("%s", new_title);</p><p> fflush(stdin);</p><p> printf("\n作者:");</p><p> scanf("%s", author_name);&
58、lt;/p><p> fflush(stdin);</p><p> printf("\n圖書(shū)分類號(hào):");</p><p> scanf("%s", class_num);</p><p> fflush(stdin);</p><p> printf("\n圖
59、書(shū)出版單位:");</p><p> scanf("%s", publisher);</p><p> fflush(stdin);</p><p> printf("\n圖書(shū)出版時(shí)間:");</p><p> scanf("%s", publication_dat
60、a);</p><p> fflush(stdin);</p><p> printf("\n圖書(shū)價(jià)格:");</p><p> scanf("%s", price);</p><p> fflush(stdin);</p><p> fseek(fp, -sizeof
61、(struct book), 1);</p><p> /* 將文件位置標(biāo)記向后退一個(gè)struct book鎖占的長(zhǎng)度*/</p><p> strcpy(BOOK.title, new_title);</p><p> strcpy(BOOK.author_name, author_name);</p><p> strcpy(BO
62、OK.class_num, class_num);</p><p> strcpy(BOOK.publisher, publisher);</p><p> strcpy(BOOK.publication_data, publication_data);</p><p> strcpy(BOOK.price, price);</p><p&
63、gt; fwrite(&BOOK, sizeof(struct book), 1, fp);</p><p> printf("修改成功!\n");</p><p> fclose(fp);</p><p><b> }</b></p><p><b> else</
64、b></p><p><b> {</b></p><p> printf("沒(méi)有此圖書(shū)的信息!\n");</p><p><b> }</b></p><p> printf("請(qǐng)確認(rèn)您是否繼續(xù),是的話請(qǐng)輸入1,否的話請(qǐng)輸入0;");</
65、p><p> scanf("%d", &key);</p><p><b> }</b></p><p> system("pause");</p><p><b> return;</b></p><p><b>
66、; }</b></p><p> void insert_data() /*插入圖書(shū)信息*/</p><p><b> {</b></p><p> int key = 1;</p><p> fp = fopen("F:
67、\\Books_Management_Systen_BMS.dat", "a+");</p><p> while (key == 1)</p><p><b> {</b></p><p> printf("請(qǐng)輸入圖書(shū)信息:\n");</p><p> prin
68、tf("書(shū)名:");</p><p> scanf("%s", BOOK.title);</p><p> printf("作者:");</p><p> scanf("%s", BOOK.author_name);</p><p> printf(&qu
69、ot;圖書(shū)分類號(hào):");</p><p> scanf("%s", BOOK.class_num);</p><p> printf("圖書(shū)出版社:");</p><p> scanf("%s", BOOK.publisher);</p><p> printf(&
70、quot;圖書(shū)出版時(shí)間:");</p><p> scanf("%s", BOOK.publication_data);</p><p> printf("圖書(shū)價(jià)格:");</p><p> scanf("%s", BOOK.price);</p><p> fwr
71、ite(&BOOK, sizeof(struct book), 1, fp);</p><p> printf("插入成功!\n");</p><p> printf("請(qǐng)確認(rèn)是否繼續(xù),是的話請(qǐng)按1,否的話請(qǐng)按0退出:");</p><p> scanf("%d", &key);<
72、;/p><p><b> }</b></p><p> fclose(fp);</p><p> system("pause");</p><p><b> return;</b></p><p><b> }</b></
73、p><p> void delete() /*刪除圖書(shū)信息*/</p><p><b> {</b></p><p> int key = 1;</p><p> int flag = 0;</p><p> char title[20];<
74、/p><p> while (key == 1)</p><p><b> {</b></p><p> printf("請(qǐng)輸入您要?jiǎng)h除圖書(shū)信息的圖書(shū)名:");</p><p> scanf("%s", title);</p><p> fp = fo
75、pen("F:\\Books_Management_Systen_BMS.dat", "rb+");</p><p> while ( (fread(&BOOK, sizeof(struct book), 1, fp)) == 1)</p><p> /* fread函數(shù)的類型為int型,如果函數(shù)執(zhí)行成功,*/</p>&l
76、t;p> /*則函數(shù)的返回值為形參count的值1,即輸出項(xiàng)的個(gè)數(shù)*/</p><p><b> {</b></p><p> if (strcmp(title, BOOK.title) == 0)</p><p><b> {</b></p><p><b> flag
77、= 1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if (flag == 1)</p><p><b> {&l
78、t;/b></p><p> fseek(fp, -sizeof(struct book), 1);</p><p> /* 將文件位置標(biāo)記向后退一個(gè)struct book鎖占的長(zhǎng)度*/</p><p> strcpy(BOOK.title, "");</p><p> strcpy(BOOK.author_
79、name, "");</p><p> strcpy(BOOK.class_num, "");</p><p> strcpy(BOOK.publisher, "");</p><p> strcpy(BOOK.publication_data, "");</p>&
80、lt;p> strcpy(BOOK.price, "");</p><p> fwrite(&BOOK, sizeof(struct book), 1, fp);</p><p> printf("刪除成功!\n");</p><p><b> }</b></p>&l
81、t;p><b> else</b></p><p> printf("沒(méi)有此圖書(shū)的信息!\n");</p><p> fclose(fp);</p><p> printf("請(qǐng)問(wèn)是否繼續(xù),是的話輸入1,否的話輸入0:");</p><p> scanf("
82、;%d", &key);</p><p><b> }</b></p><p> system("pause");</p><p><b> return;</b></p><p><b> }</b></p><
83、;p> void find_title() /*根據(jù)書(shū)名查找圖書(shū)信息*/</p><p><b> {</b></p><p> int flag = 0;</p><p> int key = 1;</p><p> char title[20];</p
84、><p> while (key == 1)</p><p><b> {</b></p><p> fp = fopen("F:\\Books_Management_Systen_BMS.dat", "rb");</p><p> printf("書(shū)名:"
85、);</p><p> scanf("%s", title);</p><p> while ( (fread(&BOOK, sizeof(struct book), 1, fp)) == 1)</p><p> /* fread函數(shù)的類型為int型,如果函數(shù)執(zhí)行成功,*/</p><p> /*則函數(shù)的返
86、回值為形參count的值1,即輸出項(xiàng)的個(gè)數(shù)*/</p><p><b> {</b></p><p> if (strcmp(title, BOOK.title) == 0)</p><p><b> {</b></p><p><b> flag = 1;</b>&l
87、t;/p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if (flag == 1)</p><p><b> {</b></p&g
88、t;<p> printf("書(shū)名:");</p><p> printf("%s\n", BOOK.title);</p><p> printf("作者:");</p><p> printf("%s\n", BOOK.author_name);</p&g
89、t;<p> printf("圖書(shū)分類號(hào):");</p><p> printf("%s\n", BOOK.class_num);</p><p> printf("圖書(shū)出版單位:");</p><p> printf("%s\n", BOOK.publisher)
90、;</p><p> printf("圖書(shū)出版時(shí)間:");</p><p> printf("%s\n", BOOK.publication_data);</p><p> printf("圖書(shū)價(jià)格:");</p><p> printf("%s\n",
91、BOOK.price);</p><p><b> }</b></p><p> else if (flag == 0)</p><p><b> {</b></p><p> printf("沒(méi)有此圖書(shū)的信息!\n");</p><p><
92、b> }</b></p><p> fclose(fp);</p><p> printf("請(qǐng)問(wèn)是否繼續(xù),是的話請(qǐng)輸入1,否的話輸入0:");</p><p> scanf("%d", &key);</p><p><b> }</b><
93、/p><p> system("pause");</p><p><b> return;</b></p><p><b> }</b></p><p> void find_author_name() /*根據(jù)作者名查找圖書(shū)信息*/<
94、;/p><p><b> {</b></p><p> int flag = 0;</p><p> int key = 1;</p><p> char author_name[20];</p><p> while (key == 1)</p><p><b
95、> {</b></p><p> fp = fopen("F:\\Books_Management_Systen_BMS.dat", "rb");</p><p> printf("作者:");</p><p> scanf("%s", author_name)
96、;</p><p> while ( (fread(&BOOK, sizeof(struct book), 1, fp)) == 1)</p><p> /* fread函數(shù)的類型為int型,如果函數(shù)執(zhí)行成功,*/</p><p> /*則函數(shù)的返回值為形參count的值1,即輸出項(xiàng)的個(gè)數(shù)*/</p><p><b>
97、 {</b></p><p> if (strcmp( author_name, BOOK.author_name) == 0)</p><p><b> {</b></p><p><b> flag = 1;</b></p><p><b> break;<
98、/b></p><p><b> }</b></p><p><b> }</b></p><p> if (flag == 1)</p><p><b> {</b></p><p> printf("書(shū)名:");&
99、lt;/p><p> printf("%s\n", BOOK.title);</p><p> printf("作者:");</p><p> printf("%s\n", BOOK.author_name);</p><p> printf("圖書(shū)分類號(hào):"
100、);</p><p> printf("%s\n", BOOK.class_num);</p><p> printf("圖書(shū)出版單位:");</p><p> printf("%s\n", BOOK.publisher);</p><p> printf("圖書(shū)出
101、版時(shí)間:");</p><p> printf("%s\n", BOOK.publication_data);</p><p> printf("圖書(shū)價(jià)格:strcmp(title, BOOK.title) == 0");</p><p> printf("%s\n", BOOK.price
102、);</p><p><b> }</b></p><p> else if (flag == 0)</p><p><b> {</b></p><p> printf("沒(méi)有此圖書(shū)的信息!\n");</p><p><b> }&l
103、t;/b></p><p> fclose(fp);</p><p> printf("請(qǐng)問(wèn)是否繼續(xù),是的話請(qǐng)輸入1,否的話輸入0:");</p><p> scanf("%d", &key);</p><p><b> }</b></p>&l
104、t;p> system("pause");</p><p><b> return;</b></p><p><b> }</b></p><p> void find_menu() /*圖書(shū)查詢信息菜單*/</p><p&
105、gt;<b> {</b></p><p><b> char key;</b></p><p> while (key != '3')</p><p><b> {</b></p><p> system("cls");</
106、p><p> printf("\n");fflush(stdin);</p><p> printf("\n");</p><p> printf("|*******************圖書(shū)信息查詢**********************\n\n");</p><p>
107、printf("|1.按書(shū)名查找:\n");</p><p> printf("|2.按作者名查找:\n");</p><p> printf("|3.退出圖書(shū)信息查詢:\n");</p><p> printf("|\n");</p><p> prin
108、tf("|*********************謝謝使用************************\n\n");</p><p> key = getchar();</p><p> switch (key)</p><p><b> {</b></p><p><b>
109、case '1':</b></p><p> find_title();</p><p><b> break;</b></p><p><b> case '2':</b></p><p> find_author_name();</p&g
110、t;<p><b> break;</b></p><p><b> case '3':</b></p><p> system("pause");</p><p><b> break;</b></p><p><
111、;b> default:</b></p><p> printf("enter data error!\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&l
112、t;/p><p> void menu() /*主菜單*/</p><p><b> {</b></p><p><b> char key;</b></p><p> while (key != '0')</p><p
113、><b> {</b></p><p> system("cls");</p><p> printf("\n");</p><p> printf("\n");</p><p> printf("|****************歡迎
114、使用圖書(shū)管理系統(tǒng)*****************\n\n");</p><p> printf("|1.圖書(shū)信息錄入:\n");</p><p> printf("|2.圖書(shū)信息修改:\n");</p><p> printf("|3.圖書(shū)信息插入;\n");</p><
115、;p> printf("|4.圖書(shū)信息刪除:\n");</p><p> printf("|5.圖書(shū)查找:\n");</p><p> printf("|0.退出系統(tǒng):\n");</p><p> printf("|\n");</p><p> p
116、rintf("|*******感謝對(duì)湖工計(jì)算機(jī)軟件開(kāi)發(fā)實(shí)驗(yàn)室的支持**********\n\n");</p><p> key = getchar();</p><p> switch (key)</p><p><b> {</b></p><p><b> case '1
117、':</b></p><p> input_data();</p><p><b> break;</b></p><p><b> case '2':</b></p><p><b> update();</b></p>
118、<p><b> break;</b></p><p><b> case '3':</b></p><p> insert_data();</p><p><b> break;</b></p><p><b> case &
119、#39;4':</b></p><p><b> delete();</b></p><p><b> break;</b></p><p><b> case '5':</b></p><p> find_menu();</p
120、><p><b> break;</b></p><p><b> case '0':</b></p><p><b> break;</b></p><p><b> default:</b></p><p>
121、 printf("enter data error!\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> int main()</p><
122、p><b> {</b></p><p><b> menu();</b></p><p> printf("退出系統(tǒng)\n");</p><p><b> return 0;</b></p><p><b> }</b>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)(圖書(shū)管理系統(tǒng))
- c語(yǔ)言課程設(shè)計(jì)-圖書(shū)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--圖書(shū)管理
- c語(yǔ)言課程設(shè)計(jì)報(bào)告~圖書(shū)管理系統(tǒng)
- c語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書(shū)管理系統(tǒng)-c語(yǔ)言課程設(shè)計(jì)報(bào)告
- 小型圖書(shū)管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)---某高校圖書(shū)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---圖書(shū)管理信息
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)c++課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c課程設(shè)計(jì)報(bào)告-- 圖書(shū)管理系統(tǒng)
- c#-圖書(shū)管理系統(tǒng)-課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論