c语言图书馆管理系统.doc
《c语言图书馆管理系统.doc》由会员分享,可在线阅读,更多相关《c语言图书馆管理系统.doc(32页珍藏版)》请在冰豆网上搜索。
内蒙古科技大学课程设计论文
内蒙古科技大学
本科生课程设计说明书
题目:
C语言课程设计
——图书信息管理系统
学生姓名:
安静
学号:
1376807343
专业:
计算机科学与技术
班级:
三班
指导教师:
郝斌
31
内蒙古科技大学课程设计任务书
课程名称
C语言课程设计
设计题目
图书信息管理系统
指导教师
郝斌
时间
2015年1月4日
一、教学要求
1.巩固和加深学生对C语言课程的基本知识的理解和掌握
2.掌握C语言编程和程序调试的基本技能
3.利用C语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C语言解决实际问题的能力
二、设计资料及参数
每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。
图书信息管理系统包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
图书信息录入功能(图书信息用文件保存)--输入
图书信息浏览功能--输出
查询或排序功能:
(至少两种种查询方式)--算法
●按书名查询●按作者名查询
图书信息的删除与修改图书的借出与归还
三、设计要求及成果
1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)
2.写出详细设计说明(至少包括功能实现分析和模块流程图)
3.编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)
4.设计完成的软件要便于操作和使用
5.设计完成后提交课程设计报告(请严格按照模板进行排版)
四、进度安排
第一天 选择课程设计题目,分析课题的要求
第二天 编程
第三天 编程及调试
第四天 写课程设计报告
第五天 提交课程设计报告(打印稿及电子稿)
五、评分标准
1.根据平时上机考勤、表现和进度,教师将每天点名和检查
2.根据课程设计完成情况,必须有可运行的软件。
3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。
六、建议参考资料
1.《C语言程序设计》,谭浩强,清华大学出版社
2.《C语言程序设计课程设计》,刘振安,机械工业出版社
目录
内蒙古科技大学课程设计任务书 I
第一章需求分析 3
1.1引言 3
1.2任务概述 4
1.3数据描述 4
1.4功能需求 4
1.5性能需求 4
1.6运行需求 5
1.7任务计划 5
第二章概要设计 7
2.1总体设计 7
2.2数据类型设计(或数据结构设计) 7
2.3接口设计 8
2.4运行界面设计 8
第三章详细设计 10
3.1输入模块设计 10
3.2查找模块设计 11
3.3删除模块设计 12
3.4借阅模块设计 14
3.5还书模块设计 16
3.6流程图 17
第四章测试分析 18
4.1测试程序执行情况 18
4.2出现的问题和解决的方法 21
第五章课程设计总结 22
附录:
程序代码 23
参考文献 30
致谢 31
第一章需求分析
1.1引言
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。
图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。
随着图书的大量增加,其管理难度也越来越大,如何优化图书馆的日常管理也就成为一个大众化的课题。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
当前图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。
如要对很长时间以前的图书进行更改就更加困难了。
因此图书管理信息化是发展的必然趋势。
用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。
建立一个图书管理系统可以使图书管理工作规范化、系统化、程序化、避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书信息。
图书管理系统是一个对图书进行录入、删除、修改和查询的管理应用软件,管理员可以对文件中存储的图书进行查询和管理,了解图书的基本信息。
该系统充分利用计算机的功能实现对书籍管理的自动化控制,将会使图书馆管理工作大大减轻,方便友好的图形用户界面,简便的操作,完善的数据库管理,将会使图书馆信息管理系统极大限度地应用于现代化图书管理,成为图书管理人员的得力助手
1.2任务概述
每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。
图书信息管理系统包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
图书信息录入功能(图书信息用文件保存)--输入
图书信息浏览功能--输出
查询或排序功能:
(至少两种种查询方式)--算法
●按书名查询●按作者名查询
1.3数据描述
图1.3
1.4功能需求
图1.4
1.5性能需求
在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。
1.6运行需求
1.输入图书信息时按照“图书编号、书名、作者、出版日期、图书价格”的顺序输入。
2.以(0/1)形式判断时,只能用阿拉伯数字。
3.进入排序功能后,要想见排序信息,到主菜单下浏览信息。
1.7任务计划
1.样例输出和输入
图1.7.1
下面以上述据描述的数据为测试数据进行简单输入输出
图1.7.2查询界面
图1.7.3删除界面
第二章概要设计
图书管理系统
2.1总体设计
信息录入
信息查询
信息浏览
信息删除
信息修改
退出系统
图2.1
录入:
可以添加图书信息,依次输入编号、书名、作者、出版时间、出版社后,会提示是否继续添加。
浏览:
可以以表格形式输出所有图书信息。
删除:
输入欲删除图书后,会自动删除图书信息的记录内容。
查询:
可以选择用图书名字方式查询。
修改:
输入欲修改的书名后,再依次输入编号、书名、作者、出版时间、出版社即可完成修改。
2.2数据类型设计(或数据结构设计)
structbooks
{
chartsmc[12];
inttsbh;
floatdj;
charzz[12];
charczzt[12];
charxm[12];
charxb[12];
intxh;
}s[M];
以结构体数据类型输入数据。
2.3接口设计
函数名
函数格式//即函数首部
函数功能
intmain()
int
建立主界面
voidsr
void
输入函数
voidcx
Void
查询图书
voidsc
Void
删除图书
voidjs
void
借书图书
voidhs
Void
还书图书
voidtc
void
退出
表2.3函数列表
2.4运行界面设计
/*主函数.主菜单*/
intmain()
{
intsele;
flag=0;
sele=1;
voidsr();
voidcx();
voidsc();
voidjs();
voidhs();
voidtc();
voidjsh();
//system("tsgl");
printf("\n\n");
printf("******************************************\n");
printf("1:
输入2:
查询3:
删除\n");
printf("4:
借书5:
还书0:
退出\n");
printf("******************************************\n");
while
(1)
{
printf("\n\n请输入功能序号:
");
scanf("%d",&sele);
if(sele>=0&&sele<=5)
{
switch(sele)
{
case1:
sr();break;
case2:
cx();break;
case3:
sc();break;
case4:
js();break;
case5:
hs();break;
case0:
jsh();break;
}
if(flag)
break;
printf("\n\n");
printf("*****************************************\n");
printf("1:
输入2:
查询3:
删除\n");
printf("4:
借书5:
还书0:
退出\n");
printf("*****************************************\n");
}
else
{
printf("输入错误请再次输入|\n\n");
printf("\n\n");
printf("************************************\n");
printf("1:
输入2:
查询3:
删除\n");
printf("4:
借书5:
还书0:
退出\n");
printf("************************************\n");
}
printf("\n\n让任意键继续\n");
}
//wr_file();
}
第三章详细设计
3.1输入模块设计
voidsr()
{
intn,i;
N=0;
printf("可输入的书本数:
");
scanf("%d",&n);
N=n+N;
printf("请输入相关信息:
\n");
for(i=1;i<=n;i++)
{
printf("图书名称:
");
scanf("%s",s[N-n-1+i].tsmc);
printf("图书编号:
");
scanf("%d",&s[N-n-1+i].tsbh);
printf("单价:
");
scanf("%f",&s[N-n-1+i].dj);
printf("作者:
");
sca