c++課程設計圖書管理系統(tǒng) (2)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  課 程 設 計 報 告</p><p>  課程名稱 C++課程設計 </p><p>  課題名稱 圖書管理系統(tǒng)設計 </p><p>  題目三:圖書管理系統(tǒng)設計</p><p>  (一)、課程設計題目:</p><p><b&g

2、t;  圖書管理系統(tǒng)設計</b></p><p><b> ?。ǘ?、要求: </b></p><p>  使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作</p><p> ?。ㄈ?、設計方法和基本原理: </p><p><b>  1、功能描述: </b></p>&l

3、t;p> ?。?)新進圖書基本信息的輸入。</p><p> ?。?)圖書基本信息的查詢。</p><p> ?。?)對撤消圖書信息的刪除。</p><p> ?。?)為借書人辦理注冊。</p><p> ?。?)辦理借書手續(xù)。</p><p> ?。?)辦理還書手續(xù)。</p><p> 

4、 2、問題的解決方案: </p><p>  根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;</p><p>  (2)分析系統(tǒng)中的各個實體及它們之間的關系包括屬性和行為; </p><p>  (3)根據(jù)問題描述,設計系統(tǒng)的類層次; </p>

5、;<p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個成員函數(shù)的定義; </p><p>  (6)完成系統(tǒng)的應用模塊; </p><p><b>  (7)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書</p&g

6、t;<p>  一、設計內(nèi)容與設計要求</p><p><b>  1.課程設計目的:</b></p><p>  從課程設計的實踐活動中獲得知識提高。要求學生達到熟練掌握C++語言的基本知識和技能;基本掌握面向?qū)ο蟪绦蛟O計的思想和方法;能夠利用所學的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O計問題,從而提高動手編程解決實際問題的能力。</p>

7、<p><b>  2.總體設計</b></p><p>  2.1 系統(tǒng)功能分析:</p><p>  系統(tǒng)通過調(diào)用函數(shù)來實現(xiàn)刪除圖書、讀者信息,添加圖書、讀者信息等功能。delbook( )函數(shù)用于刪除圖書信息;addbook( )函數(shù)用于增加圖書信息;borrowbook( )函數(shù)用于實現(xiàn)借書操作;returnbook( )函數(shù)用于實現(xiàn)還書操作等等

8、;主函數(shù)用于掉用這些函數(shù)。</p><p>  2.2系統(tǒng)功能模塊劃分與設計</p><p>  本系統(tǒng)定義了Book類、BDatebase類、Reader類、RDatebase類這四個類,定義了addbook ( )、addreader( )、borrowbook ( )、setname( )等函數(shù)來實現(xiàn)系統(tǒng)所需功能。</p><p>  2.3 系統(tǒng)功能模塊圖:

9、</p><p><b>  3.3.詳細設計</b></p><p>  3.1 讀者類的設計</p><p>  該類定義了借書操作,還書操作,設置讀者姓名等功能。</p><p><b>  圖 3.1</b></p><p>  3.2 讀者庫類類的設計</p&

10、gt;<p>  該類實現(xiàn)了建立讀者的個人資料,刪除讀者信息,輸出讀者信息等功能。</p><p><b>  圖 3.2</b></p><p>  3.3 圖書類的設計</p><p>  圖書類,可以實現(xiàn)對圖書的描述,圖書的編號,書名,借出,還入等操作。</p><p><b>  圖 3.

11、3</b></p><p>  3.4 圖書庫類的設計</p><p><b>  圖 3.4</b></p><p><b>  4.調(diào)試與測試:</b></p><p><b>  4.1系統(tǒng)調(diào)試</b></p><p>  在調(diào)試過程中

12、,出現(xiàn)了一些錯誤。</p><p>  1、輸入數(shù)據(jù)時,輸錯了數(shù)據(jù)的類型會造成死循環(huán),因此輸入時需要注意。</p><p>  2、一開始主界面輸入非正確數(shù)字時,沒有提示錯誤。容易造成用戶誤解</p><p><b>  圖4.1</b></p><p>  在主函數(shù)的switch語句結束處加上default:cout&

13、lt;<"輸入錯誤,請從新輸入:";就可以了,修改后:</p><p><b>  圖4.2 </b></p><p><b>  具體調(diào)試過程。</b></p><p><b>  主界面</b></p><p><b>  圖4.3&l

