C++实现简易图书馆管理系统的代码怎么写

C++实现简易图书馆管理系统的代码怎么写

这篇文章主要讲解了“C++实现简易图书馆管理系统的代码怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++实现简易图书馆管理系统的代码怎么写”吧!

思路

在本程序中共有四个类:

book类:此类有书的基本信息:书名,编号,作者,价格等,和基本的get()和set()方法。类图如下:

library类:此类中有一个存放的书的数组,并且可以对书进行,查询,借阅,归还,添加,等相关操作。类图如下:

reader_infor类:此类中有读者的相关信息:名字,学号,年级,借书数量。和基本的get()和set()方法,类图如下:

reader_admin类:此类中有一个存放读者对象的数组,并且可以进行添加读者,修改读者信息等操作。类图如下:

登陆页面如下

读者页面

管理员页面

在本程序过程中的不足:

1.书和读者的存储是通过静态数组实现的,如果用动态数组的话更好一点。
2.还有一些其他点感觉写的不是很好,但还不知道要怎么改。
后面有时间会再完善一下。

代码

“book.h"

#pragmaonce#includeusingnamespacestd;classbook{public:book();book(stringname,intn_number,ints_number,intid,stringauthor,doubleprice);//get方法stringget_name();intget_n_number();intget_s_number();intget_id();stringget_author();doubleget_price();//set方法voidset_name(stringname);voidset_n_number(intn_number);voidset_s_number(ints_number);voidset_id(intid);voidset_author(stringauthor);voidset_price(doubleprice);private:stringname;//名称intn_number;//现有数量ints_number;//库存数量intid;//编号stringauthor;//作者doubleprice;//价格};

"book.cpp"

#include"book.h"book::book(){name="";n_number=0;s_number=0;id=0;author="";price=0;}book::book(stringname,intn_number,ints_number,intid,stringauthor,doubleprice){this->name=name;this->n_number=n_number;this->s_number=s_number;this->id=id;this->author=author;this->price=price;}//get方法。stringbook::get_name(){returnname;}intbook::get_n_number(){returnn_number;}intbook::get_s_number(){returns_number;}intbook::get_id(){returnid;}stringbook::get_author(){returnauthor;}doublebook::get_price(){returnprice;}//set方法。voidbook::set_name(stringname){this->name=name;}voidbook::set_n_number(intn_number){this->n_number=n_number;}voidbook::set_s_number(ints_number){this->s_number=s_number;}voidbook::set_id(intid){this->id=id;}voidbook::set_author(stringauthor){this->author=author;}voidbook::set_price(doubleprice){this->price=price;}

"library.h"

#pragmaonce#include"reader_admin.h"#include"book.h"usingnamespacestd;classlibrary{public:library();intget_m();//返回存放书的总数量intget_place();//返回查找到书的位置voidset_book1();//存放书籍voidshow_book();//显示书籍的相关信息boolsearch();//查找书籍//修改书的相关信息boolchang_book1();boolborrow_book(reader_admin&r_ad);//借书boolreturn_book(reader_admin&r_ad);//还书private:intm;//存放书的总数。intplace;//记录查找到书的位置。bookbook1[1000];//一个存放1000本书的数组。};

librayry.cpp

#include"library.h"#include"book.h"//book类作为书籍的基类//书共有的属性:名称,现有数量,库存数量,编号,作者,价格library::library(){m=0;}intlibrary::get_m(){returnm;}intlibrary::get_place(){returnplace;//返回查找到书的位置。}voidlibrary::set_book1(){cout<<"请输入书的名称:"<>name;cout<<"请输入书的现存数量:"<>now;cout<<"请输入书的库存数量:"<>s;cout<<"请输入书的编号:"<>id;cout<<"请输入书的作者:"<>author;cout<<"请输入书的价格:"<>price;bookb(name,now,s,id,author,price);this->book1[m]=b;m++;cout<<"恭喜您完成书的存储!"<>id;for(inti=0;i>r_id;if(r_ad.sreach_id(r_id)==true)//判断输入的学号是否存在{chard='';do{intid;cout<<"请输入您借阅书籍的ID:"<>id;for(inti=0;i>d;}while(d=='Y'||d=='y');returnfalse;}cout<<"您输入的学号不存在!"<>c;}while(c=='Y'||c=='y');returnfalse;}boollibrary::return_book(reader_admin&r_ad){charc='';do{cout<<"请输入您的学号:"<>r_id;if(r_ad.sreach_id(r_id)==true)//判断输入的学号是否存在{chard='';do{intid;cout<<"请输入您借阅书籍的ID:"<>id;for(inti=0;i>d;}while(d=='Y'||d=='y');returnfalse;}cout<<"您输入的学号不存在!"<>c;}while(c=='Y'||c=='y');returnfalse;}//修改书的相关信息boollibrary::chang_book1(){charc='';chard='';do{cout<<"请输入您要修改信息书的id:"<>id;for(inti=0;i>n;//修改名称if(n==1){cout<<"请输入您修改的名称:"<>new_name;book1[i].set_name(new_name);cout<<"恭喜您修改成功!"<>new_id;book1[i].set_id(new_id);cout<<"恭喜您修改成功!"<>new_n_number;book1[i].set_n_number(new_n_number);cout<<"恭喜您修改成功!"<>new_s_number;book1[i].set_s_number(new_s_number);cout<<"恭喜您修改成功!"<>new_id;book1[i].set_id(new_id);cout<<"恭喜您修改成功!"<>new_name;book1[i].set_name(new_name);cout<<"恭喜您修改成功!"<>new_price;book1[i].set_price(new_price);cout<<"恭喜您修改成功!"<>d;}while(d=='Y'||d=='y');}}cout<<"您查找的书不存在"<>c;}while(c=='Y'||c=='y');returnfalse;}

