c语言图书管理系统课设报告

c语言图书管理系统课设报告

ID:2001083

大小:144.15 KB

页数:14页

时间:2017-11-14

c语言图书管理系统课设报告_第1页
c语言图书管理系统课设报告_第2页
c语言图书管理系统课设报告_第3页
c语言图书管理系统课设报告_第4页
c语言图书管理系统课设报告_第5页
资源描述:

《c语言图书管理系统课设报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言课程设计报告《程序设计语言-C》课程设计报告题目:图书管理系统班级:学号:姓名:2016年5月12日第14页C语言课程设计报告目录1.程序总体功能2.新增功能3.函数调用关系4.主要算法流程图1.排序算法流程图2.插入算法流程图5.过程难点及解决方法6.附录:源程序第14页C语言课程设计报告一:程序总体功能本图书管理系统可以实现图书管理的基本功能,包括图书信息的录入、输出、排序、删除、查找及批量导入/导出等。图书属性信息包括书号、书名、第一作者、版次、出版年信息。二:新增功能1.数据校验功能:即在程序运行之前

2、对输入数据的有效性进行判断,若输入数据不合逻辑则输出“数据输入有误,请核实后再输”不再执行后续程序,以此增加程序运行的效率。在本课程设计的删除记录功能中,按照要求输入要删除图书的书名后要接着输入书号来删除图书,若所输入书号不在正确书号范围内(书号输入错误),将直接终止程序,不再执行后续的删除程序。三:函数调用关系函数说明:0.退出系统1.数据输入函数:intInput(Bookinfobooks[],intn)2.数据输出函数:voidDisplay(Bookinfobooks[],intn)3.删除记录函数(1)

3、:intDelete(Bookinfobooks[],intn,char*book)删除记录函数(2):intDelete_a_record(Bookinfobooks[],intn)4.排序函数:voidSort_by_name(Bookinfobooks[],intn)5.有序插入函数(1):intInsert(Bookinfobooks[],intn,Bookinfo*s)有序插入函数(2):intInsert_a_record(Bookinfobooks[],intn)6.数据查询函数(1):intQuer

4、y(Bookinfobooks[],intn,char*book)数据查询函数(2):voidQuery_a_record(Bookinfobooks[],intn)7.从文件导入数据函数:intAddfromText(Bookinfobooks[],intn)8.记录数据写入文件函数:voidWritetoText(Bookinfobooks[],intn)9.主菜单函数:intmenu_select()10.主函数:voidmain()函数调用关系:(箭头指向被调用函数)数据输入函数11主函数10数据输出函数2

5、2循环调用删除记录函数3(1)删除记录函数3(2)3排序函数44主菜单函数9有序插入函数5(1)有序插入函数5(2)5数据查询函数6(1)数据查询函数6(2)6从文件导入数据函数77将记录数据写入文件函数88退出系统0第14页C语言课程设计报告四:主要算法流程图1.排序算法(数组按书名升序排序)已有结构体数组Bookinfobooks[]及数组元素个数n;定义整型量i,j,p;定义结构体变量l;开始i=0;j=0;p=0;否i

6、p].book)=-1是否p=jj=j+1否p≠ii=i+1是l=books[p]books[p]=books[i]books[i]=l结束第14页C语言课程设计报告1.插入算法(输入图书信息,按书名有序插入)已有结构体数组Bookinfobooks[]及数组元素个数n;(1)输入待插入的图书信息,调用Insert函数开始Bookinfos;Bookinfo*p;intl;p=&s输入图书信息调用Insert函数,l=Insert(books,n,p)返回主函数,输出“现在共有l本书”结束(2)Insert函数部分

7、Insert(books,n,*s)intk=n-1否k>=n-1是是strcmp(books[k].book,(*s).book)<0否books[k+1]=(*s)books[k+1]=books[k];k=k-1return(n+1)第14页C语言课程设计报告五:过程难点及解决方法1.结构体定义及指向结构体变量的指针定义是新尝试:上机指导书用typedef定义了新的结构体类型,而这种定义方式上课时未讲,需要重新学习这部分知识,并尝试使用。同时,指向结构体变量的指针也是新学习的知识,并首次使用。2.变量的作用域

8、及存储类别需严格区分:结构体数组中的元素个数n(主函数中用m接收函数返回的n值)需要在程序整个运行期间始终存在,而在一开始运行程序期间未意识到这个问题,把n简单地定义成int型,导致程序运行始终错误。在多次尝试后才意识到调用不同函数时,变量n应该保留上次函数调用结束时的值,于是把n定义成全局变量,m定义成静态局部变量,问题得以解决。3.从文件批量导入数据多次

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

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

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