14、t;/b></p><p><b>  圖書維護</b></p><p><b>  圖4.4</b></p><p><b>  讀者維護</b></p><p><b>  圖4.1</b></p><p><b&g

15、t;  5.結果分析</b></p><p>  本程序總共設計了四個類,滿足了課題對類的要求,在設計的過程中,建立了較為清晰的類層次,也利用了面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設計,做到了每個借閱者建立一個賬戶,賬戶中存儲借閱者的個人信息、借閱信息等要求。而且界面美觀,容易操作。但是程序太長,不夠簡練,導致出現(xiàn)錯誤很難發(fā)現(xiàn)和修改。</p><p><b>

16、;  總結</b></p><p><b>  感想和體會:</b></p><p>  通過這次的課程設計,讓我們充分的感覺到了要自己設計一個程序是多么的難,以及學習好c++是多么的重要。</p><p>  在這個程序的設計過程中,我們清楚的意識到自己的水平有多么的薄弱,課程的知識學得有多么的不扎實??淳W(wǎng)上的例子好像覺得也沒那么

17、難,自己一上機實際操作就出現(xiàn)了很多問題,調(diào)試的時候系統(tǒng)總是在報錯,還有很多警告,每增加一個函數(shù)就要調(diào)試好久,有時候應為少了一個大括號或是分號,導致要找很久很久。雖然系統(tǒng)可以運行,也具有了一些基本的功能,但我們意識到了自己有太多的不足。</p><p>  以后還會有很多的課程設計,一定要吸取這次的教訓,把知識學懂學透學精,真正的為我所用,這樣走上社會我們才能真正的發(fā)揮所長。</p><p>

18、;  我們?nèi)齻€人分工合作,組長彭愛賢負責對程序的編譯,通過不斷的嘗試和學習,最終制成程序的最初模式!謝經(jīng)緯負責對程序的修改。沈維健負責后期制作,總結組內(nèi)的制作經(jīng)驗!通過努力,得以在規(guī)定的時間內(nèi)完成任務。</p><p>  這一次的C++課程設計讓我們學到了很多知識,懂得如何發(fā)現(xiàn)問題,并解決!</p><p>  非常感謝老師及同學們的幫助,讓我們有這一個機會好好學習C++的更廣泛的知識。

19、</p><p><b>  7、</b></p><p>  7.1 源程序清單:</p><p>  #include <iostream> </p><p>  #include <iomanip> //定義控制符</p><p>  #include <s

20、tring> //包含string的頭文件</p><p>  #include <fstream> //用來支持對磁盤文件的輸入輸出</p><p>  using namespace std; </p><p>  const int Maxr=100;</p><p>  const int Maxb=100;

21、</p><p>  const int Maxbor=5; //以上三行聲明Maxr、Maxb、Maxbor為常數(shù)據(jù)成員</p><p>  class Reader //聲明類類型為讀者</p><p><b>  { </b></p><p>  private: //聲明以下部分為私有的<

22、/p><p>  int tag; //</p><p>  int no; //定義編號為整型</p><p>  char name[10]; //定義長度為10的名字數(shù)組字符串</p><p>  int borbook[Maxbor]; //定義整型借書數(shù)組</p><p>  public:

23、 //聲明以下部分為公用的</p><p>  Reader() {} //Reader類構造函數(shù)</p><p>  char *getname() {return name;} //虛函數(shù),返回name</p><p>  int gettag() {return tag;} //虛函數(shù),返回tag</p><

24、p>  int getno() {return no;} //虛函數(shù),返回No.</p><p>  void setname(char na[]) //設置讀者姓名函數(shù)</p><p><b>  { </b></p><p>  strcpy(name,na); //復制字符串</p><p&

25、gt;<b>  } </b></p><p>  void delbook(){ tag=1; } //刪去圖書信息</p><p>  void addreader(int n,char *na) //增加讀者信息</p><p><b>  { </b></p><p><b&g

26、t;  tag=0; </b></p><p><b>  no=n; </b></p><p>  strcpy(name,na); </p><p>  for(int i=0;i<Maxbor;i++) </p><p>  borbook[i]=0; </p><p>&

