当前位置:文档之家› C语言程序设计 图书馆管理系统

C语言程序设计 图书馆管理系统

题目:图书馆管理系统院系:信息科技学院专业:姓名:学号:指导教师:日期: 2015年7月15日桂林电子科技大学信息科技学院实训报告目录1 问题定义 =================================12 系统设计 ---------------------------------5 2.1 总体设计 ---------------------------------5 2.2 详细设计 ---------------------------------6 2.2.1 数据结构设计 ---------------------------------6 2.2.2 主控流程 ---------------------------------8 2.2.3 增加信息模块 ---------------------------------7 2.2.4 查找信息模块 ---------------------------------7 2.2.7 删除信息模块 ---------------------------------7 2.2.8 修改信息模块 ---------------------------------72.2.8 数据功能描述 ---------------------------------73 系统实现 ================================ 2 3.1 编码 -------------------------------- 83.1.1 程序预处理 -------------------------------- 93.1.2 主函数main() --------------------------------- 93.1.3 主菜单界面 -------------------------------- 113.1.7 增加图书信息 -------------------------------- 143.1.8 查询图书信息 -------------------------------- 143.1.9 删除图书信息 -------------------------------- 153.2.0 修改图书信息 -------------------------------- 153.2 测试与调试 -------------------------------- 133.2.1 概述 -------------------------------- 143.2.2 程序测试 -------------------------------- 14 5 归纳总结 ============================================== 3 5.1 开发经验 -------------------------------- 16 5.2 实训中遇到的问题及解决方法------------------------- 16 5.3 设计中的不足之处 --------------------------------- 165.4 感想和心得体会 --------------------------------- 166 参考资料 ================================= 16前言课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。

通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。

我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。

但是,对于程序设计而言,学习C 的步伐不应该停留于此。

我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。

可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。

本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。

本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。

由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。

编者图书馆管理系统一.实训目的:1.巩固C语言的三种基本结构、数组、函数调用的基本知识;2.掌握利用C语言编写程序的基本方法,提高C语言编程技巧,培养分析问题、解决问题的能力;3.熟练掌握C语言的编译、调用方法。

二.实验内容创建一个图书馆管理系统。

假设系统中每本图书只包括图书名字、图书书号、图书出版社、图书作者等信息。

程序的运行效果如图1.1所示,选择任意菜单中的数字,实现相应功能。

图1.1 图书管理系统功能需求在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。

2. 系统设计2. 1 总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。

需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。

可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

本图书管理系统采用了数组来实现,如下图1.2所示,它由五大功能模块组成:•增加图书信息模块。

通过输入图书的书名、书号、出版社、作者来实现增加信息。

•查找图书信息模块。

根据增加的图书的书名来查找图书的信息。

•删除图书信息模块。

根据增加的图书信息记录通过查找定位找到信息进行删除。

•修改图书信息模块。

根据增加的图书信息记录通过查找找到该书信息进行修改。

2.2详细设计2.2.1数据结构设计●图书馆信息结构体结构体struct book将用于储存图书的基本信息,它将作为文件的数据域。

●Struct book /* 定义结构体*/{char Name[20]; /* 书名*/char Number[20]; /* 书号*/char publish[20]; /* 出版社*/char author[10]; /* 作者*/} book[500];这样就定义了一个数组的结构2.2.2 主控main()函数执行流程2.2.3增加信息模块:主要实现图书信息的增加功能。

2.2.4查找信息模块:主要实现图书查找书籍的功能。

2.2.5删除信息模块:主要实现图书删除图书记录的功能2.2.6修改信息模块:主要实现修改增加后的图书信息功能。

2.2.7函数功能述•add()函数原型:void add();add()函数用于在增加图书信息的功能。

•chazhao()函数原型:chazhao();chazhao()函数用于在查找图书信息的功能。

•del()函数原型:del();del()函数用于在删除图书信息的功能。

•xiugai()原型函数:xiugai();xiugai()函数用于在修改图书信息的功能。

主函数main()整个成绩管理系统控制部分。

void main() /* 整个图书管理系统控制部分*/{int i;do /* 控制返回菜单*/{Menu();printf("请输入要实现的功能");scanf("%d",&i);if(i<=4&&i>=0) /*请输入0到4之间的数字*/switch(i){case 1 : add() ;break;case 2 : chazhao() ;break;case 3 : del() ;break;case 4 : xiugai() ;break;case 0 : exit(0) ;break;}elseprintf("对不起,请重新输入并按回车确定\n\n");}while(1);}注:图书馆信息管理系统的控制部分。

3、系统实现3.1 编码3.1.1 程序预处理包括定义结构体、常量和变量、声明部分,并对它们进行初始化工作。

#include <stdio.h> /*标准函数输入输出函数库*/#include <stdlib.h> /*标准函数库*/#include <string.h> /*字符串函数库*//*^TTT^TTT^^TT^TT^TT^T函数声明部分T^TTT^T^TT^TT^TT^TT^T*/void add(); /* 增加*/void chazhao(); /* 查找*/void del(); /* 删除*/void xiugai(); /* 修改*/void exti(); /* 退出*/void Menu(); /* 菜单*//*T^^TT^TT^TT^TT^T定义结构体部分T^TTT^TT^TT^TT^TT^TT^T*/struct book /* 定义结构体*/{char Name[20]; /* 书名*/char Number[20]; /* 书号*/char publish[20]; /* 出版社*/char author[10]; /* 作者*/} book[500];#include <stdio.h> /*标准函数输入输出函数库*/#include <stdlib.h> /*标准函数库*/#include <string.h> /*字符串函数库*//*^TTT^TTT^^TT^TT^TT^T函数声明部分T^TTT^T^TT^TT^TT^TT^T*/void add(); /* 增加*/void chazhao(); /* 查找*/void del(); /* 删除*/void xiugai(); /* 修改*/void exti(); /* 退出*/void Menu(); /* 菜单*//*T^^TT^TT^TT^TT^T定义结构体部分T^TTT^TT^TT^TT^TT^TT^T*/struct book /* 定义结构体*/{char Name[20]; /* 书名*/char Number[20]; /* 书号*/char publish[20]; /* 出版社*/char author[10]; /* 作者*/} book[500];3.1.2主函数main()main()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。

相关主题