ImageVerifierCode 换一换
格式:DOC , 页数:28 ,大小:88.50KB ,
资源ID:3380364      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(c课设图书管理系统.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c课设图书管理系统.doc

1、南京航空航天大学面向对象程序设计语言课程设计报告图 书 管 理 系 统学号:姓名:日期: 目 录一.需求分析.2二.程序主要功能.2三.程序运行平台.2四.系统功能框架图.3五.程序类说明.4六.模块分析.6七.比较有特色的地方.7八.存在的不足与对策.11九.编程体会.12十.程序源代码.13一 需求分析本系统旨在实现一个小型的图书管理系统,对于一个小型的图书馆或藏书室来说,实施本系统不仅可以减少工作人员数量,降低成本,而且可以大大提高工作效率,降低工作强度,方便读者借书查书及办理各种手续,更方便工作人员对图书进行更有效的管理。程序主要实现读者管理、图书基本信息及库存管理、图书借还管理以及一

2、些辅助功能等。(1) 以菜单的方式工作(2) 图书、读者的基本信息的新增(3) 图书、读者的基本信息的修改(4) 图书、读者记录的删除(5) 图书的借阅,归还(6) 查询图书、读者信息及借阅状态二 程序主要功能 该程序的主要功能有:l 读者功能可进行增加读者、读者信息修改、注销读者、读者查询、显示读者信息、显示所有读者信息等操作。l 图书信息管理可以进行查询图书、增加图书、删除图书信息、图书信息修改、显示全部图书信息等操作。其中添加内容包括:书名、ISBN编号、作者、出版商、出版日期、方便读者查看;l 图书借还功能 应该说这是整个系统最主要的功能,借还时要输入编号已及读者编号l 帮助一个简单的

3、操作指南,指导用户下一步该如何操作。l 退出系统在运行时将从文件载入信息。运行程序后每一步都会有详细的提示,操作简便,大多数地方都考虑到防止用户出现误操作的情况,以提高程序的健壮性,可以放心使用!三程序运行平台该程序是用VC+6.0制做的,使用Microsoft Visual C+ 6.0运行该程序,具体操作是:打开Microsoft Visual C+ 6.0,菜单栏里点文件打开工作区找到“图书管理系统.dsw”这个文件打开,或者在资源管理器中双击该文件,此时,VC+6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。trl计分析能借书/还书读者

4、信息管理图书管理系统图书信息管理帮 助统计查询.新增图书信息.删除图书信息.显示图书信息.修改图书信息.帮助说明.显示读者信息.返回上一层.新增读者信息.修改读者信息.删除图书信息.显示图书信息.帮助说明.返回上一层 输入图书编号及读者编号.还书 借书.返回上一层四系统功能框架图五程序类说明有关图书信息的类struct BookInfochar BookCode6;/图书编号char BookName30;/图书名字char BookAuthor20;/作者名 char BookPress50;/出版社 char BookPublicationDate8;/出版日期 char ISBN8;/图

5、书isbn号 char BookStatus;/图书借阅状态 0未借出 1借出 char ReaderCode6;/读者编号 编号为0为未借阅char IsAvailable;/图书是否有效,0无效,1,有效 ;void AddBookInfo();/增加图书void ModifyBookInfo();/修改图书void DelBookInfo();/删除图书int CountBook();/获得图书记录数int IsBookExist(char *);/判断图书(编号)是否存在void ShowBookInfo();/显示图书清单 void ShowReaderInfo(); /显示读者清单

6、int IsBorrow(char *);/判断是否在借int IsBorrowed(char *);/统计在借书的总数 void BookBorrow();/借书手续 void BookReturn();/还书手续有关读者信息的类struct ReaderInfochar ReaderCode6;/读者编号 char ReaderName20;/读者姓名 char Sex3;/读者性别 char IsAvailable;/读者是否有效,0无效,1,有效 ;void AddReaderInfo();/增加读者void ModifyReaderInfo();/修改读者void DelReader

7、Info();/删除读者void ShowReaderInfo(); /显示读者清单int CountReader();/获得读者记录数六.模块分析1、读者信息:下设子菜单,包括:a.新增读者 b.修改读者c.删除读者d.读者查询 e.显示读者信息 f.返回上一层 (1)读者编号:读者唯一的识别方式,所以不可以重复,长度小于六个字符。(2)读者姓名:长度小于20个字符。(3)读者性别:长度小于三个字符。2、书库信息:该部分内容最丰富,下设子菜单,包括a.新书入库 b.删除 c.修改 d.返回上一层 链表的思路也跟读者信息一样,从头结点开始建,每当新增加一个类节点时,就把新增结点加到链表尾部,再

8、让其中的next指向NULL空,这里没有对链表进行排序。 有关菜单的制作,就是先显示菜单,让用户输入选择,进行输入有效性检查,然后用switch来对不同的选择调用类中不同的函数。3、 借书/还书:借书需要判断的条件不只是判断图书是否存在、图书是否借出、读者是否存在。还书需要提供读者编号再判断图书是否已经借出。十程序源代码#include#include#include#include #include #includeusing namespace std;#define BOOKLEN sizeof(struct BookInfo)#define READERLEN sizeof(struc

9、t ReaderInfo) /函数声明void Welcome();int MainMenu();void SubMenu1();int CreatSubMenu1();void SubMenu2();int CreatSubMenu2();void SubMenu3();int CreatSubMenu3();void SubMenu();int CreatSubMenu4();void AddBookInfo();/增加图书void ModifyBookInfo();/修改图书void DelBookInfo();/删除图书int CountBook();/获得图书记录数int Count

