ImageVerifierCode 换一换
格式:DOC , 页数:34 ,大小:198.54KB ,
资源ID:3034490      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3034490.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C图书标准管理系统代码.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C图书标准管理系统代码.doc

1、      部分基础功效:    1:添加图书和图书编号    2:能够实施基础借书还还书功效。    3:  删除图书信息等  #include #include #include #include //输入/输出文件流类 using namespace std; const int Maxr=100;//最多读者 const int Maxb=100;//最多图书 const int Maxzf=5;//每位读者最多借五本书 //读者类,实现对读者信息描述 class Reader 

2、      {       private:  int tag;  //删除标识 1:已删 0:未删  int no;   //读者编号  char name[10];  //读者姓名  int zfbook[Maxzf];//所借图书     public:   Reader() {}      char *getname() {return name;}      //获取姓名   int gettag() {return tag;}         //获取删除标识      int getno() {return no;}           //获取读者编号

3、      void setname(char na[])            //设置姓名   {      strcpy(name,na);       }  void delbook(){  tag=1;  }//设置删除标识 1:已删 0:未删  void addreader(int n,char *na)//增加读者  {   tag=0;   no=n;   strcpy(name,na);   for(int i=0;i

4、书操作  {   for(int i=0;i

5、void disp()//读出读者信息  {   cout << setw(5) << no <

6、//读者统计 public:  RDatabase()   //结构函数,将reader.txt读到read[]中  {   Reader s;   top=-1;   fstream file("reader.txt",ios::in);//打开一个输入文件   while (1)   {    file.read((char *)&s,sizeof(s));    if (!file)break;    top++;    read[top]=s;   }   file.close();     //关闭 reader.txt  }     void cle

7、ar()//删除全部读者信息  {   top=-1;  }  int addreader(int n,char *na)//添加读者时先查找是否存在  {   Reader *p=query(n);   if (p==NULL)   {     top++;     read[top].addreader(n,na);     return 1;   }   return 0;  }  Reader *query(int readerid)//按编号查找  {   for (int i=0;i<=top;i++)    if (read[i].getno(

8、)==readerid &&    read[i].gettag()==0)    {     return &read[i];    }    return NULL;  }  void disp()  //输出全部读者信息  {            for (int i=0;i<=top;i++)       read[i].disp();  }  void readerdata();//读者库维护  ~RDatabase()  //析构函数,将read[]写到reader.txt文件中  {   fstream file("reader.txt",ios

9、out);         for (int i=0;i<=top;i++)    if (read[i].gettag()==0)     file.write((char *)&read[i],sizeof(read[i]));    file.close();  } }; void RDatabase::readerdata() {     char choice;  char rname[20];  int readerid;  Reader *r;  while (choice!='0')  {         cout <<"\n\n\t\t\t读

10、   者   维   护\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   退      出"<> choice;   switch (choice)   {             case '1':     cout << "输入读者编号:";     cin >> readerid;     cout << "输入读者姓

11、名:";     cin >> rname;     addreader (readerid,rname);     break;             case '2':     cout << "输入读者编号:";     cin >> readerid;     r=query(readerid);     if (r==NULL)     {      cout << " 该读者不存在  "<> rname;     r->setname

12、rname);      break;             case '3':         cout << " 输入读者编号:";                     cin >> readerid;      r=query(readerid);      if (r==NULL)      {          cout <<" 该读者不存在" << endl;          break;      }      r->delbook();      break;    case '4':     cout << "读入读者编号:";    

13、 cin >> readerid;     r=query(readerid);     if (r==NULL)     {      cout <<"该读者不存在"<< endl;      break;     }     r->disp();     break;    case '5':     disp();     break;    case '6':     clear();     break;    default:cout<<"输入错误,请从新输入:";break;   }  } }     //图书类,实现对图书描述,图书

14、编号,书名,借出,还入等 class Book { private:     int tag;//删除标识 1:已删 0:未删  int no;//图书编号  char name[20];//书名  int onshelf;//是否再架 1:再架 2:已借 public:  Book(){}  char *getname() { return name; }//获取姓名  int getno(){ return no; }//获取图书编号  int gettag(){ return tag; }//获取删除标识  void setname(char na[])//设置

15、书名  {   strcpy(name,na);  }  void delbook(){ tag=1;}//删除图书  void addbook(int n,char *na)//增加图书  {   tag=0;   no=n;   strcpy(name,na);   onshelf=1;  }  int zfrowbook()//借书操作  {   if (onshelf==1)   {    onshelf=0;    return 1;   }   return 0;  }  void retbook()//还书操作  {   onshel

16、f=1;  }  void disp()//输出图书  {   cout << setw(6) << no << setw(18) << name << setw(10)    <<(onshelf==1? "在架":"已借") <

