- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图书借阅管理是图书馆一个最基本的工作,这里用C语言的知识设计开发一个简单的图书借阅管理系统,系统主要实现图书信息和学生信息的管理,图书查询及图书借阅管理。
系统设计要求
系统主要实现以下六个功能:
① 用户登录。系统用户分为管理员和学生。管理员登录时必须输入密码,密码正确才能进入系统;学生登录时无需密码,输入学号即可。
② 图书信息管理。图书信息包括:书号、书名、作者、图书分类、出版社、出版时间、单价、总量和库存量。图书信息管理包括:输入图书信息(从键盘或从文件)、保存图书信息、修改图书信息、增加图书信息、删除图书信息和输出图书信息。
③ 学生信息管理。学生信息包括:学号、姓名、借书卡(借阅标记、书号、借阅时间)。学生信息管理包括:输入学生信息(从键盘或从文件)、保存学生信息、修改学生信息、增加学生信息、删除学生信息和输出学生信息。
④ 图书查询功能。图书查询分为:按书名查询、按作者查询、按图书分类查询、按出版社查询和按出版时间查询。
⑤ 借书功能。借书时,先判断学生是否有空闲的借书卡,若没有则应输出提示信息;若有空闲的借书卡,则要求学生输入所借图书的书号,若该书库存量不为0,则将该书借出,同时在借书卡上记录该书的书号和借阅时间,并修改该书的库存量。
⑥ 还书功能。还书时,先检查学生的借书卡,若借书卡都为空,则不能进行还书操作,若有借书卡不为空,则可以还书,此时要求学生输入所还图书的书号,将对应借书卡上的记录清零,并修改该书的库存量。
数据结构设计
系统共定义了四个结构体类型,包括日期类型、借书卡类型、图书类型和学生类型,其中在图书类型中要使用日期类型,而在学生类型中要使用日期和借书卡类型,定义如下:
typedef struct date //日期类型
{ short year; //年
short month; //月
short day; //日
}SDATE;
typedef struct library_card //借书卡类型
{ Short flag; //是否借阅标记
Char ISBN[20]; //所借图书的书号
SDATE bor_time; //借阅时间
}SLCARD;
typedef struct student //学生类型
{ char num[15]; //学号
char name[20]; //姓名
SLCARD card[5]; //借书卡(规定每人最多有5张)
}SSTUD;
typedef struct book //图书类型
{ char ISBN[20]; //书号
char bookname[40]; //书名
char author[20]; //作者
char publisher[30]; //出版社
char bookclass[20]; //图书分类
short total_num, stock_num; //总量,库存量
float price; //单价
SDATE publish_time; //出版时间
}SBOOK;
系统定义了两个全局变量数组,分别存放图书信息和学生信息,因数组大小是固定的,为使用方便在系统中定义两个符号常量,具体定义如下:
#define BOOKNUM 1000 // BOOKNUM为系统允许的最大图书数量
#define STUDNUM 100 // STUDNUM为系统允许的最多学生人数
SSTUD student[STUDNUM]={0}; //学生数组,初始化为0
SBOOK book[BOOKNUM]={0}; //图书数组,初始化为0
3. 功能模块设计
(1) main函数的设计:由于图书信息和学生信息都保存在文件中,系统运行的第一个工作是从文件中将图书信息和学生信息读入到内存数组book和数组student中,在读入信息的过程中同时统计出目前图书的数量和学生的人数,并将数据分别存放在整型变量bn和sn中,bn为图书数量,sn为学生人数。如果b
您可能关注的文档
最近下载
- Android Studio系列教程2--基本设置与运行.pdf VIP
- 《光伏施工质量管理制度》.docx VIP
- 妇产科手术分级目录.pdf VIP
- VW 01110-3-2020-螺纹连接第三部分:监视连续旋转驱动工具的参数设置系统(中文).pdf VIP
- 原子、分子、离子和元素的相互关系.ppt VIP
- 桂林理工大学 856材料科学基础 2015-2021年考研专业课历年真题.pdf VIP
- 4区块链原理与技术 第四讲 共识算法.pptx VIP
- 国际服务贸易 教学案例(王海文).docx
- 雅马哈CLP785&775&745&735用户使用说明书.pdf
- VW 01110_2_EN-2022 螺纹连接装配和工艺保证.pdf VIP
文档评论(0)