

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告</p><p> 指導(dǎo)老師: &
2、lt;/p><p> 班 級(jí): 1 </p><p> 學(xué)生姓名: </p><p><b> 目錄</b></p><p>
3、; 問(wèn)題概述--------------------------------------------------3</p><p> 系統(tǒng)目標(biāo)--------------------------------------------------3</p><p> 設(shè)計(jì)的過(guò)程及步驟------------------------------------------3</p>
4、<p> 函數(shù)設(shè)計(jì)--------------------------------------------------4</p><p> 系統(tǒng)實(shí)現(xiàn)--------------------------------------------------7</p><p> 主要問(wèn)題及解決措施---------------------------------------15&
5、lt;/p><p> 總結(jié)-----------------------------------------------------16</p><p> 參考文獻(xiàn)-------------------------------------------------16</p><p><b> 一、問(wèn)題概述</b></p>&l
6、t;p> ?。▽?duì)問(wèn)題背景及主要實(shí)現(xiàn)的功能進(jìn)行簡(jiǎn)要說(shuō)明。)</p><p> 隨著圖書館圖書的不斷增加,圖書管理的難度也隨之加大,一個(gè)好的圖書館圖書信息管理系統(tǒng),能夠使圖書管理工作簡(jiǎn)便,有條不紊。通過(guò)C語(yǔ)言學(xué)習(xí),我們已經(jīng)能夠完成基本的C語(yǔ)言編程,此次實(shí)訓(xùn),是將學(xué)習(xí)和實(shí)踐結(jié)合,充分感受C語(yǔ)言解決實(shí)踐問(wèn)題的魅力。此次編寫的圖書館信息管理系統(tǒng),能夠?qū)崿F(xiàn)基本的圖書管理功能。它包括圖書庫(kù)的創(chuàng)建,打印圖書信息表,錄入新
7、圖書,修改圖書信息,刪除圖書信息。圖書庫(kù)包含圖書的各方面信息,編號(hào),類型,作者,出版社,等等,并且打印圖書信息表。錄入,修改,刪除這些功能都是對(duì)圖書庫(kù)的操作。借書,還書這兩項(xiàng)最重要的功能也都能很好的實(shí)現(xiàn)。把此系統(tǒng)應(yīng)用于圖書館的圖書管理,能使圖書館的各項(xiàng)工作便捷,可靠的完成。</p><p><b> 二、系統(tǒng)目標(biāo)</b></p><p> 2.1(對(duì)系統(tǒng)技術(shù)的目
8、標(biāo))</p><p> 根據(jù)所學(xué)的程序設(shè)計(jì)基礎(chǔ)原理與程序設(shè)計(jì)的知識(shí),能夠針對(duì)一個(gè)小型的程序設(shè)計(jì)基礎(chǔ)管理系統(tǒng),進(jìn)行系統(tǒng)的需求分析,系統(tǒng)設(shè)計(jì),程序設(shè)計(jì)基礎(chǔ)設(shè)計(jì),編碼,測(cè)試等,完成題目要求的功能,從而達(dá)到掌握開(kāi)發(fā)一個(gè)小型系統(tǒng)程序設(shè)計(jì)的目的。</p><p> 2.2(對(duì)系統(tǒng)技術(shù)的要求)</p><p> 圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間
9、、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:</p><p> 1.圖書信息錄入功能(圖書信息用文件保存)</p><p> 2.圖書信息瀏覽功能</p><p> 3.查詢或排序功能:(至少一種查詢方式)</p><p><b> ?。?)按書名查詢</b></p><p>&
10、lt;b> ?。?)按作者名查詢</b></p><p> 注:查詢結(jié)果用鏈表的形式保存并輸出</p><p> 4.圖書信息的刪除與修改</p><p> 三、設(shè)計(jì)的過(guò)程及步驟</p><p><b> 1、需求分析</b></p><p> ?。枋鱿到y(tǒng)需求,既詳細(xì)分
11、析系統(tǒng)需求和功能)</p><p> 根據(jù)題目要求,應(yīng)當(dāng)把圖書信息用結(jié)構(gòu)體形式輸入,再定義一個(gè)全局變量和文件指針進(jìn)行整個(gè)程序的運(yùn)行,然后把圖書信息送到文件中,所以應(yīng)該提供一個(gè)結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中需實(shí)現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來(lái)實(shí)現(xiàn);另外還需提供鍵盤式選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要目的。</p><p><b>
12、; 2、設(shè)計(jì)文件結(jié)構(gòu)</b></p><p> (設(shè)計(jì)文件結(jié)構(gòu),并扼要說(shuō)明設(shè)計(jì)緣由)</p><p> 此系統(tǒng)根據(jù)所要實(shí)現(xiàn)的功能,使用的函數(shù)等綜合考慮,設(shè)計(jì)了文件名為book的二進(jìn)制文件用來(lái)存儲(chǔ)載入圖書信息,通過(guò)使用存儲(chǔ)和載入圖書信息,進(jìn)一步進(jìn)行錄入新圖書,修改,刪除圖書等一系列操作,兩步操作相互結(jié)合,使各個(gè)功能很好的實(shí)現(xiàn)了,運(yùn)用C語(yǔ)言的文件功能,也是整個(gè)程序的主線。&l
13、t;/p><p><b> 3、設(shè)計(jì)系統(tǒng)功能圖</b></p><p> ?。ǜ鶕?jù)需求分析結(jié)果和文件結(jié)構(gòu),應(yīng)用結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)設(shè)計(jì)功能結(jié)構(gòu)圖,如下圖所示)</p><p><b> 四、函數(shù)設(shè)計(jì)</b></p><p> ( 詳細(xì)分析每一個(gè)子模塊的子功能,定義主要的子函數(shù)原型,并對(duì)每一個(gè)函數(shù)的
14、功能加以說(shuō)明)</p><p> 4.1此系統(tǒng)主要有7個(gè)功能,也就有主要的7個(gè)函數(shù),他們分別是</p><p> enter(book); //輸入圖書信息</p><p> list(book); //瀏覽圖書信息</p><p> search(book); //查詢圖書信息</p><p>
15、 modify(book); //修改圖書信息</p><p> del(book); //刪除圖書信息</p><p> save(book); //存儲(chǔ)圖書信息</p><p> load(book); //載入圖書信息</p><p> exit(0); //退出系統(tǒng)</p>&l
16、t;p> 4.2每個(gè)函數(shù)所用到的主要的數(shù)據(jù)結(jié)構(gòu)是結(jié)構(gòu)體:</p><p> struct books{</p><p> char no[20]; //登錄號(hào)</p><p> char booknum[20]; //分類號(hào)</p><p> char bookname[20]; //書名</p><
17、p> char authorname[20]; //作者</p><p> char cbs[20]; //出版社</p><p> char time[20]; //出版時(shí)間</p><p> char price[5]; //圖書價(jià)格 </p><p> struct books *next; </p>
18、;<p> struct books *prior; </p><p><b> };</b></p><p><b> 4.3界面設(shè)計(jì)</b></p><p> 這是程序剛運(yùn)行時(shí)的界面,界面上共有1-8八個(gè)選項(xiàng),界面簡(jiǎn)潔大方,讓用戶一目了然。</p><p> 這是輸入圖
19、書信息時(shí)的界面,圖書基本信息一共有七個(gè)輸入項(xiàng),分別是登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格。在這一模塊中,每輸入一本圖書的信息都要輸入一個(gè)編號(hào),這個(gè)編號(hào)便于管理員的管理和查找,節(jié)省時(shí)間。</p><p><b> 這是存儲(chǔ)信息界面:</b></p><p> 這是查看完整信息的界面,在這里大家可以看到圖書的所有信息。</p><
20、p> 這是查詢圖書信息的界面,在這里大家可以看到所要查找的圖書信息</p><p> 這是修改圖書信息時(shí)的界面,在這個(gè)界面只需要輸入該圖書的名字就可以修改該圖書的其他信息,方便了工作人員,簡(jiǎn)潔方便。</p><p><b> 繼續(xù)修改界面:</b></p><p> 這是刪除圖書信息時(shí)的界面,只需要輸入該書的名字就可以刪除與之相關(guān)
21、的信息,方便了工作人員的管理。</p><p><b> 這是載入信息界面:</b></p><p><b> 五、系統(tǒng)實(shí)現(xiàn)</b></p><p> #include <stdio.h></p><p> #include <stdlib.h></p>
22、<p> #include <string.h></p><p> /*--------------------定義books結(jié)構(gòu)體-----------------------------*/</p><p> struct books{</p><p> char no[20]; //登錄號(hào)</p><p&g
23、t; char booknum[20]; //分類號(hào)</p><p> char bookname[20]; //書名</p><p> char authorname[20]; //作者</p><p> char cbs[20]; //出版社</p><p> char time[20]; //出版時(shí)間</p&g
24、t;<p> char price[5]; //圖書價(jià)格 </p><p><b> };</b></p><p> /*------------------------建立一個(gè)鏈表-----------------------------*/</p><p> typedef struct node{</p&g
25、t;<p> struct books data;</p><p> struct node *next; </p><p><b> }Node;</b></p><p> /*------------------------函數(shù)聲明-----------------------------*/</p>
26、;<p> void enter(Node *book); //輸入圖書信息</p><p> void list(Node *book); //瀏覽圖書信息</p><p> void search(Node *book); //查詢圖書信息</p><p> void modify(Node *book); //根據(jù)書名查找并
27、修改信息</p><p> void del(Node *book); //刪除圖書信息</p><p> void save(Node *book); //存儲(chǔ)圖書信息</p><p> void load(Node *book); //載入圖書信息</p><p> /*--------------------
28、----輸入圖書信息-----------------------------*/</p><p> void enter(Node *book)//輸入圖書信息</p><p><b> {</b></p><p> Node *p,*r,*s; </p><p> char n[10]; //先
29、用于輸入圖書分類號(hào),也用于判斷是否跳出循環(huán)</p><p><b> r=book; </b></p><p> s=book->next; //使s為第一個(gè)有用的結(jié)點(diǎn)</p><p> while(r->next!=NULL) //這個(gè)循環(huán)的作用是使r為最后一個(gè)有用的結(jié)點(diǎn)</p><p>
30、r=r->next; //將指針置于最末尾</p><p><b> while(1)</b></p><p><b> { </b></p><p> system("cls"); //清屏</p><p> printf(">>
31、>>>>>>>>提示:輸入0則返回主菜單!\n");</p><p> printf("\n請(qǐng)你輸入登錄號(hào):"); </p><p> scanf("%s",n); </p><p> if(strcmp(n,"0
32、")==0) break; </p><p> p=(Node *)malloc(sizeof(Node)); //申請(qǐng)空間</p><p> strcpy(p->data.no,n);</p><p> printf("\n請(qǐng)輸入分類號(hào):");</p><p
33、> scanf("%s",p->data.booknum); </p><p> printf("\n請(qǐng)輸入書名:");</p><p> scanf("%s",p->data.bookname);</p><p> printf("\n請(qǐng)輸入作者名:&
34、quot;);</p><p> scanf("%s",&p->data.authorname);</p><p> printf("\n請(qǐng)輸入出版社:");</p><p> scanf("%s",&p->data.cbs);</p><p>
35、printf("\n請(qǐng)輸入出版時(shí)間:"); </p><p> scanf("%s",&p->data.time);</p><p> printf("\n請(qǐng)輸入圖書價(jià)格:");</p><p> scanf("%s",&p->data.price);
36、</p><p> printf(">>>>>>>>>>提示:已經(jīng)完成一條記錄的添加。\n");</p><p> p->next=NULL;</p><p> r->next=p; //這一步是必需的,將p與先前的鏈表連起來(lái)構(gòu)成一條新鏈表</p>&l
37、t;p> r=p; //也是必需的.將r 又重設(shè)為新鏈的最后一個(gè)有用結(jié)點(diǎn) </p><p><b> }</b></p><p><b> }</b></p><p> /*------------------------瀏覽圖書信息-----------------------------*/<
38、/p><p> void list(Node *book) //瀏覽圖書信息</p><p><b> {</b></p><p> Node *p=book;</p><p> system("cls"); //清屏</p><p><b> if(!p
39、)</b></p><p><b> {</b></p><p> printf("\n提示:沒(méi)有記錄可以顯示!\n");</p><p><b> return;</b></p><p><b> }</b></p>&l
40、t;p> printf("登錄號(hào)\t書號(hào)\t 書名 \t作者\(yùn)t 出版社\t 出版時(shí)間 圖書價(jià)格\n"); </p><p> while(p->next)</p><p><b> {</b></p><p> printf("\n%-10s%-6s%-18s%-1
41、0s%-15s%-10s%-5s\n",p->data.no,p->data.booknum,p->data.bookname,p->data.authorname,p->data.cbs,p->data.time,p->data.price);</p><p> p=p->next;</p><p><b> }&l
42、t;/b></p><p><b> }</b></p><p> /*------------------------查詢圖書信息-----------------------------*/</p><p> void search(Node *book) //查詢圖書信息</p><p><b
43、> { </b></p><p><b> Node *p;</b></p><p><b> int sel;</b></p><p> int flag2=0,ha=0;</p><p> char find[20];</p><p>
44、system("cls"); //清屏 </p><p> p=book->next;</p><p> if(!book->next)//若鏈表為空</p><p><b> { </b></p><p> printf("\n提示:沒(méi)有資料可以查詢!\n&quo
45、t;);</p><p><b> return;</b></p><p><b> }</b></p><p> printf("提示:\n=====>0退出\n=====>1按書名查詢\n=====>2按作者名查詢\n");</p><p> sca
46、nf("%d",&sel);</p><p> if(sel==1)</p><p><b> { </b></p><p> printf("\n輸入你要查詢的書名:");</p><p> scanf("%s",find);</p&g
47、t;<p><b> while(p)</b></p><p><b> { </b></p><p> if(strcmp(p->data.bookname,find)==0) </p><p><b> flag2++;</b></p><p>
48、; if(flag2==1&&ha!=flag2)</p><p><b> { </b></p><p> printf("登錄號(hào)\t書號(hào)\t 書名 \t作者\(yùn)t 出版社\t 出版時(shí)間 圖書價(jià)格\n");</p><p> printf("\n%-10s%-6s%-18s%
49、-10s%-15s%-10s%-5s\n",p->data.no,p->data.booknum,p->data.bookname,p->data.authorname,p->data.cbs,p->data.time,p->data.price);</p><p><b> ha=flag2;</b></p><p&
50、gt; } //end if</p><p> else if(flag2>ha)</p><p><b> {</b></p><p> printf("\n%-10s%-6s%-18s%-10s%-15s%-10s%-5s\n",p->data.no,p->data.booknum,p-&g
51、t;data.bookname,p->data.authorname,p->data.cbs,p->data.time,p->data.price);</p><p><b> ha=flag2;</b></p><p> } //end if</p><p> p=p->next;</p>
52、<p> } //end while</p><p> if(flag2) printf("\n*********************按設(shè)備名稱%s查詢的有%d條記錄:*********************\n\n",find,flag2);</p><p> else printf("\n按書名%s查詢的結(jié)果為0個(gè)\n\n&qu
53、ot;,find);</p><p> } //end if</p><p> else if(sel==2)</p><p><b> { </b></p><p> printf("\n輸入你要查詢的作者名:");</p><p> scanf("
54、%s",find);</p><p><b> while(p)</b></p><p><b> { </b></p><p> if(strcmp(p->data.authorname,find)==0)</p><p> flag2++; </p>&l
55、t;p> if(flag2==1&&ha!=flag2)</p><p><b> { </b></p><p> printf("登錄號(hào)\t書號(hào)\t 書名 \t作者\(yùn)t 出版社\t 出版時(shí)間 圖書價(jià)格\n");</p><p> printf("\n%-10s%-6s
56、%-18s%-10s%-15s%-10s%-5s\n",p->data.no,p->data.booknum,p->data.bookname,p->data.authorname,p->data.cbs,p->data.time,p->data.price);</p><p><b> ha=flag2;</b></p>
57、<p> } //end if</p><p> else if(flag2>ha)</p><p><b> {</b></p><p> printf("\n%-10s%-6s%-18s%-10s%-15s%-10s%-5s\n",p->data.no,p->data.booknu
58、m,p->data.bookname,p->data.authorname,p->data.cbs,p->data.time,p->data.price);</p><p><b> ha=flag2;</b></p><p> } //end if</p><p> p=p->next;</
59、p><p> } //end while</p><p><b> if(flag2)</b></p><p> {printf("\n******************按設(shè)備名稱%s統(tǒng)計(jì)的有%d條記錄:********************\n\n",find,flag2);}</p><p>
60、; else {printf("\n按作者名%s查詢的結(jié)果為0個(gè)\n\n",find);}</p><p> } //end if</p><p> else if(sel==0) return;</p><p><b> }</b></p><p> /*---------------
61、---------修改圖書信息-----------------------------*/</p><p> void modify(Node *book) //根據(jù)書名查找并修改信息 </p><p><b> { </b></p><p> char name[20];</p><p> int c
62、,b,t;</p><p><b> Node *p;</b></p><p> system("cls"); //清屏</p><p> list(book);</p><p> if(!book->next)</p><p><b> {<
63、/b></p><p> printf("\n>>>>>>>>>>提示:沒(méi)有資料可以修改!\n");</p><p><b> return;</b></p><p><b> }</b></p><p>
64、 printf("請(qǐng)輸入你要查詢的書名:");</p><p> scanf("%s",name);</p><p> p=book->next;</p><p> while(p!=NULL) </p><p><b> {</b></p><
65、;p> if(strcmp(p->data.bookname,name)==0) //如果找到的話返回的是符合要求</p><p><b> break; </b></p><p> p=p->next;</p><p><b> }</b></p><p> i
66、f(p)</p><p><b> {</b></p><p> printf("\n需要進(jìn)行修改的選項(xiàng)\n 1.登錄號(hào) 2.分類號(hào) 3.書名 4.作者名 5.出版社 6.出版時(shí)間 7.圖書價(jià)格\n"); </p><p> printf("請(qǐng)輸入你想修改的那一項(xiàng)序號(hào):\n"); &
67、lt;/p><p> scanf("%d",&c); </p><p> if(c>8||c<1) </p><p> printf("\n選擇錯(cuò)誤,請(qǐng)重新選擇!\n");</p><p><b> do</b></p><p>
68、<b> {</b></p><p><b> switch(c)</b></p><p><b> { </b></p><p> case 1: printf("\n請(qǐng)輸入登錄號(hào):");</p><p> scanf("%s&
69、quot;,p->data.no); break;</p><p> case 2: printf("\n請(qǐng)輸入分類號(hào):");</p><p> scanf("%s",p->data.booknum); break;</p><p> case 3: printf("\n請(qǐng)輸入書名:"
70、);</p><p> scanf("%s",p->data.bookname); break;</p><p> case 4: printf("\n請(qǐng)輸入作者名:");</p><p> scanf("%s",&p->data.authorname); break;</
71、p><p> case 5: printf("\n請(qǐng)輸入出版社:");</p><p> scanf("%s",&p->data.cbs); break;</p><p> case 6: printf("\n請(qǐng)輸入出版時(shí)間:"); </p><p> sca
72、nf("%s",&p->data.time); break;</p><p> case 7: printf("\n請(qǐng)輸入圖書價(jià)格:");</p><p> scanf("%s",&p->data.price); break;</p><p> } //end swit
73、ch</p><p> printf("\n");</p><p> printf("\n是否確定所修改的信息?\n 是 請(qǐng)按1 ; 不,重新修改 請(qǐng)按2: \n"); </p><p> scanf("%d",&b);</p><p> }while(b==2);
74、</p><p> printf("\n瀏覽修改后的所有圖書信息:\n");</p><p> printf("\n");</p><p> list(book);</p><p> save(book);</p><p> printf("\n繼續(xù)修改請(qǐng)按1
75、,不再修改請(qǐng)按0\n");</p><p> scanf("%d",&t);</p><p><b> switch(t)</b></p><p><b> {</b></p><p> case 1:modify(book);break;</p&
76、gt;<p> case 0:break;</p><p> default :break;</p><p> } //end switch</p><p> } //end if</p><p><b> }</b></p><p> /*-------------
77、-----------刪除圖書信息-----------------------------*/</p><p> void del(Node *book) //刪除圖書信息</p><p><b> {</b></p><p> Node *p,*r,*s;</p><p> char find[50];&
78、lt;/p><p> system("cls"); //清屏</p><p> if(!book->next) </p><p><b> {</b></p><p> printf("\n提示:沒(méi)有資料可以顯示!\n"); </p><p>&
79、lt;b> return; </b></p><p><b> }</b></p><p> printf("\n提示:請(qǐng)輸入您要?jiǎng)h除的圖書的名字!\n");</p><p> scanf("%s",find);</p><p> p=book->
80、next;</p><p> while(p!=NULL) </p><p><b> { </b></p><p> if(strcmp(p->data.bookname,find)==0)//如果找到的話返回的是符合要求 </p><p><b> break; </b><
81、/p><p> p=p->next; </p><p><b> }</b></p><p><b> if(!p)</b></p><p> printf("\n提示:找不到您想刪除的圖書分類號(hào)!\n");</p><p><b>
82、 else</b></p><p><b> {</b></p><p><b> r=book;</b></p><p> while(r->next!=p)</p><p> r=r->next;</p><p> s=r->nex
83、t;</p><p> r->next=r->next->next;</p><p><b> }</b></p><p><b> }</b></p><p> /*------------------------存儲(chǔ)圖書信息-----------------------
84、------*/</p><p> void save(Node *book) //存儲(chǔ)圖書信息</p><p><b> {</b></p><p><b> int n;</b></p><p><b> Node *p;</b></p><
85、p><b> FILE *fp;</b></p><p> printf("需要保存嗎?(1-保存 0-不保存)");</p><p> scanf("%d",&n);</p><p><b> if(n)</b></p><p>&
86、lt;b> {</b></p><p> if(book->next==NULL)</p><p> printf("無(wú)記錄");</p><p> else p=book->next;</p><p> if((fp=fopen("books.txt",&quo
87、t;w+")) == NULL) //打開(kāi)文件,并判斷打開(kāi)是否正常</p><p><b> {</b></p><p> printf("打開(kāi)文件出錯(cuò)!\n"); // 打開(kāi)文件出錯(cuò)</p><p><b> exit(1);</b></p><p><
88、;b> } </b></p><p> p=book->next;</p><p> while(p!=NULL)</p><p><b> {</b></p><p> fprintf(fp, "%s %s %s %s %s %s %s\n",p->data
89、.no,p->data.booknum,p->data.bookname,p->data.authorname,p->data.cbs,p->data.time,p->data.price);/*從文件讀入記錄*/</p><p> p = p->next;</p><p><b> }</b></p>&l
90、t;p> fclose(fp);</p><p> } //end if</p><p><b> }</b></p><p> /*------------------------載入圖書信息-----------------------------*/</p><p> void load(Node
91、 *book) //載入圖書信息</p><p><b> { </b></p><p> Node *p,*q;</p><p> FILE *fp=NULL;//指向文件的指針</p><p> int recordNum;// 統(tǒng)計(jì)記錄數(shù) </p><p> if((
92、fp=fopen("books.txt","r+"))== NULL) //打開(kāi)文件</p><p><b> {</b></p><p> printf("打開(kāi)文件出錯(cuò)!\n"); //不能打開(kāi)</p><p><b> exit(1);</b><
93、;/p><p><b> }</b></p><p><b> p=book;</b></p><p> recordNum = 0;</p><p> while(!feof(fp))</p><p><b> { </b></p>
94、<p> q=(Node*)malloc(sizeof(Node)); </p><p> fscanf(fp, "%s %s %s %s %s %s %s\n",p->data.no,p->data.booknum,p->data.bookname,p->data.authorname,p->data.cbs,p->data.time,p-
95、>data.price);/*從文件讀入記錄*/</p><p> p->next=q;</p><p> q->next=NULL;</p><p><b> p=q;</b></p><p> recordNum++;</p><p><b> }<
96、/b></p><p> fclose(fp);</p><p> printf("文件里共有%d條記錄:\n",recordNum);</p><p><b> }</b></p><p> /*------------------------------主函數(shù)------------
97、-----------------*/ </p><p> void main()</p><p><b> {</b></p><p><b> int flag;</b></p><p> Node *p,*book;</p><
98、p> book=(Node*)malloc(sizeof(Node));</p><p> book->next=NULL;</p><p><b> p=book;</b></p><p><b> do{</b></p><p> system("cls"
99、;); //清屏</p><p> printf("\n\t\t*****************圖書信息管理系統(tǒng)*****************\n");</p><p> printf("\t\t*\t\t|1.輸入圖書信息 *\n");</p><p> printf(&quo
100、t;\t\t*\t\t|2.瀏覽圖書信息 *\n");</p><p> printf("\t\t*\t\t|3.查詢圖書信息 *\n");</p><p> printf("\t\t*\t\t|4.修改圖書信息 *\n");</
101、p><p> printf("\t\t*\t\t|5.刪除圖書信息 *\n");</p><p> printf("\t\t*\t\t|6.載入圖書信息 *\n");</p><p> printf("\t\t*\t\t|7.退出系統(tǒng)
102、 *\n");</p><p> printf("\t\t**************************************************\n\n\n");</p><p> printf("\t\t請(qǐng)輸入以上序號(hào)進(jìn)行選擇:\n");</p><p> fflus
103、h(stdin); //清除文件緩沖區(qū)</p><p> scanf("%d",&flag);</p><p> switch(flag)</p><p><b> {</b></p><p> case 1: enter(book); save(book); system(&q
104、uot;pause"); break; //輸入圖書信息 </p><p> case 2: list(book); system("pause"); break; //瀏覽圖書信息 </p><p> case 3: search(book); system("pause"); break; //查詢圖書信息</p&
105、gt;<p> case 4: modify(book); system("pause"); break; //修改圖書信息</p><p> case 5: del(book); system("pause"); break; //刪除圖書信息</p><p> case 6: load(book); syst
106、em("pause"); break; //載入圖書信息</p><p> case 7: exit(0); system("pause"); break; //退出系統(tǒng)</p><p> default: printf("\n提示:輸入錯(cuò)誤!\n"); break;</p><p>
107、 }//end switch</p><p> }while(flag!=0);</p><p><b> }</b></p><p> 六、程序調(diào)試結(jié)果,測(cè)試過(guò)程中遇到的主要問(wèn)題及采取的解決措施</p><p> 此次實(shí)踐課編寫的是一個(gè)應(yīng)用程序,相對(duì)于以前我們見(jiàn)到的程序,它要大得多,對(duì)數(shù)據(jù)的輸出格式也有較高要求
108、,這次編程讓自己對(duì)許多平時(shí)不注意的小的知識(shí)點(diǎn)有了新的鞏固;我先編的主函數(shù),調(diào)試后我又一個(gè)一個(gè)模塊的往上加,每加上一個(gè)調(diào)試一下;雖然在編程過(guò)程中有些模塊也出現(xiàn)了一些小問(wèn)題,但在翻閱課本和同學(xué)們的幫助下,我很有耐心的一次又一次的進(jìn)行修改,最后運(yùn)行的結(jié)果基本上達(dá)到了預(yù)期的目的。可這畢竟是第一次完成這樣的大程序,雖然并不是非常健壯,但程序中沒(méi)有錯(cuò)誤和警告,各項(xiàng)功能都能完成,我們很高興。</p><p><b>
109、 七、總結(jié)</b></p><p> 首先,我想感謝我的組員,因?yàn)槲覀兪欠止ず献鞯?,他們有的?fù)責(zé)一個(gè)功能,有的負(fù)責(zé)兩個(gè)功能,而我主要是些主函數(shù),在他們的積極配合下,我們很快就把總程序?qū)懞?,并調(diào)試完畢。所以我想感謝他們的配合。因?yàn)榧w的力量是強(qiáng)大的,只有我們的積極合作,才能夠準(zhǔn)時(shí)的完成這個(gè)課程設(shè)計(jì)。 </p><p> 然后,我覺(jué)得在這個(gè)課程設(shè)計(jì)的過(guò)程中,我學(xué)到了
110、很多東西。第一是耐心,當(dāng)你在調(diào)試程序中,看到了你設(shè)計(jì)的程序出現(xiàn)了那么多錯(cuò)誤,或者當(dāng)顯示0錯(cuò)誤0警告,卻不能運(yùn)行,或者是運(yùn)行結(jié)果不是你所期望時(shí),我覺(jué)得這時(shí)候最是考驗(yàn)?zāi)托牡臅r(shí)候,也只有耐心和永不言敗的信念,才能支持你逆流而上,解決所有的困難。在這個(gè)過(guò)程中,我試過(guò)用了幾個(gè)鐘的時(shí)間找一個(gè)錯(cuò)誤,而結(jié)果只是打錯(cuò)了一個(gè)定義。第二是溝通,因?yàn)槲覍?duì)C語(yǔ)言也比較熟了,有一些同學(xué)比較陌生,所以他們來(lái)問(wèn)我,在我解答他們的問(wèn)題是,我深刻的體會(huì)了溝通的重要性,因?yàn)?/p>
111、只有你溝通的好,他們?nèi)菀桌斫猓阋膊挥美速M(fèi)口舌去講一些不必要的知識(shí)點(diǎn)!</p><p><b> 八、參考文獻(xiàn)</b></p><p> [1]徐連信編著 C語(yǔ)言程序設(shè)計(jì) 清華大學(xué)出版社,2005 P34-P79</p><p> [2]徐連信編著 C語(yǔ)言程序設(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)教程清華大學(xué)出版社,2005 P132-P134</p&
112、gt;<p> [3]劉振安 孫忱 C程序設(shè)計(jì)課程設(shè)計(jì) 機(jī)械工業(yè)出版社, 2004,P76-P98</p><p> [4]王士元 C高級(jí)實(shí)用程序設(shè)計(jì)[M]. 北京: 清華大學(xué)出版社,1998,P78-P98</p><p> [5]Al Kelley / Ira Pohl《C語(yǔ)言解析教程》(原書第4版)</p><p> 原名: C by
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--圖書信息管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)--圖書信息管理系統(tǒng)
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)
- 圖書信息管理系統(tǒng) 課程設(shè)計(jì)
- 程序課程設(shè)計(jì)報(bào)告 圖書信息管理系統(tǒng)
- java圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---圖書信息管理系統(tǒng)
- 課程設(shè)計(jì)---圖書信息管理系統(tǒng)
- 課程設(shè)計(jì)--- 圖書信息管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---圖書信息管理系統(tǒng)設(shè)計(jì)
- 圖書信息管理系統(tǒng)——c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告---圖書信息管理系統(tǒng)
- c語(yǔ)言圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—圖書信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—圖書信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—圖書信息管理系統(tǒng)
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告書
- c++課程設(shè)計(jì)報(bào)告---圖書信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論