17、中  {    Book b;    top=-1;    fstream file("book.txt",ios::in);    while (1)    {     file.read((char *)&b,sizeof(b));     if (!file) break;     top++;     book[top]=b;    }    file.close();  }     void clear()//全删  {   top=-1;  }     int addbook(int n,char *na)//增加图书  {   Book

18、p=query(n);   if (NULL==p)   {    top++;    book[top].addbook(n,na);    return 1;   }   return 0;  }  Book *query(int bookid)//查找图书  {   for (int i=0;i<=top;i++)    if (book[i].getno()==bookid &&book[i].gettag()==0)    {      return &book[i];    }    return NULL;  }  void bookdata

19、);//图书库维护  void disp()  {    for (int i=0;i<=top;i++)     if (book[i].gettag()==0)      book[i].disp();  }  ~BDatabase()//析构函数,将book[]写到book.txt文件中  {   fstream file("book.txt",ios::out);         for (int i=0;i<=top;i++)    if (book[i].gettag()==0)     file.write((char *)&book[i],sizeof

20、book[i]));    file.close();  } }; void BDatabase::bookdata() {     char choice;  char bname[40];  int bookid;  Book *b;  while (choice!='0')  {   cout <<"\n\n\n\t\t\t图  书  维  护 "<

21、n\t\t6   全     删\n\t\t0   退     出"<> choice;   switch (choice)   {             case '1':     cout << "输入图书编号:"<> bookid;                 cout << "输入图书书名:"<> bname;     addbook(bookid,bname);     break;             case '2':     cout << "输入图书编

22、号:"<> bookid;     b=query(bookid);     if (b==NULL)     {      cout << " 该图书不存在  "<> bname;     b->setname(bname);      break;             case '3':         cout <<" 读入图书编号:"<

23、 >> bookid;      b=query(bookid);      if (b==NULL)      {          cout <<" 该图书不存在" << endl;          break;      }      b->delbook();      break;    case '4':     cout << "  读入图书编号:"<> bookid;     b=query(bookid);     if (b==NULL)     {      cout <<"  该图书不存在"<< endl;

24、      break;     }     b->disp();     break;    case '5':     disp();     break;    case '6':     clear();     break;    default:cout<<"输入错误,请从新输入:";   }  } }   //main() 函数实现,程序主界面引导 void main() {     char choice;  int bookid,readerid;  RDatabase ReaderDB;  Reader *r;  BDatab

25、ase BookDB;  Book *b;  while(choice!='0')  {          cout <> choice;    switch (choice)    {

26、    case '1':     cout <<"  借书 读者编号:";     cin >>readerid;     cout <<"  图书编号: ";     cin >>bookid;     r=ReaderDB.query(readerid);//按编号查找     if (NULL==r)     {      cout <<"  不存在该读者,不能借书"<< endl;      break;     }     b=BookDB.query(bookid);     if (b==NULL)     {      cout <<"  不存在该

27、图书,不能借书"<< endl;      break;     }     if (b->zfrowbook()==0)     {      cout << "  该图书已借出,不能借书"<< endl;      break;     }     r->zfrowbook(b->getno());     break;    case '2':     cout<<"还书\n 读者编号:";     cin >>readerid;     cout << "   图书编号:";     cin >>bookid;     r=ReaderDB.query(r

28、eaderid);     if (r==NULL)     {      cout <<" 不存在该读者,不能还书" << endl;      break;     }     b=BookDB.query(bookid);     if (b==NULL)     {      cout <<"  不存在该图书,不能还书" <retbook();     r->retbook(b->getno());     break;    case '3':      BookDB.bookdata()

29、      break;    case '4':         ReaderDB.readerdata();         break;    default:cout<<"输入错误,请从新输入:";    }  } } 1、类设计 Book类设计: Book Name[strNum]:char number[strNum]:char kind[type]:char int tag;int num;int add Book() {} getkind():char getname():char getnum():int get

30、tag():int setnumber(char num[]):void setname(char na[]):void setkind(char kin[]):void delbook():void addbook(int n,char *na,char *kin):void disp():void (1)数据组员 char name[StrNum]; 用来存放书名。 char number[StrNum]; 用来存放图书编号。 char kind[Type]; 用来存放图书类型。 int tag; 定义删除标识。 int num; 定义图书编号为整形。

31、 int add; 增加标识。 (2)函数组员 Book(){} 无参结构函数,用于为书名和作者姓名设置默认值。 char getkind() 用于获取图书类型。 char getname() 用于获取书名。 int getnum() 用于获取图书编号。 int gettag() 用于获取删除标识。 void setname(char na[]) 用于设置书名。 void setkind(char kin[]) 用于设置类型。 v

32、oid delbook() 用于删除图书。 void addbook(int n,char *na,char *kin) 用于增加图书。 void disp() 用于输出图书。 2.主程序设计: (1)函数设计: class BDatabase{} 图书管理类设置,实现对图书添加,查找,删除等。 int top; 设置图书统计指针。 Book book[Maxb]; 设置图书统计(Maxb定义为最多可存放图书数,定义为整形)。 void clear() 清空图书统计。 int addboo

