C专业课程设计方案报告图书标准管理系统.doc
《C专业课程设计方案报告图书标准管理系统.doc》由会员分享,可在线阅读,更多相关《C专业课程设计方案报告图书标准管理系统.doc(24页珍藏版)》请在咨信网上搜索。
1、C语言课程设计汇报:图书管理系统系统需求一、 新书入库: 图书信息包含书名, 书号, 库存量, 现存量共4项. 首先输入3本书信息, 并将其存入文件 ”book.dat” 中. 当有新书入库时, 先判定文件中是否有此书( 即比较书名 ), 若有则修改库存量, 现存量信息; 若无此书, 则将该书信息添加到文件中. 二、图书查询: 输入一个书号, 在文件中查找此书, 若找到则输出此书全部信息; 若找不到则输出查找失败信息. 三、借阅管理(1) 每个读者信息包含姓名, 编号, 1张借书卡( 限借一本书 ), 输入3个读者信息存入文件 “reader . dat” 中. (2) 借书登记: 输入读者编
2、号, 所借图书书号, 先判定姓名是否在文件”reader.dat” 中, 若有则将书号存入一张借书卡上( 注: 初始时借书卡信息全部为零, 借书后借书卡信息改为所借书书号), 并修改文件”reader.dat”对应内容, 同时修改文件”book.dat”中此书现存量. 若”reader.dat”无此姓名, 则应提醒错误(3) 还书管理: 输入读者编号, 所还图书书号, 将借书卡信息置为零, 并修改文件”reader.dat”对应内容, 同时修改文件”book.dat”中此书现存量. 四、输出全部图书信息和全部读者信息五、退出系统.六、附加说明:系统未来完善功效有:添加读者,一位读者可同时借阅和
3、归还多本图书等总体设计一、 仔细阅读系统要求,首先将此系统化分为以下模块(即以下函数)1、 新书入库模块:可用一个函数insert_new_book(char book_num,char book_name,int number)来实现。形参分别为:书名, 书号,和有多少本书要入库,再依据要求将信息写入文件boot.dat中。又因为最开始要输入三本新书,故能够加一个初始化函数init_book(),不过初始化函数只实施一次,也就是在系统第一次运行时候实施,此时能够依据判定是否存在boot.dat这个文件来决定是否实施初始化函数.2、 查询模块:可用一个函数void find_book(char
4、 book_num)来实现。找到就输出此书全部信息,找不到就输出查找失败信息。3、 借阅管理模块:(1) 三个读者信息能够在系统初始化时完成.即可用初始化函数init_reader()来实现对读者初始化。因为读者初始化函数也只是在系统第一次运行时候实施一次,故也能够依据是否存在reader.dat文件来确定是否实施此函数。(到现在能够发觉在系统初始化函数里,最少已经需要调用两个初始化函数了)(2) 借书登记模块:可用一个函数borrow_book(char reader_num,char book_num)来实现。在函数中要分别判定A 该读者编号是否已经存在,假如不存在,则提醒错误。B 该读者
5、借阅书是否已满(即最多只能借1本书)假如是,则提醒该用户先去还书C 输出书号对应书是否存在,假如不存在,则提醒读者不存在此书。借书过程完成后,则对读者信息里借书信息写上所借书号,并修改库存量。(3) 还书管理模块:可用一个函数return_book(char reader_num,char book_num)来实现。在实现此函数时要判定:A 该读者姓名是否已经存在,假如不存在,则提醒错误。B 该读者是否已经借阅此书。假如没有,则提醒错误。C 还书过程完成后,则对读者信息里借书信息清零,并修改库存量。4、 输出图书和读者信息:可分别用模块print_book()和print_reader()来实
6、现直接从book.dat文件和reader.dat文件中读取信息并输出。5、 退出系统:可用一个函数exit()来实现。首先将信息保留到文件,释放动态创建内存空间,再退出此程序。图书管理系统二、系统主模块结构图: 退出系统新书入库图书查询借书登记借书登记输出读者信息输出图书信息具体设计一、 界面设计此系统界面采取图形和数字化菜单设计。主界面设计以下: 图书管理系统图书管理系统主菜单请选择对应数字实施对应功效:0:退出此系统1:新书入库2:图书查询3:借书登记4:还书管理5:输出全部图书信息和读者信息各子界面以下:1、 新书入库界面:请选择对应数字实施对应功效:10:返回主菜单11:新书入库请输
7、入新书名:请输入新书号:请输入新书数量: (注:新书入库成功后,程序返回到子界面1)2、 图书查询界面界面: 请选择对应数字实施对应功效:20:返回主菜单21:图书查询请输入需要查询书号: (注:图书查询完成后,返回到子界面2) 3、借书登记界面:请选择对应数字实施对应功效:30:返回主菜单31:借书登记 请输入读者编号: 请输入所借书号: (注:借书过程完成后,返回到子界面3) 4、还书管理: 请选择对应数字实施对应功效:40:返回主菜单41:还书登记 请输入读者编号: 请输入所借书号: (注:还书过程完成后,返回到子界面4) 5、输出全部图书和读者信息: 请选择对应数字实施对应功效:50:
8、返回主菜单51:输出全部图书信息: 书号 书名: 库存量 现存量 52:输出全部读者信息: 读者编号 读者姓名 所借书号(注:输出图书和读者信息后,返回到子界面5) 二、 数据结构设计程序中考虑到图书信息和读者信息中全部包含有不一样类型数据,故分别建立图书和读者两种类型结构体;因为图书和读者数量非固定,所以采取动态链式存放来实现。图书类型:typedef struct bkchar book_num11; /* 书号采取10位编码最终1位为字符串结束标志(下同). */char book_name41; /* 书名要求不超出40个字母(20 个汉字) */ unsigned book_kc,b
9、ook_xc; /* book_kc 代表库存梁,book_xc代表现存量 */struct bk *next; book;读者类型:typedef struct rdchar reader_num11; /* 读者编号采取10位编码 */char reader_name11; /* 读者姓名 */ char reader_book_num11; /*表示所借书号,初始值为“0”*/struct bk *next; reader;三、 关键功效程序结构设计1、系统关键结构步骤图:开始否已做初始化初始化是退出系统 0功效选择1 4 5 3 2图书查询还书借书登记新书入库是入库完否 51 52输出
10、读者信息输出图书信息否(注:功效模块2,3,4,5全部类似功效模块1,细节见下面个功效程序步骤图)2、新书入库功效程序结构图 开始输入新书名、新书号和新书数量 是if(还有新书) 依据数量修改库存已存在此新书 是 否结束(即返回主菜单) 否 book.dat中增加此新书,依据数量设置库存量3、图书查询程序结构图:输入要查询书号开始是否存在此书输入信息:此书不存在 否 是输入此书全部信息结束(即返回主菜单)是否继续查询 否 是 4、借书登记程序结构步骤图: 是是否重输否满输出犯错信息 否 否 是否存在编号输入读者编号开始 是是否还书借书卡是否满提醒不能借书 是 否 否 是进入还书模块输入需要借书
11、号 结束(即返回主菜单)书号存在否 否 是 否还有读者借书借书登记,修改book.dat 中现存信息,reader.dat 中借书卡信息 是5、 还书管理程序结构图: 是 否 否 是输入还书书编号是否重输 否查对书号 错误进入查询模块输出犯错信息是否存在编号输入读者编号开始是否重输否满正确还书将读者信息借书卡清0修改book.dat现存信息还有读者还书否结束(即返回主菜单)是6、输出读者和图书信息开始 选择输出图书还是读者信息输出全部读者信息图书图书结束(即返回主菜单)输出全部图书信息四、文件存放路径。可实施文件tsglxt.exe及book.dat、reader.dat,全部存放在c:tsg
12、l文件夹下。程序代码:#include #include /*图形函数头文件 */#include #include typedef struct bk char book_num11; char book_name41; int book_kc; int book_xc; struct bk * next;book; /* 图书信息*/typedef struct rd char reader_num11; char reader_name11; char reader_book_num11; struct rd * next ; reader;/*读者信息*/struct bk * h_b
13、ook,* h_reader; /*全局变量,分别为指向图书信息链表和读者信息链表头指针*/void Form_Insert_New_Book(); /*新书入库菜单*/void Form_Find_Book(); /*查询图书菜单 */void Form_Borrow_Book(); /*借书菜单*/void Form_Return_Book(); /*还书菜单*/void Find_Book(char *); /*查询图书*/void Insert_New_Book(char *,char * ,int ); /*新书入库,即在链表中插入一个新节点*/void Borrow_Book(ch
14、ar *,char *);/*借书,修改读者借阅信息和图书现存信息*/void Return_Book(char *,char *);/*还书,修改读者借阅信息和图书现存信息*/void print_book(struct bk *);/*输出全部图书信息*/void print_reader(struct rd *);/*输出全部读者信息*/void load_data();/*从文件中读取数据,链表头指针指向第一个节点*/void init_reader();/*第一次运行程序时对三个读者初始化*/void init_book();/*第一次运行程序时对三本图书初始化*/void save
15、();/*将链表中信息保留到文件中*/void M_Form()/*主菜单*/ char ch; printf(n 图书管理系统主窗口); printf(n 0:退出系统); printf(n 1:新书入库); printf(n 2:图书查询); printf(n 3:借书登记); printf(n 4:还书管理); printf(n 5:输出全部信息); do /*此循环用来确保选择正确数字键实施对应功效*/ printf(nn 请选择对应功效代码:); scanf(%c,&ch); fflush(stdin); /*用于清楚键盘缓冲区中多出字符*/ while(ch!=0&ch!=1&ch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程 设计方案 报告 图书 标准 管理 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。