c++图书管理系统源代码_第1页
c++图书管理系统源代码_第2页
c++图书管理系统源代码_第3页
c++图书管理系统源代码_第4页
c++图书管理系统源代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#includeiostream。hinclude<fstream.h>#include<iomanip.h>#includestring.h/using namespace std;const int Maxb=10000;      /最多的图书const int Maxr=100;        /最多的读者const int Maxbor=5;        /每位读者最多借

2、五本书/-class Book          /图书类       int tag;        /删除标记 1:已删 0:未删       int no;       /图书编号      

3、char name20;       /书名       char author10;     /作者名       char no210;      /输入分类号       char dan20;     /输入出版单位

4、60;      char time20;      /出版时间       int     price;         /价格       int onshelf;      /是否在架1:在架0:已借pu

5、blic:       Book()       char *getname()return name;      /获取书名       int      getno()return no;       /获取图书编号   &#

6、160;   int      gettag()return tag;     /获取删除标记       char getauthor()return author;      /获取作者名       char *getno2()return no2;     &#

7、160;     /获取分类号       char *getdan()return dan;          /获取出版单位       char *gettime()return time;       /获取出版时间     

8、60; int      getprice()return price;        /获取图书价格       void     setname(char na)strcpy(name,na);      /设置书名       void  &#

9、160;  setauthor(char au)strcpy(author,au); /设置作者名       void     setno2(char n)strcpy(no2,n);       /设置分类号       void     setdan(char d)strcpy(dan,d);  

10、60;   /设置出版单位       void     settime(char t)strcpy(time,t);     /设置出版时间void     setprice(int p)price=p;       void     delbook()tag=1;  

11、0;   /删除图书 1:已删 0:未删       void     addbook(int n,char*na,charau,char*n2,charda,charti,int pr)/增加图书                        &#

12、160; tag=0;               no=n;               price=pr;               strcpy(name,na);

13、0;              strcpy(author,au);               strcpy(no2,n2);               strcpy(dan,da);&

14、#160;              strcpy(time,ti);               onshelf=1;                  int bor

15、rowbook()      /借书操作                          if(onshelf=1)                

16、                          onshelf=0;                       return 1;&#

17、160;                                 return 0;                  v

18、oid retbook()onshelf=1;      /还书操作       void disp()      /输出图书                          cout<set

19、w(10)no<setw(10)<<name<setw(10)<<setw(10)               <authorsetw(10)<no2<setw(10)dan<setw(10)<time               <<set

20、w(10)<price;      if(onshelf=1)cout<setw(10)<<"在架";      else cout<setw(10)”已借出”<endl;           ;/-class     BDatabase      /图

21、书库类       int top;      /图书数量记录指针       Book bookMaxb;      /图书记录public:       BDatabase()     /构造函数,将book。txt读到book中    

22、;              Book b;           top=-1;           fstream file("book.txt”,ios::in);        

23、60;  while(1)                                  file。read(char*)&b,sizeof(b));         

24、          if(!file)break;                   top+;                   booktop

25、=b;                          file.close();              void clear()top=-1;      /全删  

26、;     int addbook(int n,charna,charau,char*n2,charda,charti,int pr)/增加图书                          Book *p=query(n);/调用函数      

27、0;        if(p=NULL)                                  top+;       

28、0;           booktop.addbook(n,na,au,n2,da,ti,pr);                   return 1;             

29、0;                return     0;                  Book query(int bookid)      /查找图书    

30、;                      for(int i=0;i<=top;i+)                          &

31、#160;               if(booki。getno()=bookid&&booki.gettag()=0)                       return   

32、60; &booki;                                  return     NULL;         &

33、#160;        Book query2(int bookid,char *name)/按书名查找图书                          for(int i=0;i=top;i+)        

34、                          if(strcmp(booki.getname(),name)=0)                    

35、                              bookid=booki.getno();                  &

36、#160;        return &booki;                                        

37、0;            return NULL;                  Book *query3(int bookid,char author) /按作者查找图书             

38、60;            for(int i=0;i<=top;i+)                                  if(strcmp(b

39、ooki.getauthor(),author)=0)                                          bookid=booki。getno(); 

40、0;                     return booki;                            &

