- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》
课程设计报告书
一.课程设计题目
图书借阅管理系统
二.课程设计内容
实现图书管理信息系统的设计
(一)管理员功能:
①登录:输入管理员密码,若密码错误则不得执行管理员操作。
②添加新书:增加新的图书资料,同时需检查新书的图书编号是否已存在于原图书资料中, 若已存在则应取消添加或提示重新输入。
③修改图书:通过编号查询该图书资料,若该编号存在,则显示已有信息,允许修改,否则提示
无该图书信息。
④删除图书:通过编号查询该图书资料,若该编号存在,则显示已有信息,允许删除,否则提示无该图书信息。删除对象包括该图书资料以及“图书状态”和“借阅人”中与此书相关的所有记录。
⑤查找图书:
A.按书号查找:通过编号查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。
B.按书名查找:通过书名查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。
C.按作者查找:通过作者查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。
⑥查看全部图书:显示所有图书资料,包括书号、书名、作者、状态和借阅人等信息。
⑦修改读者:通过姓名查询该读者信息,若该姓名存在,则显示已有信息,允许修改,否则提示无该读者信息。
⑧删除读者:通过姓名查询该读者信息,若该姓名存在,则显示已有信息,允许删除,否则提示无该读者信息。删除对象包括该读者姓名、班级、电话以及“图书状态”和“借阅人”中与此人相关的所有记录。
⑨查看所有读者:显示所有读者资料,包括姓名、班级、电话等信息。
(二)读者功能:
①登录:输入读者姓名,若未经注册则不得进入读者服务界面。
②注册:新用户经注册方可登录系统并使用读者服务功能。
③借书:
A.输入所需图书编号,判断该编号是否存在,若不存在则提示重新输入。
B.若所输入图书编号存在,则判断该书籍是否已被借出,若已借则不允许执行借书操作。
C.若所输入图书未借,则提示输入读者姓名,判断所输入读者姓名是否存在,若不存在则提示重新输入。
D.若读者姓名存在,则允许执行借书操作。
E.借书处理包括在“图书状态”中加上“已借”标记。
④还书:
A.输入所借书编号,判断该编号是否存在,若不存在则提示重新输入。
B.判断该书是否已借出,若未借则不允许执行还书操作。
C.借书处理包括在“图书状态”中加上“未借”标记。
⑤查询图书:
A.按书号查找:通过编号查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。
B.按书名查找:通过书名查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。
C.按作者查找:通过作者查询该图书资料,若该编号存在,则显示图书信息,否则提示无该图书信息。
⑥查看借阅情况:输入读者姓名,若该姓名不存在则提示重新输入,若该姓名存在则显示该读者借阅信息。
三.算法设计
1. 流程图(部分示例)
①管理员登录
②读者登录
③读者借阅图书
④管理员或读者按书名查找图书
2.代码实现
#include iostream
#include iomanip
#include string
#include fstream //文件流
#include conio.h
#define BookFile book.txt //将字符串BookFile替换原文件中的宏名称book
#define ReaderFile reader.txt
using namespace std;
//**********读者结构体,用于存放读者基本信息**********
class Reader
{
private:
char rname[10];
char rclass[10];
char rtel[10];
public:
Reader() //构造函数,实现数据初始化
{strcpy(rname,);strcpy(rclass,);strcpy(rtel,);} //初始化
void set_rname(char *rn) //设置读者姓名
{strcpy(rname,rn);} //将rn的字符复制给rname
char * get_rname() //获得读者姓名
{return rname;} //返回rname的值
void set_rclass(char *rc) //设置班级
{strcpy(rclass,rc);}
char *get_rclass() //获得班级
{return r
文档评论(0)