2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論