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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书借阅管理系统如假包换课程设计都得优秀了.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书借阅管理系统如假包换课程设计都得优秀了.docx

1、图书借阅管理系统如假包换课程设计都得优秀了图书借阅管理系统设计一、设计任务书主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);二、问题描述 图书借阅管理系统是一个学校不可缺少的部分,它的内容对于学校的管理者和读者来说都至关重要,直接关系到图书的借用率,所以开发图书管理系统能够为管理员和读者提供充足的信息和快捷的查询手段。 编写程序系统主要实现图书馆的增加图书、查询图书、删除图书、借阅图书、还书;增加会员、查询会员、删除会员、借书信息、到期书催还等智能化管理过程。图书管理者只需略懂电脑知识就可以简易的操作该图书

2、借阅管理系统。 三、实验目的 1强化和巩固理论基础,掌握编程技巧,为后续的专业课学习打下良好的基础; 2要求用C/C+语言及相应开发环境,实现一个小型完整程序的设计与开发; 3巩固深化所学课程的知识,培养学生运用知识,分析和解决实际问题的能力。 四、设计过程 4.1 系统需求分析 图书借阅管理系统主要分为两大功能: (1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书到期书催还); (2)会员管理(增加会员、查询会员、删除会员、借书信息); 要完成这个题目,主要是建立解决图书和会员的信息的存储,解决的方法是建立两个带头结点的单链表,分别用于存储图书和会员。解决了这个问题后就是如何建立这

3、两个链表的联系了,解决的方法是在图书结点中设一个借书人编号,在会员结点中设一个数组用于存会员借的书。解决了这两个问题,剩下的工作就简单了。只需按链表的操作就可以了。 4.1.1 功能要求 在图书借阅管理程序中须实现以下功能: (1)图书修改功能:能对图书借阅系统存储的信息进行修改。提供两种修改方式,如按照图书编号修改、按照书名修改。图书编号是图书记录的自然顺序编号。 (2)图书删除功能:能对图书借阅系统的图书信息进行删除。删除时以记录为单位,能一次删除一条记录。 (3)借书功能:能对借出的图书作记录信息,能一次借出一本图书。 (4)还书功能:能将被借出的图书信息还原,能一次借出一本图书。 (5

4、)保存功能:能将记录保存在任何自定义的文件中,如保存在:c:books 、c:lenders。 (6)通信录管理结束后,能够正常退出图书借阅管理程序。 4.1.2 技术要求 (1)每个借阅者记录至少包括如下信息:姓名、学号、姓别等。每本图书记录至少包括如下信息:编号、书名、作者、价格等。 (2)图书、借阅者信息以磁盘文件的形式存储,存储位置、文件名、文件格式由设计者确定。 (3)对于图书借阅系统功能中数据输入、显示、查询、修改、删除、保存等功能,要求编写功能独立的函数或主控函数予以实现,其所属的各项功能尽量由独立的函数实现。 (4)以菜单方式实现功能选择控制。 (5)本图书借阅管理程序能够实现

5、100条记录的管理。 4.1.3 方案分析 此题是设计一个图书借阅管理系统,根据需要应包含图书管理和会员管理。其中对图书和会员的增加、查询和删除都是基本操作。在图书管理中对图书的借阅和归还是重点,这两个操作也是整个系统关键。在会员管理中增加了会员借书信息的查询和对到期书的催还信息。实现这些操作的关键在于建立的两个带头结点的单链,分别用于存储图书和会员的基本信息。在这两个链表之间还应建立起相互的联系,便于查询的操作的实现。另外,在美观方面,需要设计一个操作界面供用户选择使用。 4.2 图书借阅管理功能框图设计 4.2.1 总体功能实现: 通过需求分析,设计出本程序的总体功能设计框图。分为七个方面