27、lt;b>  } </b></p><p>  void borrowbook(int bookid) //定義借書函數(shù),且借圖書編號為整型</p><p><b>  { </b></p><p>  for(int i=0;i<Maxbor;i++) </p><p><b>

28、  { </b></p><p>  if (borbook[i]==0) </p><p><b>  { </b></p><p>  borbook[i]=bookid; </p><p><b>  return; </b></p><p><b&g

29、t;  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  int retbook(int bookid)</p><p><b>  { </b></p><p>  for

30、(int i=0;i<Maxbor;i++) </p><p><b>  { </b></p><p>  if(borbook[i]==bookid) </p><p><b>  { </b></p><p>  borbook[i]=0; </p><p>  

31、return 1; </p><p><b>  } </b></p><p><b>  } </b></p><p>  return 0; </p><p><b>  } </b></p><p>  void disp() //成員函數(shù),輸

32、出基類數(shù)據(jù)成員</p><p><b>  { </b></p><p>  cout << setw(5) << no <<setw(10) << name<<"借書編號:["; /*設置編號字段寬度為5位,設置名字字段寬度為10位*/</p><p>  for

33、(int i=0;i<Maxbor;i++) </p><p>  if(borbook[i]!=0) </p><p>  cout << borbook[i] << "|"; </p><p>  cout << "]"<<endl; </p><p

34、><b>  } </b></p><p><b>  }; </b></p><p>  class RDatabase //定義RDatabase類</p><p><b>  { </b></p><p><b>  private: </b&g

35、t;</p><p><b>  int top; </b></p><p>  Reader read[Maxr];</p><p><b>  public: </b></p><p>  RDatabase() //構造函數(shù)</p><p><b>

36、  { </b></p><p>  Reader s; </p><p><b>  top=-1; </b></p><p>  fstream file("reader.txt",ios::in); //在reader.txt以輸入方式打開文件</p><p>  whil

37、e (1) </p><p><b>  { </b></p><p>  file.read((char *)&s,sizeof(s)); </p><p>  if (!file)break; //如果非file,結束循環(huán)</p><p><b>  top++; </b><

38、;/p><p>  read[top]=s; </p><p><b>  } </b></p><p>  file.close(); </p><p><b>  } </b></p><p>  void clear()</p><p><b&

39、gt;  { </b></p><p><b>  top=-1; </b></p><p><b>  } </b></p><p>  int addreader(int n,char *na)</p><p><b>  { </b></p>&

40、lt;p>  Reader *p=query(n); </p><p>  if (p==NULL) </p><p><b>  { </b></p><p><b>  top++; </b></p><p>  read[top].addreader(n,na); </p>

41、<p>  return 1; </p><p><b>  } </b></p><p>  return 0; </p><p><b>  } </b></p><p>  Reader *query(int readerid) //定義query指針,且讀者編號為整型<

42、;/p><p><b>  { </b></p><p>  for (int i=0;i<=top;i++) </p><p>  if (read[i].getno()==readerid && </p><p>  read[i].gettag()==0) </p><p>

43、;<b>  { </b></p><p>  return &read[i]; //指向read[i]</p><p><b>  } </b></p><p>  return NULL; </p><p><b>  } </b></p>&l

44、t;p>  void disp() </p><p><b>  { </b></p><p>  for (int i=0;i<=top;i++) </p><p>  read[i].disp(); </p><p><b>  } </b></p><p>

45、  void readerdata();</p><p>  ~RDatabase()</p><p><b>  { </b></p><p>  fstream file("reader.txt",ios::out); //使用文件與reader.txt文件建立關聯(lián)</p><p>  

46、for (int i=0;i<=top;i++) </p><p>  if (read[i].gettag()==0) </p><p>  file.write((char *)&read[i],sizeof(read[i])); </p><p>  file.close(); </p><p><b>  }

47、</b></p><p><b>  }; </b></p><p>  void RDatabase::readerdata() </p><p><b>  { </b></p><p>  char choice; </p><p>  char rname

48、[20]; </p><p>  int readerid; </p><p>  Reader *r; </p><p>  while (choice!='0') </p><p><b>  { </b></p><p>  cout <<"\n\n\t

49、\t\t讀 者 維 護\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 刪 除\n\n\t\t 4 查 找\n\n\t\t 5 顯 示\n\n\t\t 6 全 刪\n\n\t\t 0 退 出"<<endl; //輸出子菜單</p><p>  cin >> choice; </p><p>  switch (choi

50、ce) </p><p><b>  { </b></p><p>  case '1': </p><p>  cout << "輸入讀者學號:"; </p><p>  cin >> readerid; //輸入讀者編號</p>&

51、lt;p>  cout << "輸入讀者姓名:"; </p><p>  cin >> rname; //輸入讀者姓名</p><p>  addreader (readerid,rname); </p><p><b>  break; </b></p><p>

52、  case '2': </p><p>  cout << "輸入讀者學號:"; </p><p>  cin >> readerid; //輸入讀者編號</p><p>  r=query(readerid); </p><p>  if (r==NULL) <

53、/p><p><b>  { </b></p><p>  cout << " 該讀者不存在 "<<endl; </p><p><b>  break; </b></p><p><b>  } </b></p><

54、p>  cout << "輸入新的姓名:"; </p><p>  cin >> rname; </p><p>  r->setname(rname); </p><p><b>  break; </b></p><p>  case '3':

55、</p><p>  cout << " 輸入讀者學號:"; </p><p>  cin >> readerid; </p><p>  r=query(readerid); </p><p>  if (r==NULL) </p><p><b>  { <

56、;/b></p><p>  cout <<" 該讀者不存在" << endl; </p><p><b>  break; </b></p><p><b>  } </b></p><p>  r->delbook(); </p>

57、;<p><b>  break; </b></p><p>  case '4': </p><p>  cout << "讀入讀者學號:"; </p><p>  cin >> readerid; </p><p>  r=query(read

58、erid); </p><p>  if (r==NULL) </p><p><b>  { </b></p><p>  cout <<"該讀者不存在"<< endl; </p><p><b>  break; </b></p><

59、;p><b>  } </b></p><p>  r->disp(); </p><p><b>  break; </b></p><p>  case '5': </p><p><b>  disp(); </b></p>&l

60、t;p><b>  break; </b></p><p>  case '6': </p><p><b>  clear(); </b></p><p><b>  break; </b></p><p>  default:cout<<&

61、quot;輸入錯誤,請重新輸入:";break; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  class Book //定義Book類</p>

62、<p><b>  { </b></p><p><b>  private: </b></p><p>  int price;</p><p>  char author[10];</p><p><b>  int tag;</b></p>&l

63、t;p><b>  int no;</b></p><p>  char name[20];</p><p>  int onshelf; </p><p><b>  public: </b></p><p><b>  Book(){} </b></p>

64、<p>  char *getname() { return name; }</p><p>  int getno(){ return no; }</p><p>  int gettag(){ return tag; }</p><p>  char*getauthor(){return author;}</p><p>  

65、char getprice(){return price;}</p><p>  void setname(char na[]) </p><p><b>  { </b></p><p>  strcpy(name,na); </p><p><b>  } </b></p><

66、;p>  void setauthor(char au[])</p><p><b>  {</b></p><p>  strcpy(author,au);}</p><p>  void delbook(){ tag=1;} </p><p>  void addbook(int n,char *na,char

67、*au,int pr)</p><p><b>  { </b></p><p><b>  tag=0; </b></p><p><b>  no=n; </b></p><p><b>  price=pr;</b></p><p

68、>  strcpy(author,au);</p><p>  strcpy(name,na); </p><p>  onshelf=1; </p><p><b>  } </b></p><p>  int borrowbook()</p><p><b>  { </

69、b></p><p>  if (onshelf==1) </p><p><b>  { </b></p><p>  onshelf=0; </p><p>  return 1; </p><p><b>  } </b></p><p>

70、  return 0; </p><p><b>  } </b></p><p>  void retbook()</p><p><b>  { </b></p><p>  onshelf=1; </p><p><b>  } </b></

71、p><p>  void disp()</p><p><b>  { </b></p><p>  cout << setw(6)<< "圖書編號: " << no << setw(18) <<"圖書名: "<< name <&l

72、t; setw(10) <<"作者名: "<<author<<setw(18)<<"圖書單價: "<<price<<setw(10)</p><p>  <<(onshelf==1? "在架":"已借") <<endl; </p&g

73、t;<p><b>  } </b></p><p><b>  }; </b></p><p>  class BDatabase //定義BDatabase類</p><p><b>  { </b></p><p><b>  priv

74、ate: </b></p><p>  int top; </p><p>  Book book[Maxb]; </p><p><b>  public: </b></p><p>  BDatabase()</p><p><b>  { </b><

75、/p><p><b>  Book b; </b></p><p><b>  top=-1; </b></p><p>  fstream file("book.txt",ios::in); </p><p>  while (1) </p><p><

76、;b>  { </b></p><p>  file.read((char *)&b,sizeof(b)); </p><p>  if (!file) break; </p><p><b>  top++; </b></p><p>  book[top]=b; </p>&l

77、t;p><b>  } </b></p><p>  file.close(); </p><p><b>  } </b></p><p>  void clear()</p><p><b>  { </b></p><p><b>

78、  top=-1; </b></p><p><b>  } </b></p><p>  int addbook(int n,char *na,char*au,int pr)</p><p><b>  { </b></p><p>  Book *p=query(n); </p

79、><p>  if (NULL==p) </p><p><b>  { </b></p><p><b>  top++; </b></p><p>  book[top].addbook(n,na,au,pr); </p><p>  return 1; </p>

80、<p><b>  } </b></p><p>  return 0; </p><p><b>  } </b></p><p>  Book *query(int bookid)</p><p><b>  { </b></p><p&g

81、t;  for (int i=0;i<=top;i++) </p><p>  if (book[i].getno()==bookid &&book[i].gettag()==0) </p><p><b>  { </b></p><p>  return &book[i]; </p><p&

82、gt;<b>  } </b></p><p>  return NULL; </p><p><b>  } </b></p><p>  void bookdata();</p><p>  void disp() </p><p><b>  { </b

83、></p><p>  for (int i=0;i<=top;i++) </p><p>  if (book[i].gettag()==0) </p><p>  book[i].disp(); </p><p><b>  } </b></p><p>  ~BDatabase(

84、)</p><p><b>  { </b></p><p>  fstream file("book.txt",ios::out); //使文件流與book.txt文件建立關聯(lián)</p><p>  for (int i=0;i<=top;i++) </p><p>  if (book

85、[i].gettag()==0) </p><p>  file.write((char *)&book[i],sizeof(book[i])); </p><p>  file.close(); </p><p><b>  } </b></p><p><b>  }; </b><

86、/p><p>  void BDatabase::bookdata() </p><p><b>  { </b></p><p>  char choice; </p><p>  char bauthor[10];</p><p>  int bprice;</p><p>

87、;  char bname[40]; </p><p>  int bookid; </p><p><b>  Book *b; </b></p><p>  while (choice!='0') </p><p><b>  { </b></p><p>

88、;  cout <<"\n\n\n\t\t\t圖 書 維 護 "<<endl<<endl; </p><p>  cout<<"\t\t1 新 增\n \t\t2 更 改\n\t\t3 刪 除\n\t\t4 查 找\n\t\t5 顯 示\n\t\t6 全 刪\n\t\t0 退 出"<<endl; //輸出

89、子菜單</p><p>  cin >> choice; </p><p>  switch (choice) </p><p><b>  { </b></p><p>  case '1': </p><p>  cout << "輸入圖書編號

90、:"<<endl; </p><p>  cin >> bookid; </p><p>  cout << "輸入圖書書名:"<<endl; </p><p>  cin >> bname; cout<<" 輸入作者名:";</p>

91、<p>  cin>>bauthor;</p><p>  cout<<"輸入價格:";</p><p>  cin>>bprice;</p><p>  addbook(bookid,bname,bauthor,bprice);</p><p>  break;

92、//結束循環(huán)</p><p>  case '2': </p><p>  cout << "輸入圖書編號:"<<endl; </p><p>  cin >> bookid; </p><p>  b=query(bookid); </p><p&g

93、t;  if (b==NULL) </p><p><b>  { </b></p><p>  cout << " 該圖書不存在 "<<endl; </p><p><b>  break; </b></p><p><b>  } </

94、b></p><p>  cout << "輸入新的書名:"<<endl; </p><p>  cin >> bname; </p><p>  b->setname(bname); </p><p><b>  break; </b></p&g

95、t;<p>  case '3': </p><p>  cout <<" 讀入圖書編號:"<<endl; </p><p>  cin >> bookid; </p><p>  b=query(bookid); </p><p>  if (b==NUL

96、L) </p><p><b>  { </b></p><p>  cout <<" 該圖書不存在" << endl; </p><p><b>  break; </b></p><p><b>  } </b></p>

97、;<p>  b->delbook(); </p><p><b>  break; </b></p><p>  case '4': </p><p>  cout << " 讀入圖書編號:"<<endl; </p><p>  cin &

98、gt;> bookid; </p><p>  b=query(bookid); </p><p>  if (b==NULL) </p><p><b>  { </b></p><p>  cout <<" 該圖書不存在"<< endl; </p>&l

99、t;p><b>  break; </b></p><p><b>  } </b></p><p>  b->disp(); </p><p><b>  break; </b></p><p>  case '5': </p>&l

100、t;p><b>  disp(); </b></p><p><b>  break; </b></p><p>  case '6': </p><p><b>  clear(); </b></p><p><b>  break; <

101、/b></p><p>  default:cout<<"輸入錯誤,請從新輸入:"; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p>&l

102、t;p>  void main() //主函數(shù)</p><p><b>  { </b></p><p>  char choice; </p><p>  int bookid,readerid; </p><p>  RDatabase ReaderDB; </p><p> 

103、 Reader *r; </p><p>  BDatabase BookDB; </p><p><b>  Book *b; </b></p><p>  while(choice!='0') </p><p><b>  { </b></p><p> 

104、 cout <<endl<<endl<<"\t\t\t 圖 書 管 理 系 統(tǒng)\n\n\n"; </p><p>  cout <<"\t\t\t1 借 書\n\n\t\t\t2 還 書 \n\n\t\t\t3 圖 書 維 護\n\n\t\t\t4 讀 者 維 護\n\n\t\t\t0 離 開"<<endl;

105、 //輸出主菜單</p><p>  cin >> choice; </p><p>  switch (choice) </p><p><b>  { </b></p><p>  case '1': </p><p>  cout <<"

106、借書 讀者學號:"; </p><p>  cin >>readerid; </p><p>  cout <<" 圖書編號: "; </p><p>  cin >>bookid; </p><p>  r=ReaderDB.query(readerid);</p>

107、;<p>  if (NULL==r) </p><p><b>  { </b></p><p>  cout <<" 不存在該讀者,不能借書"<< endl; </p><p><b>  break; </b></p><p><

108、b>  } </b></p><p>  b=BookDB.query(bookid); </p><p>  if (b==NULL) </p><p><b>  { </b></p><p>  cout <<" 不存在該圖書,不能借書"<< endl;

109、 </p><p><b>  break; </b></p><p><b>  } </b></p><p>  if (b->borrowbook()==0) </p><p><b>  { </b></p><p>  cout <

110、< " 該圖書已借出,不能借書"<< endl; </p><p><b>  break; </b></p><p><b>  } </b></p><p>  r->borrowbook(b->getno()); </p><p><b&

111、gt;  break; </b></p><p>  case '2': </p><p>  cout<<"還書\n 讀者學號:"; </p><p>  cin >>readerid; </p><p>  cout << " 圖書編號:&quo

112、t;; </p><p>  cin >>bookid; </p><p>  r=ReaderDB.query(readerid); </p><p>  if (r==NULL) </p><p><b>  { </b></p><p>  cout <<"

113、 不存在該讀者,不能還書" << endl; </p><p><b>  break; </b></p><p><b>  } </b></p><p>  b=BookDB.query(bookid); </p><p>  if (b==NULL) </p>

114、<p><b>  { </b></p><p>  cout <<" 不存在該圖書,不能還書" <<endl; </p><p><b>  break; </b></p><p><b>  } </b></p><p&

115、gt;  b->retbook(); </p><p>  r->retbook(b->getno()); </p><p><b>  break; </b></p><p>  case '3': </p><p>  BookDB.bookdata(); </p>&

116、lt;p><b>  break; </b></p><p>  case '4': </p><p>  ReaderDB.readerdata(); </p><p><b>  break; </b></p><p>  default:cout<<"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論