33、k(int n,char *na,char *kin) 增加图书统计。 Book *query(int bookid) 查找图书统计。 void bookdata(); 定义图书库。 void disp() 输出。 ~BDatabase() 设置析构函数,将book[]写到book.txt文件中 void BDatabase::bookdata() 由此函数开始对图书管理系统主菜单进行调用和功效实现。(界面参看实施界面部分) 最终用main() 函数实现,程序主界面

34、引导 3. 源代码分析: /*****************************************************************************************/ #define StrNum 20 #define Type 20 #include #include #include #include //输入/输出文件流类 using namespace std; const int Maxb=100;

35、 //最多可存放图书 class Book { private: int tag; //删除标识 int num; //图书编号 int add; //增加标识 char number[StrNum]; //编号 char name[StrNum]; //书名 char kind[Type]; //图书类型 public

36、 Book(){} char getkind() //获取图书类型 { return kind[Type]; } char getname() //获取书名 { return name[StrNum]; } int getnum() //获取图书编号 { return num; } int gettag()

37、 //获取删除标识 { return tag; } void setname(char na[]) //设置书名 { strcpy(name,na); } void setkind(char kin[]) //设置类型 { strcpy(kind,kin); } void delbook() //删除图书 { tag=1; } void addbook(int n,char *na,char *kin) //增加图书 {

38、 tag=0; num=n; strcpy(name,na); strcpy(kind,kin); } void disp() //输出图书 { cout.flags (ios::left); //设置对齐标志位为左 cout<

39、/ class BDatabase { private: int top; //图书统计指针 Book book[Maxb]; //图书统计 public: BDatabase() //结构函数,将book.txt读到book[]中 { Book b; top=-1; fstream file("book.txt",ios::in); while (1) { f

40、ile.read((char *)&b,sizeof(b)); if (!file) break; top++; book[top]=b; } file.close(); } void clear() //全删 { top=-1; } int addbook(int n,char *na,char *kin) //增加图书 { Book *p=query(n); if(NULL==p) { top++; book[top].addb

41、ook(n,na,kin); return 1; } return 0; } Book *query(int bookid) //查找图书 { for (int i=0;i<=top;i++) if (book[i].getnum()==bookid &&book[i].gettag()==0) { return &book[i]; } return NULL; } void bookdata(); //图书库 void disp() { fo

42、r (int i=0;i<=top;i++) if (book[i].gettag()==0) book[i].disp(); } ~BDatabase() //析构函数,将book[]写到book.txt文件中 { fstream file("book.txt",ios::out); for (int i=0;i<=top;i++) if (book[i].gettag()==0) file.write((char *)&book[i],sizeof(book[i]));

43、 file.close(); } }; void BDatabase::bookdata() { char choice; char bname[40]; char bkind[40]; char newType[20]; int bookid; Book *b; while (choice!='0') { cout<<"\t******************************************************************\n"; cout<<"

44、 \n\n"; cout<<"\t\t\t图 书 管 理 系 统\n\n"; cout<<"\t\t\t1 新增图书统计\n"; cout<<"\t\t\t2 更改图书统计\n"; cout<<"\t\t\t3 删除图书统计\n"; cout<<"\t\t\t4 查找图书统计\n"; cout<<"\t\t\t5 显示图书统计\n"; cout<<"\t\t\t6 清空全部统计(慎用)\n"; cout<<"\t\t\t0 退出系统

45、\n"; cout<<" \n\n"; cout<<"\t******************************************************************\n"; cout<<"请选择(1,2,3,4,5,6,0):"; cin>>choice; switch (choice) { case '1': cout<<"输入图书编号:"<>bookid;

46、cout<<"输入图书类型:"<>newType; cout<<"输入图书书名:"<>bname; addbook(bookid,bname,newType); break; case '2': cout<<"输入图书编号:"<>bookid; b=query(bookid); if(b==NULL) { cout<<"该图书不存在"<

47、reak; } cout<<"输入新书名:"<>bname; b->setname(bname); cout<<"输入新类型:"<>bkind; b->setkind(bkind); break; case '3': cout<<"读入图书编号:"<>bookid; b=query(bookid); if(b==NULL) { cout<

48、<"该图书不存在"<>tg1; if(tg1!='n'&&tg1!='N') { b->delbook(); cout<<"已成功删除该书统计!"<>bookid; b=query(book

49、id); if (b==NULL) { cout<<"该图书不存在"<disp(); break; case '5': cout<<"图书编号 图书名称 图书类型 \n"; disp(); break; case '6': char tg2; cou

50、t<<"确定要清空全部统计吗?(Y/N)"<>tg2; if(tg2!='n'&&tg2!='N') { clear(); cout<<"已成功清空统计!"<

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服