"reader_infor.h"

#pragmaonce//存储学生信息#include"book.h"classreader_infor{public:reader_infor();reader_infor(stringId,stringName,stringGrade,intNumber);//get函数stringget_r_id();//返回学生的学号。stringget_r_name();//返回学生的名字。stringget_r_grade();//返回学生的班级。intget_r_borrow();//返回学生借阅书籍的数量。//set函数voidset_r_id(stringID);voidset_r_name(stringName);voidset_r_grade(stringGrade);voidset_r_borrow(intNumber);private:stringr_id;//学生的学号stringr_name;//学生的名字stringr_grade;//学生的班级intr_borrow;//学生借阅书籍的数量};

"reader_infor.cpp"

#include"reader_infor.h"//构造函数reader_infor::reader_infor(){r_id="";r_name="";r_grade="";r_borrow=0;}reader_infor::reader_infor(stringid,stringname,stringgrade,intnumber){this->r_id=id;this->r_name=name;this->r_grade=grade;this->r_borrow=number;}//get函数stringreader_infor::get_r_id(){returnthis->r_id;}stringreader_infor::get_r_name(){returnthis->r_name;}stringreader_infor::get_r_grade(){returnthis->r_grade;}intreader_infor::get_r_borrow(){returnthis->r_borrow;}//set函数voidreader_infor::set_r_id(stringId){this->r_id=Id;}voidreader_infor::set_r_name(stringName){this->r_name=Name;}voidreader_infor::set_r_grade(stringGrade){this->r_grade=Grade;}voidreader_infor::set_r_borrow(intBorrow){this->r_borrow=Borrow;}

"reader_admin.h

#pragmaonce#include"reader_infor.h"//管理学生信息classreader_admin{public:reader_admin();intget_borrow_number();voidset_borrow_number(inti);voidset_reader_infor();//创建学生信息。voidshow_reader_infor();//显示学生的信息。boolchang_reader();//修改读者信息。boolsreach_id(stringid);//查找学生的学号。voidr_borrow();//读者的借阅量+1。voidr_reutrn();//读者的借阅量-1。private:intborrow_number;//查找的相关位置。intreader_number;//记录学生的个数。reader_inforreader1[1000];//存放学生信息。};

"reader_admin.cpp

#include"reader_admin.h"reader_admin::reader_admin(){reader_number=0;borrow_number=-1;}intreader_admin::get_borrow_number(){returnborrow_number;}voidreader_admin::set_borrow_number(inti){this->borrow_number=i;}//添加读者信息voidreader_admin::set_reader_infor(){cout<<"请输入学生的id:"<>r_id;cout<<"请输入学生的姓名:"<>r_name;cout<<"请输入学生的年级:"<>r_grade;cout<<"请输入学生的借书数量:"<>r_number;reader_inforreader_new(r_id,r_name,r_grade,r_number);reader1[reader_number]=reader_new;reader_number++;//学生数量加1.}//显示读者信息voidreader_admin::show_reader_infor(){for(inti=0;i>r_id;if(sreach_id(r_id)==true){do{cout<<"请选择您要修改的信息:"<>i;//修改学号if(i==1){cout<<"请输入您修改的学号"<>new_r_id;reader1[borrow_number].set_r_id(new_r_id);cout<<"恭喜您修改成功!"<>new_r_name;reader1[borrow_number].set_r_name(new_r_name);cout<<"恭喜您修改成功!"<>new_r_grade;reader1[borrow_number].set_r_grade(new_r_grade);cout<<"恭喜您修改成功!"<>new_r_number;reader1[borrow_number].set_r_borrow(new_r_number);cout<<"恭喜您修改成功!"<>d;}while(d=='Y'||d=='y');borrow_number=-1;//将查找到的位置初始化。break;//跳出本次修改。}cout<<"继续修改请按Y!按任意键退出!"<>c;}while(c=='Y'||c=='y');returnfalse;}

test.cpp

#include#include"book.h"#include"library.h"#include"reader_infor.h"#include"reader_admin.h"usingnamespacestd;intmain(){reader_adminr_ad;librarylib;inti;while(1){cout<<"************欢迎来到图书馆************"<>i;intj;if(i==1){do{cout<<"********请选择您要进行的操作**********"<>j;switch(j){case1:lib.show_book();break;case2:lib.search();break;case3:lib.borrow_book(r_ad);break;case4:lib.return_book(r_ad);break;case5:break;}}while(j==1||j==2||j==3||j==4);}intm;if(i==2){do{cout<<"********请选择您要进行的操作**********"<>m;switch(m){case1:lib.show_book();break;case2:r_ad.show_reader_infor();break;case3:lib.set_book1();break;case4:r_ad.set_reader_infor();break;case5:lib.chang_book1();break;case6:r_ad.chang_reader();break;case7:continue;}}while(m==1||m==2||m==3||m==4||m==5||m==6);}}return0;}

感谢各位的阅读,以上就是“C++实现简易图书馆管理系统的代码怎么写”的内容了,经过本文的学习后,相信大家对C++实现简易图书馆管理系统的代码怎么写这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

发布于 2022-03-13 23:40:47
分享
海报
34
上一篇:Java锁在工作中使用场景实例分析 下一篇:npm报错问题怎么解决
目录

    忘记密码?

    图形验证码