6、:1、选择检查类型;2、编辑图书的信息;3、查询图书的信息;4、编辑读者的信息;5、查询读者的信息;6、借阅书刊;7、还书。连线之间说明了他们之间的相互联系以及设计时的要求。 4.2.2图书管理系统简略功能框图 五、设计步骤与详细程序#include#include#include#define NULL 0typedef struct BookInfo /图书结构 int b_Code; /图书编号 char b_Name20; /名称 int b_Total; /总数 int b_Out; /借出数 BookInfo* nextbook; /下一类图书BookInfo;typedef st

7、ruct MemberInfo /会员结构 long m_Code; /会员编号 char m_Name20; /会员名字 int l_Codes6; /以借书的编号,最多5 MemberInfo* nextmember; /下一会员MemberInfo;typedef struct System /管理系统结构 BookInfo* BI; MemberInfo* MI; int BookTotal; /图书类库存量 int MemberTota; /会员数量System;System* InitSystem();/void AddBook(System*);/增加图书BookInfo* Se

8、archBook(System*,int);/查询图书信息void DelBook(System*);/删除图书void BrrowBook(System*);/借书处理void TurnBackBook(System*);/还书处理void AddMember(System*);/添加会员void DelMember(System*);/删除会员MemberInfo* SearchMember(System*,int);/查询会员信息void StoreData(System*);void LoadData(System*);void ExitSystem();void main() Sys

9、tem* S=InitSystem(); int sel; do coutntttt图书管理系统endl; coutttt*endl; coutttt*endl; coutttt 1.增加图书.t 2.查询图书.nttt 3.删除图书.t 4.借书处理.nttt 5.还书处理.nttt 6.添加会员.t 7.删除会员.nttt 8.查询会员.t 9.载入数据.nttt10.保存数据.t11.退出程序.n; coutttt*endl; coutttt*endl; coutsel; if(sel=1&sel=11)break; cout选择错误!n重新输入:BI=(BookInfo*)malloc

