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

上传人:飞*** 文档编号:28521586 上传时间:2018-01-17 格式:DOCX 页数:14 大小:144.15KB
返回 下载 相关 举报
c语言图书管理系统课设报告_第1页
第1页 / 共14页
c语言图书管理系统课设报告_第2页
第2页 / 共14页
c语言图书管理系统课设报告_第3页
第3页 / 共14页
c语言图书管理系统课设报告_第4页
第4页 / 共14页
c语言图书管理系统课设报告_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《c语言图书管理系统课设报告》由会员分享,可在线阅读,更多相关《c语言图书管理系统课设报告(14页珍藏版)》请在金锄头文库上搜索。

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

2、逻辑则输出“数据输入有误,请核实后再输”不再执行后续程序,以此增加程序运行的效率。在本课程设计的删除记录功能中,按照要求输入要删除图书的书名后要接着输入书号来删除图书,若所输入书号不在正确书号范围内(书号输入错误),将直接终止程序,不再执行后续的删除程序。三:函数调用关系函数说明:0.退出系统1.数据输入函数:int Input(Bookinfo books,int n)2.数据输出函数:void Display(Bookinfo books,int n)3.删除记录函数(1):int Delete(Bookinfo books,int n,char *book)删除记录函数(2):int D

3、elete_a_record(Bookinfo books,int n)4.排序函数:void Sort_by_name(Bookinfo books,int n)5.有序插入函数(1):int Insert(Bookinfo books,int n, Bookinfo *s) 有序插入函数(2):int Insert_a_record(Bookinfo books,int n)6.数据查询函数(1):int Query(Bookinfo books,int n,char *book) 数据查询函数(2):void Query_a_record(Bookinfo books,int n)7.从

4、文件导入数据函数:int AddfromText(Bookinfo books,int n)8.记录数据写入文件函数:void WritetoText(Bookinfo books,int n)9.主菜单函数:int menu_select()10.主函数:void main()函数调用关系:(箭头指向被调用函数)12345 6 7 80 主函数 10主菜单函数 9循环调用数据输入函数 1数据查询函数6(1)有序插入函数5(1)删除记录函数 3(1 )将记录数据写入文件函数 8从文件导入数据函数 7数据查询函数6(2)有序插入函数5(2)排序函数 4删除记录函数3(2)数据输出函数 2退出系统

5、C 语言课程设计报告第 4 页四:主要算法流程图1.排序算法(数组按书名升序排序)已有结构体数组 Bookinfo books及数组元素个数 n;定义整型量 i,j,p;定义结构体变量 l;开始i=0; j=0;p=0;否i=n-1是是 strcmp(booksk.book,(*s).book)#include#include#includetypedef structchar ISBN10;char book30;char author20;int edition;char press50;int year;Bookinfo; /定义结构体数组Bookinfo books500; /定义含

6、500 个变量的结构体数组存放图书信息int menu_select();/显示主菜单int Input(Bookinfo books,int n); /1.数据输入C 语言课程设计报告第 7 页void Display(Bookinfo books,int n); /2.输出数据int Delete_a_record(Bookinfo books,int n); /3.删除记录void Sort_by_name(Bookinfo books,int n); /4.排序int Insert_a_record(Bookinfo books,int n); /5.有序插入void Query_a_

7、record(Bookinfo books,int n); /6.查询数据int AddfromText(Bookinfo books,int n); /7.从文件中整批输入数据void WritetoText(Bookinfo books,int n); /8.将记录写到文件static int n=0;void main() /主函数static int m=0; /定义静态局部变量for(; ;)switch(menu_select()case 1:m=Input(books,n) ;printf(现在共有%d 本书n,m) ;system(pause);break;case 2:Dis

8、play(books,m);system(pause);break;case 3:Delete_a_record(books,m) ;system(pause);break;case 4:Sort_by_name(books,m);system(pause);break;case 5:m=Insert_a_record(books,m);printf(现在共有 %d 本书n,m);system(pause);break;case 6:Query_a_record(books,m);system(pause);break;C 语言课程设计报告第 8 页case 7:m=AddfromText(b

9、ooks,m);printf(现在共有%d 本书n,m);system(pause);break;case 8:WritetoText(books,m);system(pause);break;case 0:printf(再见!欢迎再次光临图书管理系统n);system(pause);exit(0);int menu_select() /显示主菜单程序char c;dosystem(cls);printf(n);printf(n);printf(n);printf(*/欢迎光临图书管理系统 V30.0+/*n);printf(*designed by lichenyang*n);printf(

10、*Put into use in May 2016*n);printf(1. Input recordsn);printf(2. Display All Recordsn);printf(3. Delete a Recordn);printf(4. Sortn);printf(5. Insert a Recordn);printf(6. Queryn);printf(7. Add Record from a Text Filen);printf(n);printf(n);printf(n);printf(8. Write to a Text Filen);printf(0. Quitn);pr

11、intf(Give your choice: n);c=getchar();while(c8);return(c-0);C 语言课程设计报告第 9 页int Input(Bookinfo books,int n) /1.数据输入函数 char c;int i=0; printf(please input the information of a book:n);printf(The information of a book includes its ISBN,name,author,edition,press,year)n);/版本请输入数字for(n=0;c!=e;n+,i+)scanf(

12、%s%s%s%d%s%d,booksi.ISBN,booksi.book,booksi.author,&booksi.edition,booksi.press,printf(Now you can input e to stop or coutinue to input the informationn);getchar();c=getchar();printf(输入数据已终止!n);return n;void Display(Bookinfo books,int n) /2.数据输出函数 int i;char c;c=a; /赋初值for(i=0;i=-1;k-)if(strcmp(book

13、sk.book,(*s).book)=-1)n=n+1;return(n);int Insert_a_record(Bookinfo books,int n) /5.2.输入待插入的图书信息,调用 Insert 函数Bookinfo s;Bookinfo *p; /定义指向结构体变量的指针p=int l;printf(please input the information of a book:n);printf(Theinformationof a book includes its ISBN,name,author,edition,press,year)n);scanf(%s%s%s%d%

14、s%d,s.ISBN,s.book,s.author,l=Insert(books,n,p); /函数调用printf(插入数据成功!n);printf(可重新返回 5 插入数据n);return(l);int Query(Bookinfo books,int n,char *book) /6.1.查询图书数据的被调用函数int i,j;for(i=0,j=0;i=0;p-)q=n=Insert(books,n,q); /结构体数组名作函数参数printf(从文件输入数据并有序插入成功!n);fclose(fp);return (n);void WritetoText(Bookinfo books,int n) /8.将数组记录全部写入文件FILE *fp;int i=0;printf(即将把数据写入文件,请稍后.n);fp=fopen(WritetoText.txt,w);if(fp=NULL)printf(创建文件失败!n);exit(1);for(;in;i+)fprintf(fp,%st%st%st%dt%st%dn,booksi.ISBN,booksi.book,booksi.author,booksi.edition,booksi.press,booksi.year

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号