41、#160;                    return NULL;                  void     bookdata();      /图书库

42、维护       void disp()     /输出图书                          cout<<setw(10)<<"图书编号”<setw(10)<"图书名字"

43、60;              <setw(10)<<"图书作者”setw(10)"图书分类”               setw(10)<"出版单位"<<setw(10)<<"出版时间"  

44、60;            <<setw(10)<<”价格"setw(10)”借还信息”<endl;               for(int i=0;i<=top;i+)          

45、0;                       if(booki.gettag()=0)                   booki.disp();    

46、0;                            BDatabase()      /析构函数,将book写入book.txt文件中              

47、            fstream file(”book。txt",ios::out);               for(int i=0;i<=top;i+)              

48、                    if(booki.gettag()=0)                   file。write(char*)booki,sizeof(booki);    

49、                           file.close();           ;void     BDatabase:bookdata() int bookid;  

50、    /图书编号char bname40; /图书名char bauthor10; /图书作者char bno220; /图书分类char bdan20; /出版单位char btime20; /出版时间int bprice; /图书价格Book      b;       int choice=1;int choice2=1;int choice3=1;       while(choice!

51、=0)                  cout"ttt图书信息维护n";           cout<"ttt1.添加信息n”;           cout<<"ttt2.修

52、改信息n";           cout<<”ttt3.删除信息n";           cout"ttt4。信息查询n”;           cout<"ttt5。显示信息n”;    

53、0;      cout<”ttt6.全部删除n”;           cout"ttt0.退出图书信息维护n";           cout”请选择:"           cinchoice; &

54、#160;         switch(choice)                       case 1:               cout"添加图书操作:

55、n”;        cout<"请输入图书编号:”;        cin>>bookid;        cout<<”请输入书名:”;        cinbname;        cout"

56、请输入图书作者:";        cin>>bauthor;        cout<<"请输入图书分类:";        cin>bno2;        cout"请输入出版单位:”;     

57、;   cin>>bdan;        cout<"请是输入出版时间:"        cin>btime;        cout<<"请输入图书价格:";        cin>>bprice; 

58、;       addbook(bookid,bname,bauthor,bno2,bdan,btime,bprice);        cout"图书编号”bookid<<"添加成功n”;        break;              &

59、#160;         case 2:               cout”修改图书信息操作:n"        cout<”请输入图书编号:”;        cin>>bookid;  

60、60;     b=query(bookid);        if(b=NULL)                 cout<<”图书不存在,无法修改n”;         break;     

61、           cout<"请输入要更改的:1.书名 2。作者名 3。分类 4。出版单位 5。出版时间 6。图书价格”;        cin>>choice2;        switch(choice2)           

62、60;    case 1:                   cout<"请输入书名:”;          cin>bname;          b->setname(bname);&

63、#160;         cout"修改书名成功n";          break;                 case 2:           &

64、#160;       cout<<”请输入作者名:"          cin>>bauthor;          b-setauthor(bauthor);          cout<"修改作者名成功n"

65、;          break;                 case 3:                   cout"请输入分类号:”;  

66、0;       cin>bno2;          b>setno2(bno2);          cout<"修改分类成功n";          break;     &#

67、160;           case 4:                   cout<”请输入出版单位:”;          cin>bdan;       &

68、#160;  b->setdan(bdan);          cout”修改出版单位成功n"          break;                 case 5:     

69、0;             cout<<”请输入出版时间:";          cin>>btime;          b->settime(btime);         

70、 cout<"修改出版时间成功n”;          break;                 case 6:                   cout"

71、请输入图书价格:”;          cin>>bprice;          b>setprice(bprice);          cout"修改图书价格成功n"          break

72、;                         break;                   case 3:        

73、0;      cout<"删除图书操作:n”;        cout<”请输入图书编号:”;        cin>>bookid;        b=query(bookid);        if(b=NULL)cout&quo

74、t;不存在该图书,无法删除n”;        b>delbook();        cout<”删除图书成功n”;        break;                   case 4: 

75、;              cout<"图书信息查询操作:n”;        cout”1。按图书编号查询 2。按图书作者查询 3.按图书名字查询n”;        cout<”请选择查询方式:”;        cin>choice3;        switch(choice3)              

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论