图书信息管理系统实验报告书.docx
- 文档编号:11958123
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:38
- 大小:309.60KB
图书信息管理系统实验报告书.docx
《图书信息管理系统实验报告书.docx》由会员分享,可在线阅读,更多相关《图书信息管理系统实验报告书.docx(38页珍藏版)》请在冰点文库上搜索。
图书信息管理系统实验报告书
课程报告
课程名称:
程序设计实践
专业班级:
信息类1006
学生姓名:
学号:
2
任课教师:
徐振强
学期:
2010-2011学年第二学期
课程报告任务书
题目
图书信息管理系统
主要
内容
开发一个图书信息管理系统,图书信息包括:
图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。
使之能提供以下基本功能:
(1)图书信息录入功能(图书信息用文件保存)--输入v
(2)图书信息浏览功能--输出
(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):
l①按书名查询②按作者名查询
按照价钱排序
按出版时间排序等等
(4)图书信息的删除与修改
扩展功能:
可以按照自己的程度进行扩展。
比如
(1)简单的权限处理
(2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。
(4)模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。
任务
要求
一、提交材料应包括:
(1)系统源代码
(2)课程报告
二、整个设计过程具体要求
(1)需求分析要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;
(2)设计过程要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)
(3)实现过程要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;
(4)总结阶段按照要求完成系统设计和实现报告,并进行总结、答辩。
成绩
评定
报告撰写情况(30分)
系统完成情况(30分)
答辩情况(40分)
总分
内容
20分
规范程度
5分
程序测试
5分
基本功能20分
扩展功能10分
自述情况10分
答辩情况
30分
成绩评定教师:
一.需求分析
本次C语言程序设计以“图书馆管理系统”为题,题目要求开发一个图书信息管理系统,图书信息包括:
图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己的当前能力进行扩充)。
基本功能包括:
(1)图书信息录入功能(图书信息用文件保存)--输入
(2)图书信息浏览功能--输出
(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):
①按书名查询②按作者名查询
按照价钱排序
按出版时间排序等等
(4)图书信息的删除与修改
当然,也可以根据个人的情况进行适当的扩展:
比如权限处理啊,报表打印功能,模糊查询,统计功能,或筛选出小于指定数量库存的图书等等。
测试数据有文件提供:
文件结构:
(无序)
图书编号书名作者出版社类别出版社时间价格
1001三国演义罗贯中民族文学出版社小说158555.5
1008孟子孟子人民教育出版社古籍198123.33
1002水浒传施耐庵民族文学出版社小说158248.36
1003西游记吴承恩民族文学出版社小说160246.38
1006线性代数同济同济大学出版社教育201019.98
1010新视野郑树棠外研社教育200932.90
1007春秋孔子人民教育出版社古籍198022.22
1009时间简史霍金外研社科普197735.31
1004红楼梦曹雪芹民族文学出版社小说162149.59
1005高等数学同济同济大学出版教育201029.6
二概要设计
(1).数据结构
根据题目给定的图书信息和数据格式可知道,链表结点必须用结构体实现。
故:
首先建立结构体数组:
{
[10];字符型图书编号
[20];字符型书名
[20];字符型作者
[20];字符型出版社
[20];字符型类别
;双精度实型出版时间
;实型价格
*;用与构建连表指向下一结点
};
*;定义全局变量
(2).模块划分
定义全局变量:
*;/*定义全局变量*/
函数原型清单:
/*密码验证*/
();
/*主菜单*/
();
/*录入图书信息*/
*();
/*将信息导入文件可追加*/
(*);
/*将信息导入文件只写(可覆盖)*/
(*);
/*从中读取数据构建链表*/
*(**n);
/*浏览全部图书信息*/
(*);
/*统计图书数目*/
(*);
/*按书名查询图书*/
(*);
/*按作者查询图书*/
(*);
/*按类别查询图书*/
(*);
/*按出版时间排序*/
(*);
/*按价格排序*/
(*);
/*按图书编号排序*/
(*);
/*按编号删除图书*/
*(*m[15]);
/*修改图书*/
*(*);
(3).程序总体框架
模块层次结构只确定了模块之间的关系以及函数原型,不是程序的执行步骤。
程序的总体框架是程序的总体流程图。
此程序并非是按照顺序逐一执行的,其中有某些程序他们之间的关系并不是递进,而是并列。
所以选取一个合适的菜单是最佳方案。
程序的总体框架如下:
由主函数进入程序
密码验证
通过后输出主菜单
图书馆图书管理系统
0-退出系统6-按类别查询
1-添加新图书7-按时间排序
2-浏览图书8-按价格排序
3-统计图书数目9-按编号排序
4-按书名查询10-按编号删除图书
5-按作者查询11-修改图书
未通过
输入对应编号
0-退出系统
1-添加新图书
2-浏览图书
3-统计图书数目
4-按书名查询
5-按作者查询
6-按类别查询
7-按时间排序
8-按价格排序
9-按编号排序
10-按编号删除图书
11-修改图书
三.功能模块的详细设计
主菜单
1.函数原型,功能及形参说明
函数原型:
()
函数功能:
实现系统的菜单调用,显示对应选项
参数说明:
函数类型为空
2.程序清单
()
{
("\n**************************************************\n");
("图书馆图书管理系统\n");
("\n");
("0-退出系统6-按类别查询\n");
("1-添加新图书7-按时间排序\n");
("2-浏览图书8-按价格排序\n");
("3-统计图书数目9-按编号排序\n");
("4-按书名查询10-按编号删除图书\n");
("5-按作者查询11-修改图书\n");
("\n");
("\n");
}
密码验证
1.函数原型,功能及形参说明
函数原型:
()
函数功能:
实现系统的密码验证功能
参数说明:
a[20]20个字符以内的密码输入
("");库函数清频
2.程序清单
()
{
a[20];
("**进入图书管理系统前请先进行密码验证");
{
(a);/*输入密码*/
("");/*调用库函数清屏*/
("对不起!
您输入的密码有误,请重新输入");
}((a,"0605")0);/*单一密码“0605”*/
("");
("欢迎进入图书管理系统\n");
}
添加新图书及是否保存
1.函数原型,功能及形参说明
函数原型:
*()
函数功能:
实现图书的添加及保存(其中调用函数(*)*将信息导入文件可追加*/)
参数说明:
*链表头结点指针
*p1,*p2辅助结点局外变量
2.程序清单
/*录入图书信息建立图书信息的链表*/
*()
{
*p1,*p2,*;/*建立辅助结点及头结点*/
;
0;
("");
();
("\n请按对应项输入图书信息以#结束:
\n");
p1=(*)(());
21;
{/*使用语句输入图书信息*/
(""1->);
((p1->,"#")0);/*判断结束符*/
("",
p1->1->1->1->1->1->);
'#';/*?
?
?
*/
p1=(*)(());
p2->1;
p21;
;
}
(1);
p1->;
("图书信息输入结束!
\n");
();
("是否保存图书信息?
(1.是/2.否):
");
("");
(1)
();/*调用函数保存至文件*/
("\n文件没有被保存!
\n");
;/*返回头指针*/
}
将信息导入文件可追加
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书的保存将信息导入文件可追加
参数说明:
*链表头结点指针
2.程序清单
(*)
{
*p1;
((("","a")))
{
("!
\n");
(0);
}
(p11->11->)/*遍历*/
(,"\\\\\.0\\n",
p1->1->1->1->1->1->1->)*将图书信息写入文件*/
();/*关闭文件*/
("");
();
("\n图书信息已成功保存到文件中!
\n");
();
}
将信息导入文件不可追加
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现修改及删除后的图书保存将信息导入文件并覆盖原文件
参数说明:
*链表头结点指针
2.程序清单
(*)
{
*p1;
((("","w")))
{
("!
\n");
(0);
}
(p1111->)/*遍历*/
(,"\\\\\.0\\n",
p1->1->1->1->1->1->1->)*将图书信息写入文件*/
();/*关闭文件*/
("");
();
("\n图书信息已成功保存到文件中!
\n");
();
}
浏览图书信息
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息的输出
参数说明:
*链表头结点指针
2.程序清单
(*)/*浏览全部图书信息*/
{
[10];
[20];
[20];
[20];
[20];
;
;
("");
();
((("","")))
{
("!
\n");
(0);
}
("\n");
("编号书名作者出版社类别出版时间价格\n");
(())/*读取并输出*/
{
(,"",
);
("\\\\\.0\.2\n",
);
};
(())
{
("!
\n");
(0);
}
}
从中读取数据构建链表
1.函数原型,功能及形参说明
函数原型:
*(**n)
函数功能:
建立图书信息单向链表
参数说明:
*链表头结点指针
*n图书数目指针
2.程序清单
*(**n)
{
*p,*p1,*p2;
((("","")))/*先安全打开目录文件*/
{
("!
\n");
(0);
}
(())/*读取并创建链表*/
{
(*n);
(*)(());
(,"",
>>>>>>>);
(){
;
p1;
}
{
p1->;
p21;
p1;
}
}
p2->;
(p);/*释放辅助结点所占用空间*/
(*n);
();
;
}
统计图书数目
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息数目统计并输出
参数说明:
*链表头结点指针
n计数
2.程序清单
(*)/*统计图书数目*/
{
0;
*p1;
();/*调用创建链表函数*/
(p11->11->)/*遍历*/
;/*计数*/
("\n此系统统计在内的图书共有册。
\n",
(1)/2)*计算并输出图书数目*/
}
按书名查询图书信息
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息按照书名查询并输出
参数说明:
*链表头结点指针
i计数判定
b[20];查找编号
2.函数流程图
0;
输入目标图书名称10[b]
(>)
遍历
未找到
>
0
输出图书信息
=0;
=0
0
3.程序清单
(*)/*按书名查询图书*/
{
0;/*i为计数判定*/
b[20];/*定义查找编号*/
*p;
();
;
("");
();
("\n请输入要查询的图书名称:
");
("");
(){
((>)0){/*比较输入的字符串与原文件中书名*/
("\n编号书名作者出版社类别出版时间价格\n");
("\\\\\.0\.2\n",
>>>>>>>);
;
}
>;
}
(0)
("\n对不起!
没有找到名为《》的图书!
\n");
}
按作者查询图书
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息按照图书作者查询并输出
参数说明:
*链表头结点指针
2.程序清单
(*)
{
0;
b[20];
*p;
();
;
("");
();
("\n请输入要查询的图书作者姓名:
");
("");
(){
((>)0){
("\n编号书名作者出版社类别出版时间价格\n");
("\\\\\.0\.2\n",>>>>>>>);
;
}
>;
}
(0)
("\n对不起!
没有找到‘’所著的相关图书!
\n");
}
按类别查询图书
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息按照图书类别查询并输出
参数说明:
*链表头结点指针
2.程序清单
(*)
{
0;
b[20];
*p;
();
;
("");
();
("\n请输入您要查询的图书类别:
");
("");
(){
((>)0){
("\n编号书名作者出版社类别出版时间价格\n");
("\\\\\.0\.2\n",
>>>>>>>);
;
}
>;
}
(0)
("\n对不起!
没有找到类别为‘’的图书!
\n");
}
按出版时间排序
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息按照出版时间并输出,但此过程并不被储存至文件
参数说明:
*链表头结点指针
*p,*;定义辅助变量用于选择排序
2.程序清单
(*)
{
*p,*;/*定义中间变量*/
;
n;
(*)(())*分配动态空间*/
("");
();
();
(>)/*利用选择法排序*/
{
;
;
>;/*将链表中第一个时间赋给*/
()
{
((>)<)/*比较*/
>;/*交换*/
;
>;
}
;
;
(>)
{
(>){
("\\\\\.0\.2\n",>>>>>>>);
()
>;
>>;
}
;
>;
}
(>){/*价格相同时无需比较*/
("\\\\\.0\.2\n",>>>>>>>);
>;
}
}
;/*将链表赋给结构体指针*/
("\\\\\.0\.2\n",
>>>>>>>)*浏览排序后的信息*/
("按价格成功排序后输出如上(注:
此过程不保存至文件):
\n");
;
}
按价格排序
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息按价格排序并输出,但此过程并不被储存至文件
参数说明:
*链表头结点指针
*p,*;定义辅助变量用于选择排序
2.程序清单
(*)
{
*p,*;/*定义中间变量*/
;
n;
(*)(());
("");
();
();
(>)/*利用选择法排序*/
{
;
;
>;/*将链表中第一个价格赋给*/
()
{
((>)<)/*比较*/
>;
;
>;
}
;
;
(>)
{
(>){
("\\\\\.0\.2\n",
>>>>>>>);
()
>;
>>;
}
;
>;
}
(>){/*价格相同时无需比较*/
("\\\\\.0\.2\n",
>>>>>>>);
>;
}
}
;/*将链表赋给结构体指针*/
("\\\\\.0\.2\n",
>>>>>>>)*浏览排序后的信息*/
("按价格成功排序后输出如上(注:
此过程不保存至文件):
\n");
;
}
按图书编号排序
1.函数原型,功能及形参说明
函数原型:
(*)
函数功能:
实现图书信息按图书编号排序并输出,但此过程并不被储存至文件
参数说明:
*链表头结点指针
*p,*;定义辅助变量用于选择排序
2.程序清单
(*)
{
*p,*;
[20];
n;
(*)(());
("");
();
();
(>)
{
;
;
(>);
()
{
((>)<0)
(>);
;
>;
}
;
;
(>)
{
((>)0){
("\\\\\.0\.2\n",
>>>>>>>);
()
>;
>>;
}
;
>;
}
();
}
按编号删除图书
1.函数原型,功能及形参说明
函数原型:
*(*m[15])
函数功能:
实现图书信息按图书编号删除,并将删除后的信息储存至文件
参数说明:
*链表头结点指针
*1,*2;定义辅助变量
m[15]用于储存欲删除的图书编号
2.程序流程图
输入要删除的图书编号
(>)0
(>)!
=0
1;
2>;
2;
>;
(2);
12;
21->;
已删除并保存至文件
();
!
无图书
P2!
(2->)
1->2->;
(2);
=0
!
=0
();
3.程序清单
*(*m[15])
{
*1,*2;
n;
("");
();
("\n请输入想要删除的图书编号:
");
("");
();
(((>)0))
{
2;
>;
(2);
}
(){
("无图书信息!
\n");
;
}
1;
2>;
(2){
((2->)0){
1->2->;
(2);
}
12;
21->;
}
();
("");
();
("\n编号为‘’目标图书已被删除,并保存至文件!
\n");
;
}
修改图书信息
1.函数原型,功能及形参说明
函数原型:
*(*)
函数功能:
以编号查找目标图书实现图书信息的各个成分的修改,并将修改后的信息储存至文件
参数说明:
*链表头结点指针
*1,*2;定义辅助变量
a[10]用于储存欲修改的图书编号
2.程序清单
*(*)
{
;
a[10];
[10];/*图书编号*/
[20];/*书名*/
[20];/*作者*/
[20];/*出版社*/
[20];/*类别*/
;/*出版时间*/
;/*价格*/
*p;
("");
();
();
;
("\n所有的图书信息如下:
\n");
();
("请选择您要修改的图书的编号:
");
("");
("");
(){
((>)0){
("");
("\n*******************************************\n");
("1修改图书编号2修改图书名称\n");
("3修改图书作4修改图书出版社\n");
("5修改图书类别6修改图书出版时间\n");
("7修改图书价格0停止修改\n");("********************************************\n");("\n您要修改的图书基本信息如下:
\n");
("编号书名作者出版社类别出版时间价格\n");
("\\\\\.0\.2\n",
>>>>>>>);
(1){
("请按0-7选择需要修改的图书成分:
");
("");
(k){
1:
("请输入新的图书编号:
\n");
("");
(>);
2:
("请输入新的图书名称:
\n");
("");
(>);
3:
("请输入新的图书作者:
\n");
("");
(>);
4:
("请输入新的图书出版社:
\n");
("");
(>);
5:
("请输入新的图书类别:
\n");
("");
(>);
6:
("请输入新的图书出版时间:
\n");
("");
>;
7:
("请输入新的图书价格:
\n");
("");
>;
0:
;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 信息管理 系统 实验 报告书