版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計說明書</b></p><p> 專 業(yè): 網(wǎng)絡(luò)工程 </p><p> 課程名稱: 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 班級: </p><p> 姓 名: 學(xué)號: </p><p> 設(shè)
2、計題目: 圖書管理系統(tǒng) </p><p> 設(shè)計時間: 2012-2-27 至 2012-3-9 </p><p> 評 語:_________________________________</p><p> _________________________________________&
3、lt;/p><p> _________________________________________</p><p> _________________________________________</p><p> _________________________________________</p><p> 評閱成績:_
4、_ __評閱教師:__ </p><p><b> 一、設(shè)計題目與要求</b></p><p> 【問題描述】設(shè)計一個計算機(jī)管理系統(tǒng)完成圖書管理基本業(yè)務(wù)?!净疽蟆?lt;/p><p> 每種書的登記內(nèi)容包括書號、書名、著作者、現(xiàn)存量和庫存量;</p><p> 對書號建立索引表(線性表)以
5、提高查找效率;</p><p><b> 系統(tǒng)主要功能如下:</b></p><p> *采編入庫:新購一種書,確定書號后,登記到圖書帳目表中,如果表中已有,則只將庫存量增加;*借閱:如果一種書的現(xiàn)存量大于0,則借出一本,登記借閱者的書證號和歸還期限,改變現(xiàn)存量;*歸還:注銷對借閱者的登記,改變該書的現(xiàn)存量?!具M(jìn)一步完成內(nèi)容】</p><
6、p> 系統(tǒng)功能的進(jìn)一步完善;</p><p><b> 索引表采用樹表。</b></p><p><b> 設(shè)計內(nèi)容</b></p><p><b> 程序流程圖</b></p><p><b> 源程序</b></p>&l
7、t;p> 軟件測試報告(包括所用到的數(shù)據(jù)及結(jié)果)</p><p><b> 二、概要設(shè)計</b></p><p><b> 有八個模塊</b></p><p><b> 圖書初始化</b></p><p> 輸入圖書的一些信息,編號、作者、書名、數(shù)量,使有一定的
8、庫存。</p><p><b> 新書入庫</b></p><p> 新書采編入庫,輸入編號后如果有次數(shù)只需輸入數(shù)量,沒有則繼續(xù)輸入書名、作者、數(shù)量。</p><p><b> 添加讀者信息</b></p><p> 讀者信息初始化,輸入讀書證號和姓名,只有輸入書證號和姓名才能進(jìn)行借書還書&
9、lt;/p><p><b> 借書模塊</b></p><p> 讀者輸入讀書證號,證號存在輸入要借的圖書編號,不能借同一本書,如果借書數(shù)量以達(dá)到最大也不能借書。</p><p><b> 還書模塊</b></p><p> 歸還已借的圖書,要先輸入讀者書證號,書證號存在繼續(xù)輸入要還的圖書編號,
10、圖書編號存在并且借來此書,歸還成功。</p><p><b> 查詢圖書信息</b></p><p><b> 查詢讀者信息</b></p><p> 可查詢讀者姓名書證號,借了幾本書,都是什么書和還書日期,還可以借幾本書。</p><p><b> 退出</b><
11、;/p><p> 退出讀書管理系統(tǒng)并保存讀者和圖書信息。</p><p><b> 三、算法設(shè)計</b></p><p> 進(jìn)入系統(tǒng)后首先進(jìn)行圖書初始化,輸入圖書的信息。</p><p> 初始化之后,進(jìn)入系統(tǒng),顯示功能列表,可選擇任意系統(tǒng),但在借書之前先要輸入讀者信息。</p><p>&l
12、t;b> 1)采編入庫</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 2)輸入讀者信息</b></p><p><b> 3)借閱圖書</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)歸還圖書</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p>
16、<b> 5)查詢圖書信息</b></p><p><b> 否</b></p><p><b> 6)查詢讀者信息</b></p><p><b> 否</b></p><p> 四、運行結(jié)果和調(diào)試分析</p><p>
17、<b> 圖書信息初始化</b></p><p> 同一本新書入庫的運行結(jié)果圖</p><p><b> 不同的新書采編入庫</b></p><p> 采編入庫后查詢圖書信息的運行結(jié)果圖</p><p><b> 登記讀者信息</b></p><p
18、><b> 借書</b></p><p> 借書后查詢圖書信息的運行結(jié)果圖</p><p> 借同一本書的運行結(jié)果圖</p><p><b> 借不同的書</b></p><p> 借兩本書后查詢讀者信息的運行結(jié)果圖</p><p><b> 還書
19、運行結(jié)果圖</b></p><p> 還書之后再查詢讀者信息的運行結(jié)果圖</p><p><b> 還書后查詢圖書信息</b></p><p><b> 退出</b></p><p><b> 五、總結(jié)體會</b></p><p>
20、 雖然這次的程序是通過上網(wǎng)查出來的,但是通過這次的實驗使我知道了圖書管理系統(tǒng)的流程,知道了一些以前不知道的知識,在運行程序時也遇到了一些問題,借書時只能借一本書,再借書就不能顯示是借了還是不能借,把最多能借書的數(shù)量改了一下還是不行,最后在每一個判斷輸出之后都加了goto END借書,就能正常借書了。程序有點長,本來一個函數(shù)就能完成一個功能,他用了兩個函數(shù)就我把自己能改成一個的改了。借書系統(tǒng)比較復(fù)雜,不容易懂,和同學(xué)交流了一下自己看了看才
21、明白。</p><p> 這次的實驗還讓我復(fù)習(xí)了數(shù)據(jù)結(jié)構(gòu)的一些知識,如數(shù)組,while語句,switch語句,鏈表,還知道了如何使用system("cls")清屏,還知道了strcmp是用來比較字符串s1和s2大小的,strcpy使用來把字符串s2的值賦給s1的。</p><p> 這次的實驗增加了我們自己動手動腦的能力,希望多做一些這樣的實驗,很有意義,和現(xiàn)實生活
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歡迎使用圖書管理系統(tǒng)\n");</p><p> printf("\n\n\n\t\t***********
33、****************************\n");</p><p> printf("\n\n\t\t本程序制作人 林 學(xué)號:\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圖書管理系統(tǒng)主菜單\n");</p
35、><p> printf("=================================================\n");</p><p> printf("*\t0----退出系統(tǒng) \n");</p><p> printf("*\t1----采編入庫 \n&qu
36、ot;);</p><p> printf("*\t2----登記讀者 \n"); </p><p> printf("*\t3----借閱登記 \n");</p><p> printf("*\t4----還書管理 \n");</p>
37、<p> printf("*\t5----查詢圖書信息 \n");</p><p> printf("*\t6----查詢讀者信息 \n");</p><p> printf("=================================================\n");<
38、;/p><p> printf("請選擇相應(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錯誤!請重新輸入:");</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錯誤!");</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圖書初始化開始,請輸入圖書信息..\n包括編號.書名.數(shù)量..\n");</p><p> p0=
46、(BK*)malloc(sizeof(BK));</p><p> h_book=p0;</p><p> printf("\n請輸入圖書信息:\n");</p><p> printf("圖書編號:"); /*輸入圖書編號(唯一)*/</p><p> scanf(&qu
47、ot;%s",p0->book_num);</p><p> printf("圖書名稱:"); /*輸入圖書名稱*/</p><p> scanf("%s",p0->book_name);</p><p> printf("圖書作者:");
48、 /*輸入圖書作者*/</p><p> scanf("%s",p0->book_writer);</p><p> printf("圖書數(shù)量:"); /*輸入圖書數(shù)量*/</p><p> scanf("%d",&p0->book_kc);</p&g
49、t;<p> p0->book_xy=p0->book_kc; /*開始時圖書現(xiàn)有量和庫存量相等*/</p><p> p0->next=NULL;</p><p> printf("\n圖書信息初始化完畢!按任意鍵繼續(xù)下一步操作..\n");</p><p><b> getch();&
50、lt;/b></p><p> system("cls");</p><p><b> }</b></p><p> void Insert_New_Book()/*新書入庫*/</p><p><b> {</b></p><p> BK
51、 *p,*p0,*p1; </p><p> p=p1=h_book;</p><p> printf("\n新書入庫模塊...\n");</p><p> printf("\n請輸入新書信息..\n包括書號.書名.數(shù)量..\n");</p><p> p0=(BK *)malloc(sizeo
52、f(BK));</p><p> printf("圖書編號:");</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) /*此處分兩種情況,若圖書編號存在,則直接進(jìn)庫,只須輸入書的數(shù)量*/</p><p><b> {</b></p><p> printf("\n此
54、編號圖書已存在!!直接入庫!\n"); </p><p> printf("圖書數(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("圖書名稱:");&l
56、t;/p><p> scanf("%s",p0->book_name);</p><p> printf("圖書作者:");</p><p> scanf("%s",p0->book_writer);</p><p> printf("圖書數(shù)量:"
57、);</p><p> scanf("%d",&p0->book_kc);//庫存數(shù)量</p><p> while(p->next) </p><p> { p=p->next; }</p><p> if(h_book==NULL) h_book=p0; /*此處分兩種情況,鏈表中
58、沒有數(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新書入庫完畢!按任意鍵繼續(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讀者初始化開始,請輸入讀者信息
61、..\n包括書證號.姓名..\n");</p><p> p0=(RD*)malloc(sizeof(RD)); /*申請新結(jié)點存儲空間*/</p><p> h_reader=p0;</p><p> printf("\n請輸入讀者的信息:\n");</p><p> printf("
62、讀者書證號:"); </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"); /*所借圖書直接置為(即沒有借書)*/</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() /*借書模塊*/</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借書模塊...\n");</p><p> printf("\n請輸入借書的讀者書證號:"); </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此讀者編號不存在!按任意鍵返回..\n");</p><p><b> goto END;</b></p><p><b> } </b></p><p> printf("\n請輸入你要借的書的編號:"); </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此圖書編號不存在!按任意鍵返回..\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抱歉,此書已借完!請等待新書的到來!!\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ù)目已滿!不能借書!\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抱歉!同一個讀者不能同借兩本相同的書!\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請輸入你要歸還圖書的日期:"); </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讀者編號%s借書完畢!按任意鍵繼續(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請輸入你要歸還圖書的日期:"); </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讀者編號%s借書完畢!按任意鍵繼續(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() /*還書模塊*/</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還書模塊...\n");</p><p> printf("\n請輸入要還書的讀者編號:"); </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此讀者編號不存在!按任意鍵返回..\n");</p><p> goto end; </p><p><b> }</b></p><p
88、> printf("\n請輸入讀者還書的編號:");</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錯誤!此圖書編號不存在!按任意鍵返回..\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) /*如果此讀者借了此書*/</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編號%s的讀者還書完畢!按任意鍵繼續(xù)下步操作..",return_reader_num);</p><p><b> }</b
95、></p><p> if(find==0) </p><p> printf("\n錯誤!此讀者未借此書!按任意鍵返回..\n"); </p><p> end: getch(); system("cls");</p><p><b> }</b>
96、</p><p> void Print_book() /*查詢圖書信息*/</p><p><b> {</b></p><p><b> BK *p;</b></p><p><b> p=h_book;</b></p><p> prin
97、tf("\n圖書信息如下:\n\n");</p><p> printf("圖書編號\t圖書名稱\t圖書作者\t現(xiàn)有\(zhòng)t\t庫存\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圖書信息打印完畢!按任意鍵繼續(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("讀者書證號\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("圖書編號",i+1); </p><p> printf("\t還書日期",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請重新啟動本系統(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、) /*將鏈表中的信息寫入文件中*/</p><p> printf("\n寫入文件失敗!\n請重新啟動本系統(tǒng)!\n");</p><p><b> p0=p;</b></p><p> p=p->next;</p><p> free(p0); /*釋放所有結(jié)點*/</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() /*保存圖書信息*/&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請重新啟動本系統(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) /*將鏈表中的信息寫入文件中*/&
115、lt;/p><p> printf("\n寫入文件失敗!\n請重新啟動本系統(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"); /*打開文件*/</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() /*加載圖書信息*/</p>
122、;<p><b> {</b></p><p> BK *p1,*p2,*p3;</p><p> FILE *fp; /*創(chuàng)建文件型指針*/</p><p> fp=fopen("Book.txt","rb"); /*打開文件*/</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書管理系統(tǒng)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告--學(xué)院圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-圖書管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書管理
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計圖書管理系統(tǒng)實驗報告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告---- 圖書管理系統(tǒng)的設(shè)計與實現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計——圖書管理信息系統(tǒng)
- 圖書管理系統(tǒng)(含源代碼)c語言_數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告
- 數(shù)據(jù)結(jié)構(gòu)-圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--圖書借閱管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計----用c++語言實現(xiàn)圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告----圖書管理系統(tǒng)
評論
0/150
提交評論