图书信息管理系统-c语言

图书信息管理系统-c语言

ID:3957615

大小:259.05 KB

页数:24页

时间:2017-11-26

图书信息管理系统-c语言_第1页
图书信息管理系统-c语言_第2页
图书信息管理系统-c语言_第3页
图书信息管理系统-c语言_第4页
图书信息管理系统-c语言_第5页
资源描述:

《图书信息管理系统-c语言》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、沈阳航空航天大学理学院C语言程序设计课程设计报告题目:图书信息管理系统专业:信息与计算科学班级:学号:学生姓名:指导教师:2010年7月9日课程设计成绩评定表姓名学号评语成绩平时成绩阶段考核课程设计报告总成绩指导教师(签字)教研室主任(签字)目录一、题目简介1二、概要设计21、无文件时的输入:22、有原文件时的输入:23、删除:24、修改:25、浏览:26、查询:27、储存28、读取:2三、详细设计41、无文件时的输入:42、有原文件时的输入43、删除:54、修改:55、浏览:66、查询:77、储存:78、读取:7五、解决方案91、读取时头指针的指向问题:92、菜单无法返回

2、:93、自动存储:9参考文献11一、题目简介1、系统以菜单方式工作2、图书信息录入功能(图书信息用文件保存)--输入3、图书信息浏览功能--输出4、图书信息查询功能—算法,查询方式:按书名、按作者名等查询5、图书信息的删除与修改不知道图书的总数和可能的总数,于是使用了链表。题目要求基本可分为三类:对链表的修改、链表的输出和链表的存取。菜单化操作与图书信息文件形式保存都不算太困难,真正的关键还是在链表的使用。输入和输出功能,乃至储存和读取都是对整条链表的全部操作。而查询,删除,修改则需要先找到目标节点,然后只对目标节点进行操作,其中,删除、查询与修改又有所不同,考虑到可能的重

3、号情况(查询里不同书同一作者的情况更加常见),进行删除、查询时就不能单单只找到一个符合条件的节点,而必须将整条链表中所有符合条件的节点全部筛选出来,但是修改若将全部符合条件的全部帅选并替换,则一口气将出现大量重复信息,而且很难处理,于是使用修改时,每次进行修改重号信息只取第一条进行修改。二、概要设计1、无文件时的输入:包含了有原文件但原文件为空时的情况,重点是将头指针清空以便使数据正确输入即可。2、有原文件时的输入:包含了无原文件但已经输入数据的情况,直接在原有链表后继续添加数据。3、删除:运用搜索找到指定的节点,然后将下一节点直接连接到上一节点,以起到删除该节点的功能。4

4、、修改:运用搜索找到指定的节点,直接将该链表节点重新赋值。5、浏览:将全体链表全部输出。6、查询:按指定条件运用搜索找到指定的链表,只输出该节点的数据。7、储存:将链表的信息以文件形式保存。8、读取:将链表信息从文件中读取出来。图书信息管理系统对链表的修改输出存取有原文件时的输入无文件时的输入浏览查询储存读取对链表进行了删除对链表进行了修改系统模块图三、详细设计1、无文件时的输入:选项用的整形,修改数据用的结构体。head=NULL; p1=head; 输入p1; p1=p1->next; 直到输入的学号==02、有原文件时的输入:选项用的整形,修改数据用的结构体 p1=h

5、ead; 输入p1; p1=p1->next; 直到输入的学号==03、删除:选项用的整形,修改数据用的结构体p1=head; 学号==输入的学号 yn  p1=p1->next; 学号==输入的学号删除p1;4、修改:p1=head; 学号==输入的学号 yn  p1=p1->next; 学号==输入的学号修改p1;5、浏览:选项用的整形,浏览数据用的结构体p1=head; 输出p1; p1=p1->next; 直到p1==NULL;6、查询:选项用的整形,浏览数据用的结构体p1=head; 学号==输入的学号 yn  p1=p1->next; 学号==输入的学号浏览p1

6、;7、储存:选项用的整形,修改数据用的结构体,存储时使用的文件类型。 p1=head; 储存p1; p1=p1->next; 直到要储存的学号==08、读取:选项用的整形,修改数据用的结构体,存储时使用的文件类型。 p1=head; 读取p1; p1=p1->next; 直到读取的学号==0五、解决方案1、读取时头指针的指向问题:修改前头指针总是无法正确指向正确数据,导致头指针指向全部都是乱码,后来将头指针的读取单独做一个函数出现,虽然是程序更为拖沓,但总算是使程序正常运行。修改后2、菜单无法返回:无论进行任何行为之后,按照程序的流程,程序都会自动退出,而不是返回菜单,允许

7、用户经行其他操作(如删除一条数据后,无法观察是否删除成功),给用户的使用造成不便。后将主菜单函数从单线程改为do…while循环,若用户没有选择退出选项,则程序一直运行。3、自动存储:最开始函数是每次执行一次对链表的修改都会自动储存,如果用户进行了误操作(如误删),则没有挽救的机会,后加入了一个全局变量,每次对数据称有进行改动操作时,即会改动该全局变量,当用户退出时,会根据该全局变量是否发生改变而判断是否需要用户存盘,而用户也可选择是否存盘,以减少误操作的可能。修改后参考文献1、潭浩强著.C程序(第二版)。北京:清

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。