版權(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è) 網(wǎng)絡(luò)工程 </p><p> 班 級(jí) 100
2、2班 </p><p> 學(xué) 號(hào) </p><p> 姓 名 </p><p> 課 程 設(shè) 計(jì) 任 務(wù) 書(shū)</p><p> 一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p><p> 1.設(shè)計(jì)內(nèi)容:對(duì)一個(gè)有N
3、本圖書(shū)的圖書(shū)館,通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì)該班級(jí)學(xué)生的基本信息進(jìn)行錄入、顯示、修改、刪除、保存等操作的管理。</p><p> (1)、本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:書(shū)號(hào)、書(shū)名、作者、出版社、出版日期、單價(jià)、是否借出等。</p><p> ?。?)、本系統(tǒng)顯示這樣的菜單:</p><p><b> 圖書(shū)基本信息錄入</b&
4、gt;</p><p><b> 圖書(shū)基本信息顯示</b></p><p><b> 圖書(shū)基本信息刪除</b></p><p><b> 圖書(shū)基本信息修改</b></p><p> 圖書(shū)基本信息查詢(按書(shū)號(hào)查詢、書(shū)名等)</p><p><
5、b> g. 退出系統(tǒng)</b></p><p> (3)、執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。</p><p> 2.設(shè)計(jì)要求:掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問(wèn)題,為將來(lái)編寫(xiě)軟件積累一些典型的案例處理經(jīng)驗(yàn)。</p><p> 設(shè)計(jì)正確,方案合理。</p><p>
6、; 界面友好,使用方便。</p><p> 程序精煉,結(jié)構(gòu)清晰。</p><p> 設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序清單及程序框圖。</p><p><b> 上機(jī)演示。</b></p><p> 按學(xué)號(hào)順序選課題號(hào),并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的C源程序編寫(xiě)、調(diào)整和運(yùn)行。源程序
7、及編譯生成各文件均保存在軟盤中;</p><p> 按本任務(wù)書(shū)的要求,按附錄的要求編寫(xiě)《課程設(shè)計(jì)報(bào)告》(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; </p><p><b> 二、進(jìn)度安排</b></p><p> 第 十八 周 星期1 8時(shí)00分——11時(shí)30分</p><p> 星期2 14時(shí)
8、00分——18時(shí)15分</p><p> 星期3 8時(shí)00分——11時(shí)30分</p><p> 星期4 8時(shí)00分——11時(shí)30分 </p><p> 第 十九 周 星期1 8時(shí)00分——11時(shí)30分</p><p> 星期2 14時(shí)00分——18時(shí)15分</p><p><b&
9、gt; 三、課程設(shè)計(jì)報(bào)告</b></p><p><b> 1.程序設(shè)計(jì)準(zhǔn)備</b></p><p> 做系統(tǒng)前,首先,自己詳細(xì)看了《C程序設(shè)計(jì)》(教科書(shū)),基本自學(xué)會(huì)了文件的相關(guān)內(nèi)容,理解了相關(guān)函數(shù)的用法和作用;另,上網(wǎng)查詢了很多相關(guān)資料,還有找了很多相關(guān)的系統(tǒng),都詳細(xì)的看了一遍,加深了對(duì)C的理解以及對(duì)文件的相關(guān)內(nèi)容進(jìn)一步理解。學(xué)習(xí)了C語(yǔ)言的內(nèi)容,
10、圖書(shū)信息管理系統(tǒng)有助于C語(yǔ)言學(xué)習(xí)的進(jìn)一步鞏固,在本系統(tǒng)可以增強(qiáng)對(duì)指針、文件、函數(shù)、結(jié)構(gòu)體變量等基本知識(shí)的進(jìn)一步理解。另外圖書(shū)信息管理系統(tǒng)也是學(xué)校常用的基本系統(tǒng)之一,它有助于學(xué)校對(duì)圖書(shū)館書(shū)籍的基本管理。</p><p><b> 2.程序設(shè)計(jì)說(shuō)明</b></p><p> 根據(jù)題目要求,應(yīng)當(dāng)把圖書(shū)信息用結(jié)構(gòu)體形式輸入,再定義一個(gè)全局變量和文件指針進(jìn)行整個(gè)程序的運(yùn)行,
11、然后把圖書(shū)信息送到文件中去,所以應(yīng)該提供下個(gè)結(jié)構(gòu)體和文件的輸入等操作:在程序中需要實(shí)現(xiàn)圖書(shū)信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來(lái)實(shí)現(xiàn):另外還需提供選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要求的目的。</p><p> 3.程序的主要功能 </p><p> 圖書(shū)管理在生活中運(yùn)用非常廣泛,因此需要用許多的程序來(lái)對(duì)它們進(jìn)行管理。圖書(shū)借閱管理系統(tǒng)是對(duì)圖書(shū)信息的基本管理
12、,它包括:圖書(shū)信息的錄入、圖書(shū)信息的顯示、圖書(shū)信息的刪除、圖書(shū)信息的修改、圖書(shū)信息的查詢。</p><p> 通過(guò)編譯一個(gè)C語(yǔ)言函數(shù),其中包含一個(gè)主函數(shù),多個(gè)子函數(shù),主函數(shù)調(diào)用其余的子函數(shù)實(shí)現(xiàn)人們能夠簡(jiǎn)易、快捷的了解并找到自己所學(xué)要的信息的功能。</p><p> 1、圖書(shū)基本信息錄入:對(duì)新到圖書(shū)館的圖書(shū)的信息(編號(hào)、書(shū)名、出版社、作者、價(jià)格)進(jìn)行錄入。</p><
13、p> 2、圖書(shū)基本信息顯示:顯示已被錄入圖書(shū)的所有信息。</p><p> 3、圖書(shū)基本信息刪除:通過(guò)輸入書(shū)名,判斷此圖書(shū)是否存在,若存在, 則刪除該圖書(shū)所有信息,若不存在則提示用戶重新輸入圖書(shū)書(shū)名。</p><p> 4、圖書(shū)基本信息修改:通過(guò)輸入書(shū)名,判斷此圖書(shū)是否存在,若不存在則提示用戶重新輸入圖書(shū)書(shū)名,若存在,則可對(duì)圖書(shū)各項(xiàng)信息進(jìn)行修改。 </p><
14、;p> 5、圖書(shū)基本信息查詢:將所有圖書(shū)信息包括編號(hào)、書(shū)名、出版社、作者、價(jià)格等顯示在屏幕上。</p><p> 6、退出系統(tǒng):即退出圖書(shū)借閱管理系統(tǒng)。</p><p> 使用模塊化編程的方法每項(xiàng)功能有一個(gè)或多個(gè)函數(shù)組合來(lái)完成,其中菜單選項(xiàng)模塊對(duì)應(yīng)如下:</p><p> 圖書(shū)基本信息錄入==> void insert() </p>
15、<p> 圖書(shū)基本信息顯示==> void print()</p><p> 圖書(shū)基本信息刪除==> void del() </p><p> 圖書(shū)基本信息修改==> void modify() </p><p> 圖書(shū)基本信息查詢==> void find()</p><p
16、> 這份代碼中各個(gè)變量的定義如下:</p><p> num 圖書(shū)編號(hào) </p><p> name 書(shū)名</p><p> author 作者</p><p> pub 出版社</p><p> where 出版日期</p><
17、p> count 單價(jià)</p><p><b> 四.功能模塊的劃分</b></p><p><b> 1.主函數(shù)模塊</b></p><p> 根據(jù)圖書(shū)館信息管理系統(tǒng)的要求,可設(shè)計(jì)一個(gè)主函數(shù),及定義多個(gè)用戶自定義函數(shù)。在主函數(shù)中定義全局變量,即是在函數(shù)外部定義的變量,其不屬于某一個(gè)函數(shù),而屬于一個(gè)源
18、程序文件,在整個(gè)程序內(nèi)可以多次被引用。</p><p> 2.圖書(shū)基本信息顯示模塊</p><p> 當(dāng)用戶選擇圖書(shū)基本信息顯示時(shí),程序會(huì)將所有圖書(shū)信息列出。</p><p> 3.圖書(shū)基本信息輸入模塊</p><p> 在程序開(kāi)始運(yùn)行,創(chuàng)建文件庫(kù)時(shí),調(diào)動(dòng)此模塊,提示用戶輸入新的圖書(shū)編號(hào)(編號(hào)為0時(shí)結(jié)束輸入),然后繼續(xù)輸入圖書(shū)書(shū)名,作
19、者,出版社,出版日期,單價(jià)等信息。結(jié)束輸入時(shí)提示用戶圖書(shū)輸入完成</p><p> 4.圖書(shū)基本信息查詢模塊</p><p> 用戶先選擇圖書(shū)查詢方式(按書(shū)名查找或按書(shū)號(hào)查找)輸入圖書(shū)書(shū)名或書(shū)號(hào)后,查找出該圖書(shū)是否存在,若存在,則顯示該圖書(shū)信息,若不存在則提示用戶無(wú)此圖書(shū)信息。</p><p> 5.圖書(shū)基本信息刪除模塊</p><p>
20、; 用戶輸入所要?jiǎng)h除的圖書(shū)書(shū)名,先查找該圖書(shū)是否存在,若存在,則刪除該圖書(shū)所有信息,若不存在則提示無(wú)此圖書(shū)信息。</p><p> 6.圖書(shū)基本信息錄入模塊</p><p> 首先輸入圖書(shū)錄入的編號(hào)(不為0)判斷是否有重復(fù)的編號(hào),若有,則提示用戶該書(shū)已存在,若無(wú)則繼續(xù)錄入書(shū)名、作者、出版社、單價(jià)。 </p><p> 7.圖書(shū)基本信息修改模塊</p&g
21、t;<p> 用戶輸入要修改的書(shū)名,判斷該書(shū)是否存在,若不存在,則提示用戶無(wú)此圖書(shū)信息;若存在,則提示用戶選擇修改項(xiàng)目,然后提示用戶圖書(shū)信息修改完成。</p><p><b> 8.讀文件模塊</b></p><p> 在運(yùn)行該程序時(shí),程序會(huì)自動(dòng)檢測(cè)是否存在圖書(shū)信息,若存在,則會(huì)顯示圖書(shū)信息,若不存在,則會(huì)提示用戶創(chuàng)建文件庫(kù),錄入圖書(shū)信息。<
22、/p><p><b> 9.文件保存模塊</b></p><p> 當(dāng)用戶對(duì)圖書(shū)信息有錄入,修改,刪除等操作時(shí),程序會(huì)自動(dòng)保存操作和新的圖書(shū)信息。</p><p><b> 五.主要功能的實(shí)現(xiàn)</b></p><p> 程序運(yùn)行流程:但每個(gè)模塊運(yùn)行完即會(huì)回到主函數(shù),然后選擇其他或退出。</
23、p><p><b> 六.程序調(diào)試</b></p><p> 1.第一次運(yùn)行程序時(shí),庫(kù)文件不存在圖書(shū)信息,于是錄入圖書(shū)信息。</p><p><b> 2.主界面。</b></p><p> 在主界面選擇1,開(kāi)始錄入新的圖書(shū)信息。</p><p> 在主界面選擇2,查詢
24、圖書(shū)信息,按1或2分別選擇按書(shū)名或書(shū)號(hào)查詢。(以《英語(yǔ)》為例)</p><p> 選擇2,按書(shū)號(hào)查找,輸入書(shū)號(hào):1,即可查詢圖書(shū)《英語(yǔ)》所有信息。</p><p> 選擇1,按書(shū)名查找,輸入書(shū)名:英語(yǔ),即可獲得圖書(shū)《英語(yǔ)》所有信息。</p><p> 5.在主界面選擇3,對(duì)圖書(shū)資料進(jìn)行刪除(以《數(shù)學(xué)》為例),在后續(xù)圖書(shū)信息顯示時(shí)無(wú)《數(shù)學(xué)》圖書(shū)信息。</p
25、><p> 6.在主界面選擇4,對(duì)圖書(shū)進(jìn)行修改(以《英語(yǔ)》為例,修改圖書(shū)作者,將作者更換為王五),在后續(xù)圖書(shū)基本信息顯示時(shí),作者不將是張三,而是王五。</p><p> 7.在主界面選擇5,圖書(shū)基本信息顯示,此時(shí)圖書(shū)信息經(jīng)過(guò)刪除和修改,和初始信息不同。</p><p><b> 七.總結(jié)</b></p><p> 通
26、過(guò)為期一周的課程設(shè)計(jì),對(duì)《C語(yǔ)言》這門課程有了更深一步的了解。它是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ),在我們網(wǎng)絡(luò)工程專業(yè)的學(xué)習(xí)中占據(jù)著十分重要的地位。自己C語(yǔ)言編程的能力有了提高,特別是在文件、指針、數(shù)組、函數(shù)和結(jié)構(gòu)體方面有了很大提高,另外還學(xué)習(xí)了課本沒(méi)有講到的知識(shí),學(xué)會(huì)了使用模塊化編程的簡(jiǎn)單方法,另外在對(duì)話框的編程要求美觀、方面也有了體會(huì)。</p><p> 循環(huán)是C語(yǔ)言的重要方法,也是本程序的靈魂,它在本程序
27、中既有“穿針引線”的作用,也起到了對(duì)數(shù)據(jù)進(jìn)行分析、存貯、讀取等重要的作用,本程序在使用循環(huán)過(guò)程中對(duì)循環(huán)進(jìn)行了多方法的應(yīng)用也是一個(gè)“亮點(diǎn)”,它使程序變得結(jié)構(gòu)合理,通俗易懂,也降低了程序的難度。以后要對(duì)這種方法進(jìn)行深刻的體會(huì)。</p><p> 數(shù)組在程序中有著很重要的作用,對(duì)數(shù)據(jù)的貯存、輸入、讀取起著很重要的作用,本程序幾乎所有數(shù)據(jù)都以數(shù)組進(jìn)行輸入、貯存、讀取方便了對(duì)數(shù)據(jù)的處理和輸入,數(shù)組的的使用在本程序中有很大
28、的好處。</p><p> 函數(shù)是實(shí)現(xiàn)模塊化編程的基礎(chǔ),它使程序變得方面易懂,對(duì)修改起了很大作用,降低了編程的難度,一個(gè)函數(shù)就是一個(gè)功能,它使各個(gè)功能之間有了一定的獨(dú)立性,但也有了一定的聯(lián)系性,一個(gè)函數(shù)的錯(cuò)誤,不會(huì)導(dǎo)致整個(gè)程序的失?。ㄖ骱瘮?shù)除外),對(duì)函數(shù)的良好應(yīng)用時(shí)在本程序中又以深刻的體會(huì),有了很大提高。</p><p> 結(jié)構(gòu)體的使用,為本程序提供了很大方便,也提高了程序的可讀性,結(jié)
29、構(gòu)數(shù)組方便了對(duì)數(shù)據(jù)的管理。</p><p> 這個(gè)程序的結(jié)構(gòu)大體是從網(wǎng)絡(luò)上借鑒的,但是大部分功能模塊與任務(wù)要求不同,只能自己修改,最后終于調(diào)試通過(guò),同時(shí)也使我們知道,要學(xué)好這門課程,僅學(xué)習(xí)書(shū)本上的知識(shí)是不夠的,還要有較強(qiáng)的實(shí)踐能力。因?yàn)槲覀儗W(xué)習(xí)知識(shí)就是為了實(shí)踐。而只有多實(shí)踐,多編寫(xiě)程序,才能更好的理解與掌握書(shū)本上的東西。同時(shí)提高了自己對(duì)編程的興趣,使自己對(duì)編程有了更深的理解,體會(huì)到編程的樂(lè)趣。</p>
30、;<p><b> 八.附件</b></p><p><b> 原代碼清單及注釋</b></p><p> #include<stdio.h> </p><p> #include<string.h> </p><p> #include<con
31、io.h> </p><p> #include<stdlib.h> </p><p> #define N sizeof(struct book)</p><p> #define PT "%-5d %10s %6s %6s %8s %3d \n",p->num,p->name,p->
32、;author,p->pub,p->where,p->count</p><p> struct book /*圖書(shū)信息*/</p><p><b> {</b></p><p> int num; /*書(shū)號(hào)*/</p><p> char name[10]; /
33、*書(shū)名*/</p><p> char where[10]; /*出版日期*/</p><p> char author[15]; /*作者*/</p><p> char pub[20]; /*出版社*/</p><p> int count; /*單價(jià)*/</p><p>
34、; struct book *next;</p><p><b> };</b></p><p> void find1 (struct book *p0);</p><p> void find2 (struct book *p0);</p><p><b> /*輸出模塊*/</b>&
35、lt;/p><p> void print(struct book *p0)</p><p><b> {</b></p><p> struct book *p;</p><p> system("cls");</p><p> p=p0->next;</p
36、><p> printf("\n\n^^^^^^^^^^^^^^^^圖書(shū)信息表^^^^^^^^^^^^^^^^");</p><p> printf("\n\n圖書(shū)編號(hào)----圖書(shū)名稱---作者------出版社--------出版日期---單價(jià)\n\n");</p><p> while(p!=NULL)</p>
37、;<p><b> {</b></p><p> printf(PT);</p><p> p=p->next;</p><p><b> }</b></p><p> getch(); //輸入任意值返回</p><p> syste
38、m("cls");</p><p><b> }</b></p><p><b> /*輸入模塊*/</b></p><p> struct book *creat() </p><p><b> {</b></p><p>
39、 struct book *head,*p1,*p2;</p><p><b> int i=0;</b></p><p> head=p2=(struct book *)malloc(N);//分配新的內(nèi)存給p2</p><p> head->next=NULL;</p><p> printf(&qu
40、ot;\n\n\t\t錄入圖書(shū)信息");</p><p> printf("\n---------------------------------------------");</p><p><b> while(1)</b></p><p> { p1=(struct book *)malloc(N);&
41、lt;/p><p> printf("\n 請(qǐng)輸入圖書(shū)編號(hào)(書(shū)號(hào)0為結(jié)束): ");</p><p> scanf("%d",&p1->num);</p><p> if(p1->num!=0)</p><p><b> {</b></p>
42、<p> printf("\n\n書(shū)名 作者 出版社 出版日期 單價(jià)\n\n\n");</p><p> scanf("%s%s%s%s%d",p1->name,p1->author,p1->pub,p1->where,&p1->count);</p><p> p2->next=p1;
43、</p><p><b> p2=p1;</b></p><p><b> i++;</b></p><p><b> }</b></p><p><b> else </b></p><p><b> brea
44、k; </b></p><p><b> }</b></p><p> p2->next=NULL;</p><p><b> free(p1);</b></p><p> printf("\n----------------------------------
45、-----------");</p><p> printf("\n\t\t %d 種書(shū)錄入完畢",i);</p><p><b> getch();</b></p><p> system("cls");</p><p> return hea
46、d;</p><p><b> }</b></p><p><b> /*查找模塊*/</b></p><p> void find(struct book *p0)</p><p><b> {</b></p><p><b> i
47、nt v;</b></p><p> system("cls");</p><p> printf("1.按書(shū)名查找\n\n\n");</p><p> printf("2.按書(shū)號(hào)查找\n");</p><p> scanf("%d",&
48、;v);</p><p><b> switch(v)</b></p><p><b> {</b></p><p> case 1 : find1(p0);break;</p><p> case 2:find2(p0);break;</p><p> defau
49、lt: ;</p><p><b> }</b></p><p><b> }</b></p><p> void find1 (struct book *p0)</p><p><b> {</b></p><p> system("
50、;cls");</p><p> char name[10];</p><p> int flag=1;</p><p> struct book *p;</p><p> p=p0->next;</p><p> printf("請(qǐng)輸入要查找的書(shū)名:\n");</p
51、><p> scanf("%s",&name);</p><p> for(p=p0;p;p=p->next)</p><p> if(strcmp(p->name,name)==0) </p><p><b> {</b></p><p> pri
52、ntf("\n\n圖書(shū)編號(hào)----圖書(shū)名稱---作者------出版社--------出版日期---單價(jià)\n\n");</p><p> printf(PT);</p><p><b> flag=0;</b></p><p><b> break;</b></p><p>
53、;<b> }</b></p><p> if(flag) printf("\n 暫無(wú)此圖書(shū)信息\n");//當(dāng)flag=1時(shí)執(zhí)行</p><p><b> getch(); </b></p><p><b> }</b></p><p> v
54、oid find2 (struct book *p0)</p><p><b> {</b></p><p> system("cls");</p><p><b> int num;</b></p><p> int flag=1;</p><p&g
55、t; struct book *p;</p><p> p=p0->next;</p><p> printf("請(qǐng)輸入要查找的書(shū)號(hào):\n");</p><p> scanf("%d",&num);</p><p> for(p=p0;p;p=p->next)</p&
56、gt;<p> if(p->num==num) </p><p><b> {</b></p><p> printf("\n\n圖書(shū)編號(hào)----圖書(shū)名稱---作者------出版社--------出版日期---單價(jià)\n\n");</p><p> printf(PT);</p>
57、<p><b> flag=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> if(flag) printf("\n 暫無(wú)此圖書(shū)信息\n");</p><p><
58、b> getch(); </b></p><p><b> }</b></p><p><b> /*刪除模塊*/</b></p><p> void del(struct book *p0)</p><p><b> {</b></p>
59、<p> system("cls");</p><p> char name[10];</p><p> int flag=1;</p><p> struct book *p;</p><p><b> p=p0;</b></p><p> prin
60、tf("請(qǐng)輸入要?jiǎng)h除的書(shū)名:\n");</p><p> scanf("%s",name);</p><p> while(p!=NULL)</p><p><b> {</b></p><p> if(strcmp(p->name,name)==0)</p&g
61、t;<p><b> {</b></p><p> p0->next=p->next; //后續(xù)結(jié)點(diǎn)連接到前驅(qū)結(jié)點(diǎn)之后</p><p><b> free(p);</b></p><p> printf("\t該書(shū)資料已刪除.");</p><
62、;p><b> flag=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> p0=p;</b></p><p> p=p->next;</p>
63、<p><b> }</b></p><p> if(flag) printf("\n\t無(wú)此圖書(shū)信息。");</p><p><b> getch();</b></p><p> system("cls"); </p><p><
64、b> }</b></p><p><b> /*錄入模塊*/</b></p><p> void insert(struct book *p0)</p><p><b> {</b></p><p> struct book *p;</p><p>
65、; system("cls");</p><p> p=(struct book *)malloc(N);</p><p><b> while(1)</b></p><p><b> {</b></p><p> printf("\n 請(qǐng)輸入要錄入的圖
66、書(shū)編號(hào)(書(shū)號(hào)0為退出): ");</p><p> scanf("%d",&p->num); </p><p> if(p->num!=0)</p><p><b> {</b></p><p> if(p0->next!=NULL&&p0
67、->next->num==p->num) //找到重號(hào)</p><p><b> {</b></p><p> p=p->next;</p><p><b> free(p);</b></p><p> printf("\t該書(shū)已存在");<
68、;/p><p><b> }</b></p><p><b> else </b></p><p> {printf("\n\n書(shū)名 作者 出版社 出版日期 單價(jià)\n\n\n");</p><p> scanf("%s%s%s%s%d",p->nam
69、e,p->author,p->pub,p->where,&p->count);</p><p> p->next=p0->next;</p><p> p0->next=p;</p><p> printf("\t已成功錄入.");</p><p><b>
70、 }</b></p><p><b> }</b></p><p><b> else </b></p><p> break; </p><p><b> }</b></p><p><b> getch();
71、</b></p><p> system("cls");</p><p><b> }</b></p><p><b> /*修改模塊*/</b></p><p> void modify(struct book *p0)</p><p&g
72、t;<b> {</b></p><p> system("cls");</p><p> char name[10];</p><p> int flag=1;</p><p> int choice;</p><p> struct book *p;</p
73、><p> p=p0->next;</p><p> printf("請(qǐng)輸入要修改的書(shū)名:\n\n");</p><p> scanf("%s",name);</p><p> while(p!=NULL&&flag==1)</p><p><b&
74、gt; {</b></p><p> if(strcmp(p->name,name)==0)</p><p><b> {</b></p><p> printf("\n\t請(qǐng)選擇要修改的項(xiàng):");</p><p> printf("\n\t 1.修改圖
75、書(shū)編號(hào)\n");</p><p> printf("\n\t 2.修改圖書(shū)出版日期\n");</p><p> printf("\n\t 3.修改圖書(shū)作者\(yùn)n");</p><p> printf("\n\t 4.修改圖書(shū)出版社\n");</p>
76、<p> printf("\n\t 5.修改圖書(shū)單價(jià)\n");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> {</b></p><p> case 1:
77、 { printf("\n 請(qǐng)輸入新的圖書(shū)編號(hào):"); </p><p> scanf("%d",p->num); break;</p><p><b> }</b></p><p> case 2: { printf("\n 請(qǐng)輸入新的圖書(shū)出版日期:");
78、 </p><p> scanf("%s",p->where); break;</p><p><b> }</b></p><p> case 3: { printf("\n 請(qǐng)輸入新的圖書(shū)作者:");</p><p> scanf("%s"
79、;,p->author); break;</p><p><b> }</b></p><p> case 4: {printf("\n 請(qǐng)輸入新的圖書(shū)出版社:"); </p><p> scanf("%s",p->pub); break;</p><
80、;p><b> }</b></p><p> case 5: {printf("\n 請(qǐng)輸入新的圖書(shū)單價(jià):"); </p><p> scanf("%d",p->count); break;</p><p><b> }</b></p>&l
81、t;p><b> }</b></p><p> printf("\n\t該項(xiàng)已成功修改。\n\t 新的圖書(shū)信息:");</p><p> printf("\n\n圖書(shū)編號(hào)----圖書(shū)名稱---作者------出版社--------出版日期---單價(jià)\n\n");</p><p> prin
82、tf(PT);</p><p><b> flag=0;</b></p><p><b> } </b></p><p><b> p0=p;</b></p><p> p=p0->next;</p><p><b> }<
83、;/b></p><p> if(flag) printf("\n\t暫無(wú)此圖書(shū)信息。");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> }</b></p
84、><p><b> /*讀文件*/</b></p><p> struct book *read_file() </p><p><b> {</b></p><p><b> int i=0;</b></p><p> struct bo
85、ok *p,*p1,*head=NULL;</p><p><b> FILE *fp;</b></p><p> if((fp=fopen("library.txt","rb"))==NULL)//以只讀的方式打開(kāi)文件</p><p> {printf("\n\n \t*******
86、*庫(kù)文件不存在,請(qǐng)創(chuàng)建!**********");</p><p><b> getch();</b></p><p> return NULL;</p><p><b> }</b></p><p> head=(struct book *)malloc(N);</p>
87、;<p><b> p1=head;</b></p><p> head->next=NULL;</p><p> printf("\n 已有圖書(shū)信息:");</p><p> printf("\n\n圖書(shū)編號(hào)----圖書(shū)名稱---作者------出版社--------出版日期---單價(jià)
88、\n\n");</p><p> while(!feof(fp))</p><p><b> {</b></p><p> p=(struct book *)malloc(N); </p><p> while(fscanf(fp,"%d%s%s%s%s%d",&p-&g
89、t;num,p->name,p->author,p->pub,p->where,&p->count)!=EOF)</p><p><b> {</b></p><p> printf(PT);</p><p><b> i++;</b></p><p>&
90、lt;b> }</b></p><p> p1->next=p;</p><p><b> p1=p;</b></p><p><b> }</b></p><p> p1->next=NULL;</p><p> fclose(fp
91、);</p><p> printf("\n 共種%d 圖書(shū)信息",i);</p><p> printf("\n\n\n 文件中的信息以正確讀出。按任意鍵返回。");</p><p><b> getch();</b></p><p> system
92、("cls");</p><p> return (head); </p><p><b> }</b></p><p><b> /*保存文件*/</b></p><p> void save(struct book *head) </p><
93、;p><b> {</b></p><p><b> FILE *fp;</b></p><p> struct book *p;</p><p> fp=fopen("library.txt","wb"); //以只寫(xiě)方式打開(kāi)二進(jìn)制文件</p>
94、<p> if(fp==NULL) //打開(kāi)文件失敗</p><p><b> {</b></p><p> printf("\n=====>打開(kāi)文件失敗!\n");</p><p><b> getch();</b></p><p><
95、;b> return ;</b></p><p><b> }</b></p><p><b> else</b></p><p> for(p=head->next;p!=NULL;p=p->next)</p><p> fprintf(fp,"%
96、d %s %s %s %s %d\n",p->num,p->name,p->author,p->pub,p->where,p->count);</p><p> fclose(fp);</p><p> printf("\n\t保存文件成功!\n");</p><p><b> }&l
97、t;/b></p><p> void main()</p><p><b> {</b></p><p> struct book *head=NULL;</p><p> int choice=1;</p><p> head=read_file();</p>&
98、lt;p> if(head==NULL)</p><p><b> {</b></p><p> printf("\n\t\t********************");</p><p><b> getch();</b></p><p> head=creat
99、();</p><p><b> }</b></p><p><b> do</b></p><p><b> {</b></p><p> system("cls");</p><p> printf("----
100、------------Welcome-----------------\n");</p><p> printf("歡迎您,圖書(shū)管理員\n\n\n\n");</p><p> printf("****************************************\n\n");</p><p> pr
101、intf("\n 請(qǐng)選擇:");</p><p> printf("\n 1.圖書(shū)基本信息錄入\n");</p><p> printf("\n 2.圖書(shū)基本信息查詢\n");</p><p> printf("\n 3.圖書(shū)基本信息刪除\n&
102、quot;);</p><p> printf("\n 4.圖書(shū)基本信息修改\n"); </p><p> printf("\n 5.圖書(shū)基本信息顯示\n");</p><p> printf("\n 0.退出系統(tǒng)\n");</p>&
103、lt;p> printf("****************************************\n");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> {</b></p>
104、<p> case 2: find(head); break;</p><p> case 4: modify(head); break;</p><p> case 1: insert(head); break;</p><p> case 3: del(head); break;</p>
105、<p> case 5: print(head); break;</p><p> case 0: system("cls"); break;</p><p><b> }</b></p><p><b> }</b></p><p> w
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)---圖書(shū)借閱管理系統(tǒng)
- 課程設(shè)計(jì)----圖書(shū)借閱管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--圖書(shū)借閱管理系統(tǒng)
- 學(xué)校圖書(shū)借閱管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書(shū)借閱管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--圖書(shū)借閱管理系統(tǒng)設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)--圖書(shū)借閱管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)--圖書(shū)借閱管理系統(tǒng)
- 課程設(shè)計(jì)---小型圖書(shū)館借閱管理子系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----圖書(shū)借閱管理
- c語(yǔ)言課程設(shè)計(jì)-- 圖書(shū)館借閱管理系統(tǒng)
- 圖書(shū)借閱數(shù)據(jù)挖掘課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-圖書(shū)借閱管理系統(tǒng)設(shè)計(jì)(附代碼)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-圖書(shū)借閱管理系統(tǒng)設(shè)計(jì)(附代碼)
- 圖書(shū)借閱管理信息數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 圖書(shū)借閱管理系統(tǒng)-c程序設(shè)計(jì)課程設(shè)計(jì)(實(shí)踐教學(xué))
- c語(yǔ)言實(shí)現(xiàn)圖書(shū)館課程設(shè)計(jì)報(bào)告--圖書(shū)借閱管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-圖書(shū)館借閱系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--圖書(shū)館借閱子系統(tǒng)數(shù)
- 《數(shù)據(jù)庫(kù)》課程設(shè)計(jì)報(bào)告--圖書(shū)借閱管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論