10、(sizeof(BookInfo); S-BookTotal=0; S-BI-nextbook=NULL; S-MI=(MemberInfo*)malloc(sizeof(MemberInfo); S-MemberTota=0; S-MI-nextmember=NULL; return S;void AddBook(System* S) int Tempcode; char sel; BookInfo* p=S-BI; BookInfo* t; BookInfo* m; int num; do coutTempcode; if(m=SearchBook(S,Tempcode) cout这类书以

11、有库存.n输入图书的入库量:num; m-b_Total+=num; else t=(BookInfo*)malloc(sizeof(BookInfo); t-b_Code=Tempcode; coutt-b_Name; coutt-b_Total; t-b_Out=0; t-nextbook=p-nextbook; p-nextbook=t; S-BookTotal+; cout添加完毕!endl; coutsel; if(sel=n|sel=N) cout结束添加BI-nextbook; int bookcode; if(code=-1) coutbookcode; else bookco

12、de=code; while(bi&bi-b_Code!=bookcode)bi=bi-nextbook; if(code=-1) if(!bi)cout没找到你所要的图书.endl; else cout图书编号为:b_Codeendl; cout图书名称为:b_Nameendl; cout图书库存量为:b_Totalendl; cout图书借出量为:b_OutBI; MemberInfo* memi; char sel; int tempcode; int i; do pl=S-BI; bi=pl-nextbook; memi=S-MI-nextmember; couttempcode; w

13、hile(bi) if(bi-b_Code=tempcode)break; pl=bi; bi=bi-nextbook; if(bi=0)cout没有找到要删除的图书nextbook=bi-nextbook; S-BookTotal-; while(memi) for(i=1;il_Codes0;i+) if(memi-l_Codesi=tempcode)break; if(il_Codes0) for(;il_Codes0;i+)memi-l_Codesi=memi-l_Codesi+1; memi-l_Codes0-; memi=memi-nextmember; free(bi); cou

14、tsel; if(sel=N|sel=n) cout删除图书结束BI-nextbook; BookInfo* p; char sel; int memcode; MemberInfo* mp; int tempcode; do couttempcode; p=SearchBook(S,tempcode); if(!p) cout没有找到要借出的图书.endl; else cout此书的现存量为b_Total-p-b_Out)b_Total-p-b_Out)cout没有足够的书了,外借失败.endl; else coutmemcode; mp=SearchMember(S,memcode); i

15、f(!mp)cout会员编号输入错误,外借失败l_Codes0=5)coutb_Out+; mp-l_Codes+mp-l_Codes0=tempcode; cout外借成功.endl; coutsel; if(sel=N|sel=n) cout外借操作结束.BI-nextbook; BookInfo* p; MemberInfo* mp; int membercode; int tempcode; int i; char sel; do couttempcode; p=SearchBook(S,tempcode); if(!p) cout书号输入错误.endl; else cout此书的现存

16、量为b_Total-p-b_Out)endl; coutmembercode; if(!(mp=SearchMember(S,membercode)cout会员编号输入错误,归还失败b_Out-; for(i=1;il_Codes0;i+) if(mp-l_Codesi=tempcode)break; while(il_Codes0) mp-l_Codesi=mp-l_Codesi+1; i+; mp-l_Codes0-; cout归还成功.endl; coutsel; if(sel=N|sel=n) cout归还结束.MI; MemberInfo* t; do coutTempcode; t

17、=(MemberInfo*)malloc(sizeof(MemberInfo); t-m_Code=Tempcode; coutt-m_Name; t-l_Codes0=0; t-nextmember=p-nextmember; p-nextmember=t; S-MemberTota+; cout添加完毕!endl; coutsel; if(sel=n|sel=N) cout结束添加MI-nextmember; int membercode; int i; if(code=-1) coutmembercode; else membercode=code; while(bi&bi-m_Code

18、!=membercode)bi=bi-nextmember; if(code=-1) if(!bi)cout没找到指定会员.endl; else cout会员编号为:m_Codeendl; cout名称为:m_Nameendl; cout已借的图书有:l_Codes0本.endl; for(i=1;il_Codes0;i+) coutl_Codesi ; coutMI-nextmember; pl=S-MI; couttempcode; while(bi) if(bi-m_Code=tempcode)break; pl=bi; bi=bi-nextmember; if(!bi)coutnext

19、member=bi-nextmember; S-MemberTota-; for(i=1;il_Codes0;i+) if(!(book=SearchBook(S,bi-l_Codesi) cout删除会员出错!b_Out-; book-b_Total-; free(bi); coutsel; if(sel=N|sel=n) cout删除会员结束BI-nextbook; if(!(fp=fopen(BookSys,wb) cout打开文件BookSys失败!BookTotal),sizeof(int),1,fp); while(bi) fwrite(bi,sizeof(BookInfo),1,

20、fp); bi=bi-nextbook; MemberInfo* mi=S-MI-nextmember; fwrite(&(S-MemberTota),sizeof(int),1,fp); while(mi) fwrite(mi,sizeof(MemberInfo),1,fp); mi=mi-nextmember; fclose(fp);void LoadData(System* S) FILE* fp; if(!(fp=fopen(BookSys,rb) cout打开文件BookSys失败BI; BookInfo* tempbi; fread(&(S-BookTotal),sizeof(in

21、t),1,fp); for(int i=1;iBookTotal;i+) tempbi=(BookInfo*)malloc(sizeof(BookInfo); fread(tempbi,sizeof(BookInfo),1,fp); bi-nextbook=tempbi; bi=tempbi; bi-nextbook=NULL; MemberInfo* mi=S-MI; MemberInfo* tempmi; fread(&(S-MemberTota),sizeof(int),1,fp); for(i=1;iMemberTota;i+) tempmi=(MemberInfo*)malloc(sizeof(MemberInfo); fread(tempmi,sizeof(MemberInfo),1,fp); mi-nextmember=tempmi; mi=tempmi;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1