C语言课程设计报告报告图书管理系统_计算机-.NET.pdf
《C语言课程设计报告报告图书管理系统_计算机-.NET.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计报告报告图书管理系统_计算机-.NET.pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 -w -C 语言课程设计报告 院 系:学 号:班 号:姓 名:标 题:图书管理系统 2 目 录 第一部分 题目要求3 第二部分 需求分析3 第三部分 总体设计4 第四部分 详细设计4 1)主函数4 2)各功能模块设计6 3)公共函数 16 第五部分 上机操作 17 第六部分 总结 20 附录(源代码)22 计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的
2、成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 3 第一部分 题目要求 图书管理系统包括:图书名称、图书编号、单价、作者、存在状态、借书人、性别、学号等,是设计一图书管理系统,使之能够提供以下功能:1.新图书基本信息的输入。2.图书基本信息的查询。3.对撤销图示基本信息的删除。4.办理借书手续。5.办理换书手续。第二部分 需求分
3、析 根据题目的要求,需要建立一个文件来保存图书信息,每本书的信息用一个结构体来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书人、性别、学号,结构体中的存在状态可设为整型,用不同数字代表借还状态;在借书和还书手续中,要注意结构体的成员变量存在状态的值,使用指针会比较方便。程序中需要对图书信息实现输入、查询、删除、借书和还书的功能,首先要使用菜单进行各项功能的选择;其次需要有文件的输入、计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能
4、够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 4 输出功能,提供显示、查找等操作。在程序的运行过程中,注意各功能在使用完毕后返回菜单的设置,以方便运行。第三部分 总体设计 根据上面的需求分析,可以将整个图书管理系统分为输入模块、
5、查找模块、删除模块、借书模块和还书模块(如图 3-1所示)。图 3-1 系统功能模块图 第四部分 详细设计 4.1 数据结构 在这个程序里,每本书的信息用一个结构体 book 来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书图书管理系统 输入新书 查找图书 删除图书 借阅图书 归还图书 计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体
6、的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 5 人、性别、学号,结构体中的存在状态设为整型,用不同数字代表库中高本书的数量。struct book char title30;int number;char author30;float price;int store;char borrower_name20;char bo
7、rrower_gender5;int borrower_number;sN;其中的 N 定义为该系统所管理书籍的最大值。#define N 100/书籍的最多本数 4.2 主函数【说明】主函数中,对“菜单”进行了输出,将各个模块的函数列出来,实现对各种功能的选择。其流程图如图 4.1-1所示。计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名
8、称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 6 图 4.1-1 主函数流程图 【程序】void main()int x;do printf(*菜单*n *1.输入图书信息 *n *2.查找图书信息 *n *3.删除图书信息 *n 显 示 一 系 列 功 能 选 项 输入 n,判断 n 是否是 05?调 用 与 n 相 应 的 模 块 N Y
9、 开 始 结 束 计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上
10、面的需求分析可以将整个图 7 *4.借阅图书 *n *5.归还图书 *n *0.退出 *n);printf(*n);printf(请在 0-5中选择,以回车键结束n);scanf(%d,&x);switch(x)case 1:input(&s0);break;/输入新图书信息模块 case 2:search(&s0);break;/查找模块 case 3:del(&s0);break;/删除模块 case 4:borrow(&s0);break;/借书模块 case 5:retur(&s0);break;/还书模块 case 0:break;/退出 while(x!=0);4.2 各功能模块设
11、计(1)输入模块 计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上
12、面的需求分析可以将整个图 8【分析】在输入模块中,主要以输入输出语句为主,使用了 do while 和 for 这两种循环方式,do while 是作为一级循环,for 为二级循环。在输入图书的基本信息过程中,使用指针进行字符串及值的传递。全局变量 m 是用于记录图书的储存位置,便于在后来的查询、删除等功能中的使用。调用 save(struct book*p)来保存输入的数据。定义的整型变量 y,用来储存是否继续的指令。该模块的流程图如下图 4.2-1所示。图 4.2-1 输入模块流程图 【程序】void input(struct book*p)输入图书的基本信息 调用 save(struck
13、 book*p)保存函数,m+判断 y 是否为 0?Y N 开始 返回菜单 结束 计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意
14、各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 9 int y;for(;ptitle);printf(请输入编号:);scanf(%d,&p-number);printf(请输入作者:);scanf(%s,p-author);printf(请输入图书价格:);scanf(%f,&p-price);printf(请输入图书数量:);scanf(%d,&p-store);m+;printf(第%d 个信息已经输入完毕,是否继续?n 按任意键继续,按 0 键结束.,m);scanf(%d,&y);/读取是否继续 if(y=0)save(&s0);read(
15、&s0);/调用读取文件函数 break;(2)查找模块【分析】此模块的提供两种查找方式,输入书名或作者,均可实现查找功能。在函数的结尾,选择是否继续查找。计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功
16、能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 10 图 4.2-2 查找模块流程图【程序】void search(struct book*p)/查询模块 int n;char name120;char name220;char c3;do 开 始 选择查找方式 0-2 1 或 2 输入书名或作者 调用 read(struct book*p)使用for 循环查找并显示记录 判断是否继续 Y N 返回菜单 结 束 0 计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第
17、六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 11 p=&s0;printf(t 请选择查找方式:n)
18、;/打印查询方式菜单 printf(1.按书名查找n 2.按作者查找n 0.返回n);printf(请在 0-2中选择:nn);scanf(%d,&n);/读取查找方式 if(n=0)break;switch(n)case 1:printf(请输入书名:n);scanf(%s,name1);break;case 2:printf(请输入作者:n);scanf(%s,name2);break;for(;ptitle,name1)=0|strcmp(p-author,name2)=0)printf(n 查找图书信息成功!n);printf(书名 编号 作者 价格 数量n);printf(%-10s
19、%-10d%-10s%-10.2f%-10dn,p-title,p-number,p-author,p-price,p-store);/打印信息 break;printf(是否继续查找?n“是”请键入“yes”,“否”请按任意键,返回菜单n);计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的
20、存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 12 scanf(%s,c);while(strcmp(c,yes)=0);/判断是否结束 (3)删除模块【分析】该模块实现对撤销图书的删除。用户首先查找要删除的图书,图书列表出来后,确认是否删除。当删除成功后,询问是继续删除还返回退出并返回菜单。其流程图如下图 4.2-3 所示。计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六
21、部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 13 图 4.2-3 删除模块流程图【程序】void de
22、l(struct book*p)/删除模块 int i;struct book*p1,*p2;char name120;开 始 选择删除方式 0-2 1 或 2 输入要删除的书名或作者 调用 read(struct book*p)使用for 循环查找并显示记录,m-判断是否继续 Y N 返回菜单 结 束 0 调用 save(struct book*p)计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的要求需要建立一个文件来保存图
23、书信息每本书的信息用一个结构体来保存结构体的成员应包括图书名称图书编号单价作者存在状态借书人性别学号结构体中的存在状态可设为整型用不同数字代表借还状态在借书和借书和还书的功能首先要使用菜单进行各项功能的择其次需要有文件的输入输出功能提供显示查找等操作在程序的运行过程中注意各功能在使用完毕后返回菜单的设置以方便运行第三部分总体设计根据上面的需求分析可以将整个图 14 char name220;char c3;int n;do p=&s0;printf(请选择删除以方式回车键结束:n);/打印删除方式菜单 printf(1.按书名删除n 2.按作者删除n 0.返回n);printf(请在 0-2中
24、选择:nn);scanf(%d,&n);/读取查找方/if(n=0)break;switch(n)case 1:printf(请输入书名:n);scanf(%s,name1);break;case 2:printf(请输入作者:n);scanf(%s,name2);break;read(&s0);/调用读取函数 for(i=0;ititle,name1)=0|strcmp(p-author,name2)=0)p1=p;for(p2=p1+1;p2title,p2-title);strcpy(p1-author,p2-author);p1-number=p2-number;p1-store=p2
25、-store;p1-price=p2-price;m-;printf(删除成功!n);else printf(没有该书记录!);break;printf(是否继续删除?“是”请键入“yes”,“否”请按任意键,返回菜单n);scanf(%s,c);/读取是否继续 save(&s0);/调用保存函数 while(strcmp(c,yes)=0);/判断是否继续删除 (4)借书模块 计第四部分详细设计主函数各功能模块设计公共函数第五部分上机操作第六部分总结附录源代码第一部分题目要求图书管理系统包括图书名称图书编号单价作者存在状态借书人性别学号等是设计一图书管理系统使之能够提供以下功求分析根据题目的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 图书 管理 系统 计算机 NET
限制150内