1、C+课程设计图书管理系统C+高级程序设计语言程序设计报告题 目: 图书管理系统 图书管理系统一、 课题内容和要求 【问题描述】 该系统要求建立一个简单的图书管理系统,并具有排序、查找、计算、插入、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。【功能要求】 (1)图书数据结构:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。 (2)需要实现的功能1) 用户根据口令进入系统2) 图书信息用文件保存,程序运行时从文件读入数据,程序结束前将数据保存在文件中;3) 管理员能实现图书信息录入4) 读者能实现图书信息的浏览5) 排序功能:(至少一种排序方
2、式,例如出版时间排序)6) 按书名查询和按作者名查询7) 图书信息的删除与修改8) 学生可自动增加新功能模块(视情况可另外加分) (3)界面友好,输入信息符合逻辑如登录号不为负数,日期输入符合一定的格式等。【程序设计的具体说明】 数据结构和函数自行定义,要求清晰明确。2、需求分析 图书管理系统面向两类人,一类是普通读者,另一类是管理员;(1)读者:首先读者要通过卡号和密码的验证才能进入系统;1、图书的查找:读者可以通过图书的书号、书名、作者名或者出版社查找图书信息,当查找成功时输出图书的信息,包括书号,书名,作者名,出版社,出版时间以及此书是否在架,当查找失败时返回查找失败信息。2、图书的借阅
3、:当读者查找到想要借阅的图书后,输入图书书号进行借书,返回借阅成功的信息。输入无效的书号或者借阅已经借出去的图书则不能借阅成功。 3、图书的归还:输入要归还的书的书号进行还书,返回归还成功的信息。输入 无效的书号或者归还还未被借出的图书则归还不成功。 4、查询自己的借书信息:可以查看自己借了那些书,输出这些书的编号。 (2)管理员: 管理员要先通过密码验证才能进入系统;1、图书的借阅:管理员可以通过输入读者的卡号和图书的编号帮读者借书,只有当这两个信息都正确时才能借阅成功,否则输出借阅失败的信息。 2、图书的归还:管理员可以通过输入读者的卡号和图书的编号帮读者还书,只有当这两个信息都正确时才能
4、归还成功,否则输出归还失败的信息。 3、图书的维护:包括图书的新增、删除、查找、显示、以及全删; 、图书的新增:首先给图书编号,在给图书编号之前先判断是否有图书为该编号,如果有则编号不成功重新输入编号,如果没有则编号成功,继续添加图书的其他信息,包括书名、作者、出版社、出版时间、价格等信息。 、图书的删除:输入图书的编号,删除该编号图书的所有信息,并提示删除成功信息,若输入无效的编号则提示删除不成功。 、图书的查找:输入要查找图书的编号,输出该编号图书的所有信息, 若输入无效的编号则提示查找失败。 、图书的显示:按照出版时间的先后顺序输出图书馆所有书籍的信息。 、图书的全删:删除图书馆所有书籍
5、的所有信息。 4、读者的维护:包括读者的新增、更改、删除、查找、显示、以及全删;、读者的新增:先给读者编号,如果该编号已经有人,则提示错误,否则继续输入读者的其他信息,包括读者的名字和初始密码输出添加成功提示。、读者的更改:输入读者的编号,更改读者的名字,若输入的编号无效则更该失败。、读者的删除:输入要删除读者的编号,判断该编号是否有人,有则删除该读者的所有信息,没有则提示删除失败。、读者的查找:输入要查找的读者编号,编号正确则输出读者的信息,否则查找失败。、读者的显示:显示图书馆里所有读者的信息。、读者的删除:删除图书馆里所有读者的信息。3、概要设计 1 2 主菜单 读者登录模块图 图书信息
6、管理模块流程图 图书信息查找流程图 借阅信息查询模块流程图图书归还模块流程图图书借阅模块流程图4、源程序代码 #include#include#include#include#includeusing namespace std;const int Maxbor=10; /每位读者最多借10本书class Reader /读者类 int tag; int num; char mima6; char name10; int borbookMaxbor;public: Reader(); int getnum(); int gettag(); char* getname(); char* getm
7、ima(); void setname(char na); void delreader(); void addreader(int n,char *na,char* mi); void borrowbook(int bookid); int retbook(int bookid); void disp(); Reader:reader()char*Reader:getname() return name; int Reader:gettag() return tag; /获取删除标记int Reader:getnum() return num; /获取读者编号char * Reader:ge
8、tmima() return mima;/获取读者的密码void Reader:setname(char na) /设置姓名 strcpy(name,na);void Reader:delreader() tag=1; /删除读者void Reader:addreader(int n,char *na,char* mi) /增加读者 tag=0; num=n; strcpy(name,na); strcpy(mima,mi); for (int i=0;iMaxbor;i+) borbooki=0;void Reader:borrowbook(int bookid) /借书操作 for (in
9、t i=0;iMaxbor;i+) if (borbooki=0) borbooki=bookid; return; int Reader:retbook(int bookid)/还书操作 for (int i=0;iMaxbor;i+) if (borbooki=bookid) borbooki=0; return 1; return 0; void Reader:disp()/输出读者信息 coutendl; cout setw(12) num 借书编号:; for (int i=0;iMaxbor;i+) if (borbooki!=0) cout borbooki ; cout end
10、l;class Book /图书类 int tag; int num; char name10; char writer10; char concem30; char Time10; float price; int onshelf;public: Book(); char *getname(); int getnum(); int getonshelf(); char *getwriter(); char *gettime(); char *getconcem(); float getprice(); int gettag(); void getTime(char time); void s
11、etname(char na) ; void delbook(); void addbook(int n,char *na, char *wri, char *con, char* tm,float pr); /增加图书 int borrowbook(); /借书操作 void retbook(); /还书操作 void disp(); /输出图书;Book:Book() char* Book:getname() return name; /获取姓名int Book:getonshelf()return onshelf;int Book:getnum() return num; /获取图书编号
12、char*Book:getwriter() return writer; /获取书籍作者char*Book:getconcem() return concem; /获取书籍出版社char* Book:gettime() return Time;float Book:getprice() return price; /获取书籍价格int Book:gettag() return tag; /获取删除标记void Book:setname(char na) /设置书名 strcpy(name,na);void Book:getTime(char time) strcpy(Time,time);vo
13、id Book:delbook() tag=1; /删除图书void Book:addbook(int n,char *na, char *wri, char *con, char* tm,float pr) /增加图书 tag=0; num=n; strcpy(name,na); strcpy(writer,wri); strcpy(concem,con); strcpy(Time,tm); price=pr; onshelf=1;int Book:borrowbook() /借书操作 if (onshelf=1) onshelf=0; return 1; return 0;void Book:retbook() /还书操作 onshelf=1;void Book:disp() /输出图书 cout setw(6) num setw(12) name setw(15)concemsetw(10)writersetw(12)Timesetw(6) (onshelf=1? 在架:已借) endl;class BDatabase /图书库类 int top; Book bookMaxb; public: BDatabase(); void clear(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1