图书管理系统课程报告.docx
- 文档编号:12411846
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:38
- 大小:347.82KB
图书管理系统课程报告.docx
《图书管理系统课程报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统课程报告.docx(38页珍藏版)》请在冰点文库上搜索。
图书管理系统课程报告
课程报告
课程名称:
专业班级:
学生姓名:
学号:
任课教师:
学期:
课程报告任务书
题目
图书信息管理系统
主要
内容
开发一个图书信息管理系统,图书信息包括:
图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。
使之能提供以下基本功能:
(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分
成绩评定教师:
1需求分析
本次实验目的是开发一个图书管理系统,且该图书管理系统中应包含以下基本功能:
(1)图书信息录入功能
(2)图书信息浏览功能
(3)查询功能
例如:
按书名查询、按作者名查询等等
(4)排序功能
例如:
按照价钱排序、按出版时间排序等等
(5)图书信息的删除与修改
除此之外,个人还可以根据自己的爱好进行各方面的扩展。
例如权限处理、图书排序等等。
在我们设计自己的程序时不仅可以利用课本上的知识,还可以在互联网上查询有关该类信息,将其学习总结并利用在此次程序设计中。
利用这次程序设计实验,我们可以提高自己的设计和编辑程序的能力、了解一般程序的编写过程,还可以巩固加深我们对C语言程序基本知识的了解与掌握。
我在该实验中不仅利用了课本上的函数知识、文本的输入和读出,还用互联网查阅了相关知识。
如“("")”,用汉语解释就是清屏功能;还有“()”函数,输入不读出,不过在利用“()”进行密码的改写时老是出错误,就舍弃了该函数。
在利用“("")”时感觉还是很好的,用该函数后不仅可以使程序在运行时美观大方,还可以一眼扫描到我们要找的信息。
而我在我编写的程序中设计了如下的功能:
1 登陆权限功能
2 查找全部图书并总图书本数功能
3 查找每本图书功能
4 添加图书功能
5 删除图书功能
6 修改图书功能
7 图书排序功能
8 金额管理功能
2概要设计
在实验中我主要是用函数来解决该程序的文件模块问题,用函数的嵌套调用来解决各模块间的联系问题。
在编写程序时,我首先用结构数组d[40]来定义图书的各种信息。
如:
编号、书名、作者、出版社、类别等等。
然后定义了全局变量和用来计算书本总数和金额总量。
而后在主函数中用循环变量中的语句和分支结构中的语句,来编写登录权限;创建文本并用文本的输入和输出语句将图书信息输入文本;用函数的嵌套来将各部分联系起来。
总体流程图如下:
下面介绍一下各个部分的程序:
1.查看全部图书功能
该功能函数名称为:
。
先定义整形变量:
i;而后用("")进行清屏;再输入提示信息“查看全部图书!
”,后利用循环进行循环输出。
最后输出总书本数。
其函数流程图如下:
否
是
2.查找每本图书功能
该函数名称为。
这个函数也是这样,首先用("")进行清屏处理;然后进行定义:
i,0,s[20];然后输出:
输入图书编号和查找图书!
再利用循环语句将输入的图书编号与该程序中的图书编号相等再输出该本图书的所有信息即图书的编号、书名、作者、出版社、类别、出版时间、价格。
这个程序的流程图与上一流程图差别不大,这里就不再写。
3.添加图书功能
该部分函数名称为:
。
首先定义i,0,3、p和文件指针*2,然后进行清屏处理。
然后输出:
添加图书!
接着依次输入图书的编号、书名、作者、出版社、类别、出版时间、价格。
然后显示是否显示添加后信息,如果选择是则会用函数和循环进行依次输出,最后显示“谢谢您对图书添加!
”并且最后以一排星号结束,选择否则会显示“谢谢您对图书添加!
”并且最后以一排星号结束。
其函数流程图如下:
是
否
4.删除图书功能
该部分函数名称为:
。
先定义i,0;s[20];和文件指针*3,然后利用("")进行清屏处理。
然后输出:
删除图书,接着输出“请输入图书编号”,然后利用循环语句将输入的图书编号与该程序中的图书编号相等,再将这个图书编号所在的图书删除并将信息录入文档。
接着显示“是否显示删除后的信息”,如果选择是则会用函数和循环进行依次输出该图书的编号、书名、作者、出版社、类别、出版时间、价格。
最后以一排星号结束。
选择否也会显示一排星号结束。
该函数的流程图与查看全部图书的流程图类似,这里也不再写出。
5.修改图书功能
该函数名称为:
。
先定义s[20];和文件指针*2,然后利用("")进行清屏处理。
然后输入要修改图书的编号,将新图书的信息重新输入保存到文档中即可。
6.图书排序功能
该函数名称为:
。
先定义a;然后用("")进行清屏处理!
然后会输出1-按图书编号排序2-按出版时间排序3-按图书价格排序,然后根据输入数据会进入不同的子函数。
当选择1时,其函数名称为:
。
在这个函数中先对变量进行定义:
和。
然后清屏,用函数进行对图书编号的大小比较,然后利用变量将不符合次序的进行交换。
然后显示“排序成功!
”和“是否显示排序结果?
1:
是;2:
否”,如果输入1则会依次输出排序后的图书,最后以一排星号结束。
该函数的流程图为:
是
否
当选择2时,其函数名称为:
。
当选择3时,其函数名称为:
。
该函数与选择1时基本类似,在这就不一一叙述了。
7.金额管理功能
该函数名称为:
。
该函数就是将全局变量输出。
3详细设计
1 主函数
根据程序要求,一个程序只能有一个主函数。
因此主函数是一个程序好坏的基础,也是一个程序在运行时外在的表现,因此对主函数设计我做了很多修改,一直修改到让我满意。
我把函数分为几个部分说吧!
1.写完函数库及建立一个结构数组:
<>
<>
<>
{/*图书结构体*/
[50];/*图书编号*/
[50];/*图书名称*/
[50];/*作者*/
[50];/*图书出版社*/
[50];/*图书类别*/
;/*图书出版时间*/
;/*图书价格*/
*;
}d[40];
2.全局变量;
0;
;
3.所有的函数声明;
(d[]);/*查看全部图书*/
(d[]);/*查找图书*/
(d[]);/*添加图书*/
(d[]);/*删除图书*/
(d[]);/*图书排序*/
(d[]);/*按图书编号排序*/
(d[]);/*按图书出版时间排序*/
(d[]);/*按图书价格排序*/
(d[]);/*图书丢失*/
();
4.函数的头以及定义的变量和文本指针;
()
{
10;
b[20]1[20]="";
m[20]1[20]="1";
*;
5.登陆权限功能函数
(q){
("");
("\n\n\n\n");
("**********欢迎光临**********\n\n");
("*************图书管理系统**************\n\n");
("1.用户登录\n");
("0.退出登录\n");
("请输入您的选择:
");
("");
("\n");
();
(w){
0:
0;
;
1:
("请输入用户名:
");
("");
("\n");
("请输入密码:
");
("");
();
("\n");
(
(1)0
(1)0){
("用户名或密码错误!
\n");
("请重新输入:
");
("");
();
("");
}
{
("验证通过!
请按键进入!
\n");
("");
}
6.文本的输出;
=("","r");
()
{
("1!
\n");
(0);
}
(!
())
{
(,"\n",
d[i],d[i],d[i],d[i],d[i],[i],[i]);
;
}
;
();
7.图书管理系统的功能列表函数及函数结尾;
{
("");
("\n\n\n\n");
("|**********************************************|\n");
("|*图书信息管理系统*|\n");
("|**********************************************|\n");
("1.查看全部图书5.修改图书\n");
("2.查找图书6.图书排序\n");
("3.添加图书7.金额管理\n");
("4.删除图书8.退出程序\n");
("\n\n");
("请输入所选择的序号:
");
("");
();
(r){
1:
(d);
();
;
2:
(d);
();
;
3:
(d);
();
;
4:
(d);
();
;
5:
(d);
();
;
6:
(d);
();
;
7:
();
();
;
8:
;
}
}
(8);
("谢谢使用!
\n");
}
}
0;
}
2 查看全部图书函数
(d[])
{
i;
("");
("|**********************************|\n");
("|查看全部图书!
|\n");
("|**********************************|\n");
("图书的相关信息:
编号书名作者出版社类别出版时间价格\n");
(0<)
{
("%.2\n",/*将数据输出到屏幕中*/
d[i][i][i][i][i][i][i]);
}
("书本总数:
\n",);
("********************************************************************************\n");
}
3 查找图书
(d[])
{
("");
i,0;
s[20];
("输入图书编号:
\n");/*提示输入图书编号*/
("");
("|***********************************|\n");
("|查找图书!
|\n");
("|***********************************|\n");
(0<)
((s,d[i])0)
{
("该图书的相关信息:
编号书名作者出版社类别出版时间价格\n");
("%.2\n",
d[i],d[i],d[i],d[i],d[i],d[i],d[i]);
=1;
;
}
(0)
{
("该图书编号不存在!
\n");
("是否要继续查找?
y:
是;n:
否\n");
();
(())
{
'y':
(d);/*调用函数本身继续查找*/
'n':
;
}
}
("********************************************************************************\n");
();
}
4 添加图书函数;
(d[])
{
i,0,3;
p;
*2;
("");
("|***********************************|\n");
("|添加图书!
|\n");
("|***********************************|\n");
("请输入图书编号:
");
("");
("请输入图书名:
");
("");
();
("请输入作者名:
");
("");
();
("请输入出版社:
");
("");
();
("请输入类别:
");
("");
();
("请输入出版时间:
");
("");
();
("请输入价格:
");
("");
("是否添加并显示添加后的信息?
1:
是;2:
否\n");
("请选择:
");
("",3);
(3)
{
1:
{
(0<)
(([i])>0)
;
(>)
d[i]=d[1];
d[i]=p;
;/*每添加一本图书,图书数目都会增加一个*/
2=("","w");
(2)
{
("2!
\n");
(0);
}
(0<)
(2,"%.2\n",
d[i][i][i][i][i][i][i]);
(2);
("添加后的图书信息:
\n编号书名作者出版社类别出版时间价格\n");
(0<)
("%.2\n",
d[i][i][i][i][i][i][i]);
("谢谢您对图书的添加!
\n");
;
}
2:
("谢谢您对图书的添加!
\n");
;
}
("********************************************************************************\n");
();
}
5 删除图书函数
(d[]){
00;
s[20];
*3;
("");
("|***********************************|\n");
("|删除图书|\n");
("|***********************************|\n");
("请输入图书编号:
");
("",s);
(0<)
(([i])0)
{
("是否删除并显示删除后的信息?
1:
是;2:
否\n");
("请选择:
");
("",);
();
()
{
1:
{
(0<)
(([i])>=0)
;
(
(1)<)
d[i][1];
d[i]=p;
;/*每删除一本图书,图书数目都会减少一个*/
3("","w");
(3)
{
("3!
\n");
(0);
}
(0<)
(3,"%.2\n",
d[i][i][i][i][i][i][i]);
(3);
("删除后的图书信息:
\n编号书名作者出版社类别出版时间价格\n");
(0<)
{
(([i])0)
("%.2\n",
d[i],d[i],d[i],d[i],d[i],d[i],d[i]);
}
;
2:
;
}
}
=1;
();
;
}
(0)
("该图书编号不存在!
\n");
("********************************************************************************\n");
;
();
}
6 修改图书函数
(d[])
{
;
s[20];
*4;
("");
("|***********************************|\n");
("|图书修改|\n");
("|***********************************|\n");
("请输入图书编号:
");
("",s);
(0<)
(([i])0){
("您要修改的图书信息为:
\n编号书名作者出版社类别出版时间价格\n");
("%.2\n",
d[i],d[i],d[i],d[i],d[i],d[i],d[i]);
("请输入修改后的图书信息:
\n");
("请输入图书名:
");
(""[i]);
();
("请输入作者名:
");
(""[i]);
();
("请输入出版社:
");
(""[i]);
();
("请输入类别:
");
(""[i]);
();
("请输入出版时间:
");
(""[i]);
();
("请输入价格:
");
(""[i]);
4("","w");
(4)
{
("4!
\n");
(0);
}
(0<)
(4,"%.2\n",
d[i][i][i][i][i][i][i]);
(4);
}
("是否显示修改后的图书信息:
1:
是;2:
否\n");
("");
();
(k)
{
1:
(0<)
((s,d[i])0)
{
("该图书的相关信息:
\n编号书名作者出版社类别出版时间价格\n");
("%.2\n",
d[i],d[i],d[i],d[i],d[i],d[i],d[i]);
}
2:
("谢谢您对图书的修改!
\n");
;
:
("您的输入有误!
\n");
;
("********************************************************************************\n");
();
}
}
7 图书排序函数
(d[])
{
a;
("");
("****************************************************************\n");
("***1-按图书编号排序2-按出版时间排序***\n");
("***3-按图书价格排序0-取消排序操作***\n");
("****************************************************************\n");
("请输入您选择的编号:
");
("");
();
(a){
0:
;
1:
(d);
();
;
2:
(d);
();
;
3:
(d);
();
;
:
("您的输入有误!
\n");
;
}
}
/*按图书编号排序*/
(d[])
{
;
;
("");
(0<1){
;
(1<){
((d[i][])<0)
;
[];
d[][k];
d[k];}
}
("排序成功!
\n");
("是否显示排序结果?
1:
是;2:
否\n");
("");
(b){
1:
("编号书名作者出版社类别出版时间价格\n");
(0<){
("%.2\n",
d[i],d[i],d[i],d[i],d[i],d[i],d[i]);
}
;
2:
;
:
("您的输入有误!
\n");
;
}
();
}
/*按出版时间排序*/
(d[])
{
;
;
("");
(0<1){
;
(1<){
(d[i] ; []; d[][k]; d[k]; } } ("排序成功! \n"); ("是否显示排序结果? 1: 是;2: 否\n"); (""); (b){ 1: ("编号书名作者出版社类别出版时间价格\n"); (0<){ ("%.2\n", d[i],d[i],d[i],d[i],d[i],d[i],d[i]); } ; 2: ; : ("您的输入有误! \n"); ; } (); } /*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 课程 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)