10、Reader();/获得读者记录数int IsBookExist(char *);/判断图书(编号)是否存在int IsReaderExist(char *);/判断读者(编号)是否存在void AddReaderInfo();/增加读者void ModifyReaderInfo();/修改读者void DelReaderInfo();/删除读者void ShowBookInfo();/显示图书清单 void ShowReaderInfo(); /显示读者清单int IsBorrow(char *);/判断是否在借int IsBorrowed(char *);/统计在借书的总数 void Bo

11、okBorrow();/借书手续 void BookReturn();/还书手续 void SearchBook();/图书查询 void SearchReader();/读者查询 int GetPosition(char *,struct BookInfo*);/修改图书信息,获得修改记录的位置 int GetRdPosition(char *,struct ReaderInfo*);/修改读者信息,获得修改记录的位置 void ShowAReader(char *); /显示指定编号的读者的信息int InvalidBookPosition();/查询第一条无效图书信息 int Inval

12、idReaderPosition();/查询第一条无效读者信息 /图书结构定义struct BookInfochar BookCode6;/图书编号char BookName30;/图书名字char BookAuthor20;/作者名 char BookPress50;/出版社 char BookPublicationDate8;/出版日期 char ISBN8;/图书isbn号 char BookStatus;/图书借阅状态 0未借出 1借出 char ReaderCode6;/读者编号 编号为0为未借阅char IsAvailable;/图书是否有效,0无效,1,有效 ;/读者结构体str

13、uct ReaderInfochar ReaderCode6;/读者编号 char ReaderName20;/读者姓名 char Sex3;/读者性别 char IsAvailable;/读者是否有效,0无效,1,有效 ; void Welcome()cout*endl;cout*图书信息借阅系统*endl; cout*endl;cout*现有图书CountBook()册读者CountReader()人*endl;int MainMenu()int m;while(1)cout*欢迎使用图书管理系统*endl;cout*endl;cout*1.图书信息管理*endl;cout*2.读者信息管

14、理*endl;cout*3.借书 还书*endl;cout*4.统计 查询*endl;cout*0.退出 系统*endl;cout请选择0-4:m;if(m=0&m=4)break;elsecout选择错误,请在0-4中选择endl;return m;int CreatSubMenu1()int m;while(1)cout*图书信息管理*endl;cout*endl;cout*1.新增 图书*endl;cout*2.修改 图书*endl;cout*3.删除 图书*endl;cout*0.返回上一层*endl;cout请选择0-3:m;if(m=0&m=3)break;elsecout选择错误

