

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 專 業(yè): 網(wǎng)絡(luò)工程 </p><p> 課程名稱: 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 班級(jí): </p><p> 姓 名: 學(xué)號(hào): </p><p> 設(shè)
2、計(jì)題目: 圖書(shū)管理系統(tǒng) </p><p> 設(shè)計(jì)時(shí)間: 2012-2-27 至 2012-3-9 </p><p> 評(píng) 語(yǔ):_________________________________</p><p> _________________________________________&
3、lt;/p><p> _________________________________________</p><p> _________________________________________</p><p> _________________________________________</p><p> 評(píng)閱成績(jī):_
4、_ __評(píng)閱教師:__ </p><p><b> 一、設(shè)計(jì)題目與要求</b></p><p> 【問(wèn)題描述】設(shè)計(jì)一個(gè)計(jì)算機(jī)管理系統(tǒng)完成圖書(shū)管理基本業(yè)務(wù)。【基本要求】</p><p> 每種書(shū)的登記內(nèi)容包括書(shū)號(hào)、書(shū)名、著作者、現(xiàn)存量和庫(kù)存量;</p><p> 對(duì)書(shū)號(hào)建立索引表(線性表)以
5、提高查找效率;</p><p><b> 系統(tǒng)主要功能如下:</b></p><p> *采編入庫(kù):新購(gòu)一種書(shū),確定書(shū)號(hào)后,登記到圖書(shū)帳目表中,如果表中已有,則只將庫(kù)存量增加;*借閱:如果一種書(shū)的現(xiàn)存量大于0,則借出一本,登記借閱者的書(shū)證號(hào)和歸還期限,改變現(xiàn)存量;*歸還:注銷對(duì)借閱者的登記,改變?cè)摃?shū)的現(xiàn)存量?!具M(jìn)一步完成內(nèi)容】</p><
6、p> 系統(tǒng)功能的進(jìn)一步完善;</p><p><b> 索引表采用樹(shù)表。</b></p><p><b> 設(shè)計(jì)內(nèi)容</b></p><p><b> 程序流程圖</b></p><p><b> 源程序</b></p>&l
7、t;p> 軟件測(cè)試報(bào)告(包括所用到的數(shù)據(jù)及結(jié)果)</p><p><b> 二、概要設(shè)計(jì)</b></p><p><b> 有八個(gè)模塊</b></p><p><b> 圖書(shū)初始化</b></p><p> 輸入圖書(shū)的一些信息,編號(hào)、作者、書(shū)名、數(shù)量,使有一定的
8、庫(kù)存。</p><p><b> 新書(shū)入庫(kù)</b></p><p> 新書(shū)采編入庫(kù),輸入編號(hào)后如果有次數(shù)只需輸入數(shù)量,沒(méi)有則繼續(xù)輸入書(shū)名、作者、數(shù)量。</p><p><b> 添加讀者信息</b></p><p> 讀者信息初始化,輸入讀書(shū)證號(hào)和姓名,只有輸入書(shū)證號(hào)和姓名才能進(jìn)行借書(shū)還書(shū)&
9、lt;/p><p><b> 借書(shū)模塊</b></p><p> 讀者輸入讀書(shū)證號(hào),證號(hào)存在輸入要借的圖書(shū)編號(hào),不能借同一本書(shū),如果借書(shū)數(shù)量以達(dá)到最大也不能借書(shū)。</p><p><b> 還書(shū)模塊</b></p><p> 歸還已借的圖書(shū),要先輸入讀者書(shū)證號(hào),書(shū)證號(hào)存在繼續(xù)輸入要還的圖書(shū)編號(hào),
10、圖書(shū)編號(hào)存在并且借來(lái)此書(shū),歸還成功。</p><p><b> 查詢圖書(shū)信息</b></p><p><b> 查詢讀者信息</b></p><p> 可查詢讀者姓名書(shū)證號(hào),借了幾本書(shū),都是什么書(shū)和還書(shū)日期,還可以借幾本書(shū)。</p><p><b> 退出</b><
11、;/p><p> 退出讀書(shū)管理系統(tǒng)并保存讀者和圖書(shū)信息。</p><p><b> 三、算法設(shè)計(jì)</b></p><p> 進(jìn)入系統(tǒng)后首先進(jìn)行圖書(shū)初始化,輸入圖書(shū)的信息。</p><p> 初始化之后,進(jìn)入系統(tǒng),顯示功能列表,可選擇任意系統(tǒng),但在借書(shū)之前先要輸入讀者信息。</p><p>&l
12、t;b> 1)采編入庫(kù)</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 2)輸入讀者信息</b></p><p><b> 3)借閱圖書(shū)</b></p>
13、<p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><
14、p><b> 是</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p>
15、<b> 4)歸還圖書(shū)</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p>
16、<b> 5)查詢圖書(shū)信息</b></p><p><b> 否</b></p><p><b> 6)查詢讀者信息</b></p><p><b> 否</b></p><p> 四、運(yùn)行結(jié)果和調(diào)試分析</p><p>
17、<b> 圖書(shū)信息初始化</b></p><p> 同一本新書(shū)入庫(kù)的運(yùn)行結(jié)果圖</p><p><b> 不同的新書(shū)采編入庫(kù)</b></p><p> 采編入庫(kù)后查詢圖書(shū)信息的運(yùn)行結(jié)果圖</p><p><b> 登記讀者信息</b></p><p
18、><b> 借書(shū)</b></p><p> 借書(shū)后查詢圖書(shū)信息的運(yùn)行結(jié)果圖</p><p> 借同一本書(shū)的運(yùn)行結(jié)果圖</p><p><b> 借不同的書(shū)</b></p><p> 借兩本書(shū)后查詢讀者信息的運(yùn)行結(jié)果圖</p><p><b> 還書(shū)
19、運(yùn)行結(jié)果圖</b></p><p> 還書(shū)之后再查詢讀者信息的運(yùn)行結(jié)果圖</p><p><b> 還書(shū)后查詢圖書(shū)信息</b></p><p><b> 退出</b></p><p><b> 五、總結(jié)體會(huì)</b></p><p>
20、 雖然這次的程序是通過(guò)上網(wǎng)查出來(lái)的,但是通過(guò)這次的實(shí)驗(yàn)使我知道了圖書(shū)管理系統(tǒng)的流程,知道了一些以前不知道的知識(shí),在運(yùn)行程序時(shí)也遇到了一些問(wèn)題,借書(shū)時(shí)只能借一本書(shū),再借書(shū)就不能顯示是借了還是不能借,把最多能借書(shū)的數(shù)量改了一下還是不行,最后在每一個(gè)判斷輸出之后都加了goto END借書(shū),就能正常借書(shū)了。程序有點(diǎn)長(zhǎng),本來(lái)一個(gè)函數(shù)就能完成一個(gè)功能,他用了兩個(gè)函數(shù)就我把自己能改成一個(gè)的改了。借書(shū)系統(tǒng)比較復(fù)雜,不容易懂,和同學(xué)交流了一下自己看了看才
21、明白。</p><p> 這次的實(shí)驗(yàn)還讓我復(fù)習(xí)了數(shù)據(jù)結(jié)構(gòu)的一些知識(shí),如數(shù)組,while語(yǔ)句,switch語(yǔ)句,鏈表,還知道了如何使用system("cls")清屏,還知道了strcmp是用來(lái)比較字符串s1和s2大小的,strcpy使用來(lái)把字符串s2的值賦給s1的。</p><p> 這次的實(shí)驗(yàn)增加了我們自己動(dòng)手動(dòng)腦的能力,希望多做一些這樣的實(shí)驗(yàn),很有意義,和現(xiàn)實(shí)生活
22、結(jié)合的程序增加了我的興趣。</p><p><b> 源代碼</b></p><p> #include<stdio.h></p><p> #include <string.h></p><p> #include <stdlib.h></p><p>
23、; #include<conio.h></p><p> #define Max 4 </p><p> typedef struct book</p><p><b> {</b></p><p> char book_num[10];</p><p> char
24、 book_name[20];</p><p> char book_writer[10];</p><p> int book_xy;</p><p> int book_kc;</p><p> struct book *next;</p><p><b> }BK;</b><
25、/p><p> typedef struct borrow</p><p><b> {</b></p><p> char borrow_book_num[10];</p><p> char limit_date[8];</p><p><b> }BO;</b>&
26、lt;/p><p> typedef struct reader</p><p><b> {</b></p><p> char reader_num[10];</p><p> char reader_name[10];</p><p> int right;</p>&l
27、t;p> BO borrow[Max];</p><p> struct reader *next;</p><p><b> }RD;</b></p><p> BK *h_book;</p><p> RD *h_reader;</p><p> void Login();
28、 </p><p> int Menu(); </p><p> void Init(); </p><p> void Init_book(); </p><p> void Menu_select(); </p><p> void Insert_New
29、_Book(); </p><p> void Find_Book(); </p><p> void add_reader();</p><p> void Print_reader(); </p><p> void Print_book(); </p><p
30、> void Borrow_Book(); </p><p> void Return_Book(); </p><p> void Save(); </p><p> void Save_Book(); </p><p> void Save_Reader(); </p><p> v
31、oid Load();</p><p> void Load_Reader(); </p><p> void Load_Book(); </p><p> void Login()</p><p><b> {</b></p><p> system("cls");
32、</p><p> printf("\n\n\n\t\t***************************************\n");</p><p> printf("\n\n\n\t\t\t歡迎使用圖書(shū)管理系統(tǒng)\n");</p><p> printf("\n\n\n\t\t***********
33、****************************\n");</p><p> printf("\n\n\t\t本程序制作人 林 學(xué)號(hào):\n\n\n\n\n\n\n");</p><p> printf("\n\n\n\t\t 按任意鍵進(jìn)入系統(tǒng)...");</p><p> getch(); system
34、("cls");</p><p><b> }</b></p><p> int Menu() /*主菜單*/</p><p><b> { int dm;</b></p><p> printf("\n\t\t圖書(shū)管理系統(tǒng)主菜單\n");</p
35、><p> printf("=================================================\n");</p><p> printf("*\t0----退出系統(tǒng) \n");</p><p> printf("*\t1----采編入庫(kù) \n&qu
36、ot;);</p><p> printf("*\t2----登記讀者 \n"); </p><p> printf("*\t3----借閱登記 \n");</p><p> printf("*\t4----還書(shū)管理 \n");</p>
37、<p> printf("*\t5----查詢圖書(shū)信息 \n");</p><p> printf("*\t6----查詢讀者信息 \n");</p><p> printf("=================================================\n");<
38、;/p><p> printf("請(qǐng)選擇相應(yīng)的代碼:"); </p><p><b> for(;;) </b></p><p> { scanf("%d",&dm); //dm輸入的數(shù)字</p><p> if(dm<0||dm>6)</p>
39、<p> printf("\n錯(cuò)誤!請(qǐng)重新輸入:");</p><p> else break;</p><p><b> }</b></p><p> return dm; </p><p><b> }</b></p><p>
40、 void Menu_select()/*主菜單選擇函數(shù)*/</p><p><b> {</b></p><p><b> for(;;) </b></p><p><b> {</b></p><p> switch(Menu()) /*功能選擇*/</p&g
41、t;<p><b> { case 0:</b></p><p> system("cls");</p><p><b> Save();</b></p><p> printf("\n\n\t文件保存成功!\n"); </p><p>
42、 printf("\n\n\t歡迎下次使用本系統(tǒng)!\n"); </p><p><b> getch(); </b></p><p><b> exit(0);</b></p><p> case 1:Insert_New_Book();break; </p><p>
43、 case 2:add_reader();break;</p><p> case 3:Borrow_Book();break;</p><p> case 4:Return_Book();break;</p><p> case 5:Print_book();break;</p><p> case 6:Print_reader()
44、;break;</p><p> default:printf("\n錯(cuò)誤!");</p><p><b> exit(0);}</b></p><p><b> }</b></p><p><b> }</b></p><p&g
45、t; void Init() /*初始化*/</p><p><b> {</b></p><p><b> BK *p0;</b></p><p> printf("\n圖書(shū)初始化開(kāi)始,請(qǐng)輸入圖書(shū)信息..\n包括編號(hào).書(shū)名.數(shù)量..\n");</p><p> p0=
46、(BK*)malloc(sizeof(BK));</p><p> h_book=p0;</p><p> printf("\n請(qǐng)輸入圖書(shū)信息:\n");</p><p> printf("圖書(shū)編號(hào):"); /*輸入圖書(shū)編號(hào)(唯一)*/</p><p> scanf(&qu
47、ot;%s",p0->book_num);</p><p> printf("圖書(shū)名稱:"); /*輸入圖書(shū)名稱*/</p><p> scanf("%s",p0->book_name);</p><p> printf("圖書(shū)作者:");
48、 /*輸入圖書(shū)作者*/</p><p> scanf("%s",p0->book_writer);</p><p> printf("圖書(shū)數(shù)量:"); /*輸入圖書(shū)數(shù)量*/</p><p> scanf("%d",&p0->book_kc);</p&g
49、t;<p> p0->book_xy=p0->book_kc; /*開(kāi)始時(shí)圖書(shū)現(xiàn)有量和庫(kù)存量相等*/</p><p> p0->next=NULL;</p><p> printf("\n圖書(shū)信息初始化完畢!按任意鍵繼續(xù)下一步操作..\n");</p><p><b> getch();&
50、lt;/b></p><p> system("cls");</p><p><b> }</b></p><p> void Insert_New_Book()/*新書(shū)入庫(kù)*/</p><p><b> {</b></p><p> BK
51、 *p,*p0,*p1; </p><p> p=p1=h_book;</p><p> printf("\n新書(shū)入庫(kù)模塊...\n");</p><p> printf("\n請(qǐng)輸入新書(shū)信息..\n包括書(shū)號(hào).書(shū)名.數(shù)量..\n");</p><p> p0=(BK *)malloc(sizeo
52、f(BK));</p><p> printf("圖書(shū)編號(hào):");</p><p> scanf("%s",p0->book_num);</p><p> while(strcmp(p0->book_num,p1->book_num)!=0&&p1->next!=NULL)<
53、/p><p> p1=p1->next;</p><p> if(strcmp(p0->book_num,p1->book_num)==0) /*此處分兩種情況,若圖書(shū)編號(hào)存在,則直接進(jìn)庫(kù),只須輸入書(shū)的數(shù)量*/</p><p><b> {</b></p><p> printf("\n此
54、編號(hào)圖書(shū)已存在!!直接入庫(kù)!\n"); </p><p> printf("圖書(shū)數(shù)量:");</p><p> scanf("%d",&p0->book_kc);</p><p> p1->book_kc+=p0->book_kc;</p><p> p1-&
55、gt;book_xy+=p0->book_kc;</p><p><b> }</b></p><p> else/*若不存在,則需要輸入其他的信息,然后在進(jìn)行插入操作*/</p><p><b> {</b></p><p> printf("圖書(shū)名稱:");&l
56、t;/p><p> scanf("%s",p0->book_name);</p><p> printf("圖書(shū)作者:");</p><p> scanf("%s",p0->book_writer);</p><p> printf("圖書(shū)數(shù)量:"
57、);</p><p> scanf("%d",&p0->book_kc);//庫(kù)存數(shù)量</p><p> while(p->next) </p><p> { p=p->next; }</p><p> if(h_book==NULL) h_book=p0; /*此處分兩種情況,鏈表中
58、沒(méi)有數(shù)據(jù),head直接指向p0處*/</p><p> else p->next=p0; /*此處分兩種情況,鏈表中有數(shù)據(jù),鏈表中最后元素的next指向p0處*/ </p><p> p0->next=NULL;</p><p> p0->book_xy=p0->book_kc; </p>
59、<p><b> }</b></p><p> printf("\n新書(shū)入庫(kù)完畢!按任意鍵繼續(xù)下一步操作..\n");</p><p><b> getch();</b></p><p> system("cls");</p><p>&l
60、t;b> }</b></p><p> void add_reader()/*添加讀者*/</p><p><b> { RD *p0;</b></p><p><b> int i;</b></p><p> printf("\n讀者初始化開(kāi)始,請(qǐng)輸入讀者信息
61、..\n包括書(shū)證號(hào).姓名..\n");</p><p> p0=(RD*)malloc(sizeof(RD)); /*申請(qǐng)新結(jié)點(diǎn)存儲(chǔ)空間*/</p><p> h_reader=p0;</p><p> printf("\n請(qǐng)輸入讀者的信息:\n");</p><p> printf("
62、讀者書(shū)證號(hào):"); </p><p> scanf("%s",p0->reader_num);</p><p> printf("讀者姓名:"); </p><p> scanf("%s",p0->reader_name);</p><p&
63、gt; p0->right=0;</p><p> for(i=0;i<Max;i++)</p><p><b> {</b></p><p> strcpy(p0->borrow[i].borrow_book_num,"0"); /*所借圖書(shū)直接置為(即沒(méi)有借書(shū))*/</p><
64、;p> strcpy(p0->borrow[i].limit_date,"0"); </p><p><b> }</b></p><p> p0->next=NULL;</p><p> printf("\n讀者信息初始化完畢!按任意鍵繼續(xù)下一步操作..\n"); </p
65、><p><b> getch();</b></p><p> system("cls");</p><p><b> }</b></p><p> void Borrow_Book() /*借書(shū)模塊*/</p><p><b> {<
66、;/b></p><p> BK *p0; RD *p1;</p><p> char bo_num[10],rea_num[10],lim_date[8];</p><p><b> int i;</b></p><p> p0=h_book; p1=h_reader;</p><p&
67、gt; printf("\n借書(shū)模塊...\n");</p><p> printf("\n請(qǐng)輸入借書(shū)的讀者書(shū)證號(hào):"); </p><p> scanf("%s",rea_num);</p><p> while(p1->next!=NULL&&strcmp(rea_nu
68、m,p1->reader_num)!=0) </p><p> p1=p1->next;</p><p> if(p1->next==NULL&&strcmp(rea_num,p1->reader_num)!=0) </p><p><b> { </b></p>&
69、lt;p> printf("\n此讀者編號(hào)不存在!按任意鍵返回..\n");</p><p><b> goto END;</b></p><p><b> } </b></p><p> printf("\n請(qǐng)輸入你要借的書(shū)的編號(hào):"); </p>&l
70、t;p> scanf("%s",bo_num);</p><p> while(strcmp(bo_num,p0->book_num)!=0&&p0->next!=NULL) </p><p> p0=p0->next;</p><p> if(p0->next==NULL&
71、&strcmp(bo_num,p0->book_num)!=0) </p><p><b> {</b></p><p> printf("\n此圖書(shū)編號(hào)不存在!按任意鍵返回..\n");</p><p><b> goto END;</b></p><
72、p><b> }</b></p><p> else if(p0->book_xy<=0) </p><p><b> {</b></p><p> printf("\n抱歉,此書(shū)已借完!請(qǐng)等待新書(shū)的到來(lái)!!\n按任意鍵返回....");</p><
73、p><b> goto END;</b></p><p><b> } </b></p><p> else if(p1->right>Max||p1->right==Max) </p><p><b> {</b></p><p> prin
74、tf("\n不好意思,借書(shū)數(shù)目已滿!不能借書(shū)!\n按任意鍵返回....");</p><p><b> goto END;</b></p><p><b> }</b></p><p> else if(strcmp(p1->borrow[0].borrow_book_num,"0
75、")!=0) </p><p><b> {</b></p><p> for(i=0;i<Max;i++) </p><p><b> {</b></p><p> if(strcmp(p1->borrow[i].borrow_book_num,bo_nu
76、m)==0)</p><p><b> {</b></p><p> printf("\n抱歉!同一個(gè)讀者不能同借兩本相同的書(shū)!\n按任意鍵返回....");</p><p><b> goto END;</b></p><p><b> }</b>
77、</p><p> else if(strcmp(p1->borrow[i].borrow_book_num,"0")==0) </p><p><b> {</b></p><p> printf("\n請(qǐng)輸入你要?dú)w還圖書(shū)的日期:"); </p><p>
78、scanf("%s",lim_date);</p><p> strcpy(p1->borrow[p1->right++].borrow_book_num,bo_num); </p><p> strcpy(p1->borrow[p1->right-1].limit_date,lim_date); </p><
79、p> p0->book_xy--;</p><p> p0->book_kc--;</p><p> printf("\n讀者編號(hào)%s借書(shū)完畢!按任意鍵繼續(xù)下步操作..",p1->reader_num);</p><p><b> goto END;</b></p><p&
80、gt;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><
81、;p> printf("\n請(qǐng)輸入你要?dú)w還圖書(shū)的日期:"); </p><p> scanf("%s",lim_date);</p><p> strcpy(p1->borrow[p1->right++].borrow_book_num,bo_num); </p><p> strcpy(p1-
82、>borrow[p1->right-1].limit_date ,lim_date ); </p><p> p0->book_xy--;</p><p> p0->book_kc--;</p><p> printf("\n讀者編號(hào)%s借書(shū)完畢!按任意鍵繼續(xù)下步操作..",p1->reader_num);&l
83、t;/p><p><b> }</b></p><p> END:getch(); system("cls");</p><p><b> } </b></p><p> void Return_Book() /*還書(shū)模塊*/</p><p><
84、b> {</b></p><p> BK *p; RD *q;</p><p> int i,j,find=0;</p><p> char return_book_num[10],return_reader_num[10];</p><p> p=h_book; q=h_reader;</p>&l
85、t;p> printf("\n還書(shū)模塊...\n");</p><p> printf("\n請(qǐng)輸入要還書(shū)的讀者編號(hào):"); </p><p> scanf("%s",return_reader_num); </p><p> while(q->next!=NULL&
86、amp;&strcmp(return_reader_num,q->reader_num)!=0) </p><p> q=q->next;</p><p> if(q->next==NULL&&strcmp(return_reader_num,q->reader_num)!=0)</p><p><b>
87、 {</b></p><p><b> find=2;</b></p><p> printf("\n此讀者編號(hào)不存在!按任意鍵返回..\n");</p><p> goto end; </p><p><b> }</b></p><p
88、> printf("\n請(qǐng)輸入讀者還書(shū)的編號(hào):");</p><p> scanf("%s",return_book_num);</p><p> while(p->next!=NULL&&strcmp(return_book_num,p->book_num)!=0)</p><p>
89、 p=p->next;</p><p> if(p->next==NULL&&strcmp(return_book_num,p->book_num)!=0)</p><p><b> {</b></p><p><b> find=2;</b></p><p>
90、; printf("\n錯(cuò)誤!此圖書(shū)編號(hào)不存在!按任意鍵返回..\n");</p><p><b> goto end;</b></p><p><b> } </b></p><p> for(i=0;i<Max;i++)</p><p> if(strcmp(
91、return_book_num,q->borrow[i].borrow_book_num)==0) /*如果此讀者借了此書(shū)*/</p><p><b> {</b></p><p><b> find=1; </b></p><p> for(j=i;j<Max-1;j++)</p>
92、<p><b> {</b></p><p> strcpy(q->borrow[j].borrow_book_num,q->borrow[j+1].borrow_book_num); </p><p> strcpy(q->borrow[j].limit_date,q->borrow[j+1].limit_date); &l
93、t;/p><p><b> }</b></p><p> strcpy(q->borrow[Max-1].borrow_book_num,"0");</p><p> strcpy(q->borrow[Max-1].limit_date,"0");</p><p>
94、 p->book_xy++;</p><p> p->book_kc++;</p><p> q->right--;</p><p> printf("\n編號(hào)%s的讀者還書(shū)完畢!按任意鍵繼續(xù)下步操作..",return_reader_num);</p><p><b> }</b
95、></p><p> if(find==0) </p><p> printf("\n錯(cuò)誤!此讀者未借此書(shū)!按任意鍵返回..\n"); </p><p> end: getch(); system("cls");</p><p><b> }</b>
96、</p><p> void Print_book() /*查詢圖書(shū)信息*/</p><p><b> {</b></p><p><b> BK *p;</b></p><p><b> p=h_book;</b></p><p> prin
97、tf("\n圖書(shū)信息如下:\n\n");</p><p> printf("圖書(shū)編號(hào)\t圖書(shū)名稱\t圖書(shū)作者\(yùn)t現(xiàn)有\(zhòng)t\t庫(kù)存\n");</p><p> while(p!=NULL)</p><p><b> {</b></p><p> printf("%s
98、\t\t%s\t\t%s\t\t%d\t\t%d\n",p->book_num,p->book_name,p->book_writer,p->book_xy,p->book_kc);</p><p> p=p->next;</p><p><b> }</b></p><p> printf(
99、"\n圖書(shū)信息打印完畢!按任意鍵繼續(xù)下一步操作..");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> }</b></p><p> void Print_reader()
100、 /*查詢讀者信息*/</p><p><b> {</b></p><p><b> RD *p;</b></p><p><b> int i;</b></p><p> p=h_reader;</p><p> printf(&q
101、uot;\n讀者信息如下:\n\n");</p><p> printf("讀者書(shū)證號(hào)\t\t讀者姓名\n"); </p><p> printf("\n");</p><p> while(p!=NULL) </p><p><b> {</b></p&g
102、t;<p> printf("\t%s\t\t%s",p->reader_num,p->reader_name);</p><p> for(i=0;i<Max;i++)</p><p><b> {</b></p><p> printf("\n");</p
103、><p> printf("圖書(shū)編號(hào)",i+1); </p><p> printf("\t還書(shū)日期",i+1); </p><p> printf("\n");</p><p> printf("\t%s",p->borrow[i].borrow_bo
104、ok_num);</p><p> printf("\t\t%s",p->borrow[i].limit_date); </p><p><b> }</b></p><p> printf("\n");</p><p> p=p->next;</p>
105、;<p><b> }</b></p><p> printf("\n讀者信息打印完畢!按任意鍵繼續(xù)下一步操作..");</p><p><b> getch();</b></p><p> system("cls");</p><p>
106、<b> }</b></p><p> void Save() /*保存信息*/</p><p><b> {</b></p><p> Save_Reader();</p><p> Save_Book();</p><p><b> }</b&
107、gt;</p><p> void Save_Reader() /*保存讀者信息*/</p><p><b> {</b></p><p> FILE *fp_reader; </p><p> RD *p,*p0;</p><p> p=h_reader;</p>
108、<p> if((fp_reader=fopen("Reader.txt","wb"))==NULL) /*創(chuàng)建文件,進(jìn)行保存*/</p><p><b> {</b></p><p> printf("\n文件保存失敗!\n請(qǐng)重新啟動(dòng)本系統(tǒng)...\n");</p><
109、;p><b> exit(0);</b></p><p><b> }</b></p><p> while(p!=NULL) </p><p><b> {</b></p><p> if(fwrite(p,sizeof(RD),1,fp_reader)!=1
110、) /*將鏈表中的信息寫(xiě)入文件中*/</p><p> printf("\n寫(xiě)入文件失敗!\n請(qǐng)重新啟動(dòng)本系統(tǒng)!\n");</p><p><b> p0=p;</b></p><p> p=p->next;</p><p> free(p0); /*釋放所有結(jié)點(diǎn)*/</p&g
111、t;<p><b> }</b></p><p> h_reader=NULL;</p><p> fclose(fp_reader); /*關(guān)閉文件*/</p><p><b> }</b></p><p> void Save_Book() /*保存圖書(shū)信息*/&l
112、t;/p><p><b> {</b></p><p> FILE *fp_book; /*創(chuàng)建文件型指針*/</p><p> BK *p,*p0;</p><p><b> p=h_book;</b></p><p> if((fp_book=fopen(&
113、quot;Book.txt","wb"))==NULL) /*創(chuàng)建文件,進(jìn)行保存*/</p><p><b> {</b></p><p> printf("\n文件保存失敗!\n請(qǐng)重新啟動(dòng)本系統(tǒng)...\n");</p><p><b> exit(0);</b&
114、gt;</p><p><b> }</b></p><p> while(p!=NULL) </p><p><b> {</b></p><p> if(fwrite(p,sizeof(BK),1,fp_book)!=1) /*將鏈表中的信息寫(xiě)入文件中*/&
115、lt;/p><p> printf("\n寫(xiě)入文件失敗!\n請(qǐng)重新啟動(dòng)本系統(tǒng)!\n");</p><p><b> p0=p;</b></p><p> p=p->next;</p><p> free(p0); </p><p><b> }</b
116、></p><p> h_book=NULL;</p><p> fclose(fp_book); /*關(guān)閉文件*/</p><p><b> }</b></p><p> void Load() /*加載信息*/</p><p><b> {</b>&l
117、t;/p><p> Load_Reader();</p><p> Load_Book();</p><p><b> }</b></p><p> void Load_Reader() /*加載讀者信息*/</p><p><b> {</b></p>
118、<p> RD *p1,*p2,*p3;</p><p> FILE *fp; /*創(chuàng)建文件型指針*/</p><p> fp=fopen("book.txt","rb"); /*打開(kāi)文件*/</p><p> p1=(RD *)malloc(sizeof(RD));<
119、;/p><p> fread(p1,sizeof(RD),1,fp);</p><p> h_reader=p3=p2=p1;</p><p> while(! feof(fp)) /*讀出信息,重新鏈入鏈表*/</p><p> { p1=(RD *)malloc(sizeof(RD));</p><p>
120、 fread(p1,sizeof(RD),1,fp);</p><p> p2->next=p1;</p><p><b> p3=p2;</b></p><p><b> p2=p1;</b></p><p><b> }</b></p><
121、p> p3->next=NULL;</p><p><b> free(p1);</b></p><p> fclose(fp); /*關(guān)閉文件*/</p><p><b> }</b></p><p> void Load_Book() /*加載圖書(shū)信息*/</p>
122、;<p><b> {</b></p><p> BK *p1,*p2,*p3;</p><p> FILE *fp; /*創(chuàng)建文件型指針*/</p><p> fp=fopen("Book.txt","rb"); /*打開(kāi)文件*/</p>&
123、lt;p> p1=(BK *)malloc(sizeof(BK));</p><p> fread(p1,sizeof(BK),1,fp); </p><p> h_book=p3=p2=p1;</p><p> while(! feof(fp)) /*讀出信息,重新鏈入鏈表*/</p><p> { p1=(BK *)m
124、alloc(sizeof(BK));</p><p> fread(p1,sizeof(BK),1,fp);</p><p> p2->next=p1;</p><p><b> p3=p2;</b></p><p><b> p2=p1;</b></p><p&g
125、t;<b> }</b></p><p> p3->next=NULL;</p><p><b> free(p1);</b></p><p> fclose(fp); /*關(guān)閉文件*/</p><p><b> }</b></p><p
126、> void main() </p><p><b> {</b></p><p> FILE *fp_book,*fp_reader; /*創(chuàng)建文件型指針*/</p><p><b> Login(); </b></p><p> if((fp_book=
127、fopen("Book.txt","rb"))==NULL||(fp_reader=fopen("Reader.txt","rb"))==NULL)</p><p> { Init(); } </p><p> else Load();</p><p> Menu_select()
溫馨提示
- 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ù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--學(xué)院圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-圖書(shū)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書(shū)管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)實(shí)驗(yàn)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---- 圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——圖書(shū)管理信息系統(tǒng)
- 圖書(shū)管理系統(tǒng)(含源代碼)c語(yǔ)言_數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)-圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書(shū)借閱管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----用c++語(yǔ)言實(shí)現(xiàn)圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---圖書(shū)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告----圖書(shū)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論