15、,请在0-3中选择endl; return m; int CreatSubMenu2()int m;while(1)cout*读者信息管理*endl;cout*endl;cout*1.新增 读者*endl;cout*2.修改 读者*endl;cout*3.删除 读者*endl;cout*0.返回上一层*endl;cout请选择0-3:m;cin.ignore();if(m=0&m=3)break;elsecout选择错误,请在0-3中选择endl; return m;int CreatSubMenu3()int m;while(1)cout*图书流通*endl;cout*endl;cout*1

16、.借书*endl;cout*2.还书*endl;cout*0.返回上一层*endl;cout请选择0-2:m;if(m=0&m=2)break;elsecout选择错误,请在0-2中选择endl; return m;int CreatSubMenu4()int m;while(1)cout*统计查询*endl;cout*endl;cout*1.图书清单*endl;cout*2.读者清单*endl;cout*3.图书查询*endl;cout*4.读者查询*endl;cout*0.返回上层*endl;cout请选择0-4:m; if(m=0&m=4)break;elsecout选择错误,请在0-4

17、中选择endl;return m;int CountBook()/统计已有图书数量(有效图书) struct BookInfo BookTemp;FILE *fp;int count=0;if(fp=fopen(bookinfo.dat,rb)=NULL)return 0;elsewhile(fread(&BookTemp,BOOKLEN,1,fp)if(BookTemp.IsAvailable=1)count+;fclose(fp);return count;int CountReader()/统计已有读者人数(有效人数) struct ReaderInfo ReaderTemp;FILE

18、*fp;int count =0;if(fp=fopen(bookinfo.dat,rb)=NULL)return 0;elsewhile(fread(&ReaderTemp,READERLEN,1,fp)if(ReaderTemp.IsAvailable=1)count+;fclose(fp);return count;void SubMenu1()/图书信息管理 int MenuId;while(1)MenuId=CreatSubMenu1();if(MenuId=0)break;switch(MenuId)case 1:AddBookInfo();break;case 2:ModifyB

19、ookInfo();break;case 3:DelBookInfo();break;case 0:MainMenu();break;void SubMenu2()/读者信息管理 int MenuId;while(1)MenuId=CreatSubMenu2();if(MenuId=0)break;switch(MenuId)case 1:AddReaderInfo();break;case 2:ModifyReaderInfo();break;case 3:DelReaderInfo();break;case 0:MainMenu();break; void SubMenu3()/图书借阅

20、int MenuId;while(1)MenuId=CreatSubMenu3();if(MenuId=0)break;switch(MenuId)case 1:BookBorrow();break;case 2:BookReturn();break;case 0:MainMenu();break;void SubMenu4()/信息查询 int MenuId;while(1)MenuId=CreatSubMenu4();if(MenuId=0)break;switch(MenuId)case 1:ShowBookInfo();break;case 2:ShowReaderInfo();bre

21、ak;case 3:SearchReader();break;case 4:SearchBook();break;case 0:MainMenu();break;void AddBookInfo()/新增图书记录struct BookInfo MyBook;cout请输入图书编号MyBook.BookCode;while(IsBookExist(MyBook.BookCode) cout图书已存在,请重新输入MyBook.BookCode;cout请输入书名MyBook.BookName;cout请输入作者MyBook.BookAuthor;cout请输入出版商MyBook.BookPress

22、; cout请输入isbn号MyBook.ISBN;cout请输入出版日期MyBook.BookPublicationDate;MyBook.BookStatus=0;strcpy(MyBook.ReaderCode,0);MyBook.IsAvailable=1;FILE *fp;if(fp=fopen(bookinfo.dat,rb+)=NULL)cout文件打开错误endl;exit(0); int SetPs;/查询写入文件位置SetPs=InvalidBookPosition();if(SetPs=-1) /图书记录都是有效的,文件指针定义在文件尾fseek(fp,0,SEEK_EN

23、D);elsefseek(fp,(long)BOOKLEN*SetPs,SEEK_SET);/重新定位写入位置fwrite(&MyBook,BOOKLEN,1,fp);fclose(fp);cout新增图书成功,现有图书CountBook()册按回车键继续添加endl;cin.ignore();getchar(); void ModifyBookInfo()/修改图书struct BookInfo MyBook;char ModifyBookCode6;if(CountBook=0)cout无法修改endl;return;cout请输入要修改的图书编号ModifyBookCode;if(!Is

24、BookExist(ModifyBookCode)cout图书不存在endl;return; int ModiPosition=0;ModiPosition=GetPosition(ModifyBookCode,&MyBook);cout请输入新书名MyBook.BookName;cout请输入新作者MyBook.BookName;cout请输入新出版商MyBook.ISBN;cout请输入新的出版日期MyBook.BookPublicationDate; FILE *fp;if(fp=fopen(bookinfo.dat,rb+)=NULL)cout文件打开错误endl;exit(0); f

25、seek(fp,(long)BOOKLEN*ModiPosition,SEEK_SET);fwrite(&MyBook,BOOKLEN,1,fp);fclose(fp);cout修改成功,按回车键继续endl;cin.ignore();getchar(); void DelBookInfo()/删除图书char DelBookCode6;if(CountBook=0)cout无法删除endl;return; cout请输入要删除的图书编号DelBookCode; if(!IsBookExist(DelBookCode) cout该书不存在endl;return;if(IsBorrow(DelB

26、ookCode) /书已经借出,无法删除cout书已经借出,无法删除endl;return; FILE *fp;if(fp=fopen(bookinfo.dat,rb+)=NULL)cout文件打开错误endl;exit(0); struct BookInfo MyBook;int ModiPosition=0;ModiPosition=GetPosition(DelBookCode,&MyBook);MyBook.IsAvailable=0;fseek(fp,(long)BOOKLEN*ModiPosition,SEEK_SET);fwrite(&MyBook,BOOKLEN,1,fp);f

27、close(fp);cout删除图书成功,现有图书CountBook()册endl; void BookBorrow()/图书借阅 char BookCode6;char ReaderCode6;if(CountBook()=0|CountReader()=0)cout无法借书endl;return;cout请输入图书编号BookCode; if(!IsBookExist(BookCode)cout借书失败,该书不存在endl;return; if(IsBorrow(BookCode)cout书已经借出,借书失败endl;return; cout请输入读者编号ReaderCode; if(!I

28、sReaderExist(ReaderCode)cout读者不存在,借书失败endl;return; FILE *fp;if(fp=fopen(bookinfo.dat,rb+)=NULL)cout文件打开错误endl;exit(0); int Position=0; struct BookInfo MyBook; Position=GetPosition(BookCode,&MyBook); MyBook.BookStatus=1; strcpy(MyBook.ReaderCode,ReaderCode); fseek(fp,(long)BOOKLEN*Position,SEEK_SET);

29、 fwrite(&MyBook,BOOKLEN,1,fp); fclose(fp); cout借书成功,按回车键继续endl; cin.ignore(); getchar(); void BookReturn()/还书 char BookCode6;if(CountBook()=0|CountReader()=0)cout无法还书endl;return;cout请输入图书编号BookCode; if(!IsBookExist(BookCode)cout还书失败,该书不存在endl;return; if(!IsBorrow(BookCode)cout书未借出,还书失败endl;return; F

30、ILE *fp;if(fp=fopen(bookinfo.dat,rb+)=NULL)cout文件打开错误endl;exit(0); int Position=0; struct BookInfo MyBook; Position=GetPosition(BookCode,&MyBook); MyBook.BookStatus=0; strcpy(MyBook.ReaderCode,0); fseek(fp,(long)BOOKLEN*Position,SEEK_SET); fwrite(&MyBook,BOOKLEN,1,fp); fclose(fp); cout还书成功,按回车键继续end

31、l; cin.ignore(); getchar(); void ShowBookInfo()/显示所有图书信息 struct BookInfo MyBookInfo;int booknum=CountBook();if(booknum=0)cout没有图书信息endl;return; FILE *fp;if(fp=fopen(bookinfo.dat,rb+)=NULL)cout文件打开错误endl;exit(0); while(fread(&MyBookInfo,BOOKLEN,1,fp)cout编号setw(6)MyBookInfo.BookCode书名setw(20)MyBookInfo.BookName作者setw(20)MyBookInfo.BookAuthor出版商setw(30)MyBookInfo.BookP

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服