当前位置:首页 >> 教学研究 >>

C语言图书管理系统报告


HUNAN

UNIVERSITY

程序设计训练 报 告

设计题目 学生姓名 学生学号 专业班级 指导老师 起止时间 2011年6月16 日 ----2011年7月10日

湖南大学程序设计训练报告

目录

一 目的分析..................................................................2 二 系统简介..................................................................2 三 设计过程..................................................................3 四 本人完成的主要工作 ......................................................3 五 实训设计 ........................................................... ...6 ....................7

六 实训分析 ......................................... 七 调试过程所遇到的问题及解决方案 八 实训总结

.........................................7

....... ......................................................7

附录 1 源代码................................................................8 附录 2 截图.................................................................37

1

湖南大学程序设计训练报告
一、 目的分析
今天, 计算机的价格已经十分低廉, 性能却有了长足的进步。 它已经被应用于许多领域, 计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源; 第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。 在单位图书室使用计算机管理图书的意义: 现在我国的很多单位图书室图书馆中图书的管理水平还停留在纸介质的基础上, 这样的 机制已经不能适应时代的发展, 因为它浪费了许多人力和物力, 在信息时代这种传统的 管理方法必然被计算机为基础的信息管理所取代。 归纳起来,好处大约有以下几点: (1) 可以存储所有的图书档案,安全、高效; (2) 只需一到二名图书录入员即可操作系统,节省大量人力; (3) 可以迅速查到所需信息。

二、 系统简介
1. 管理员系统
(1)增加用户:增添一个新的用户。 (2)增加书籍:添加新的书籍包括出版社、本数、价格、书号、分类、作者、书名等信息。 (3)删除书籍:将已经存在的书籍信息删除。 (4)查询书籍:按书名,类别,书号,作者,出版社对书本信息进行查找。 (5)显示全部记录:将所有存在系统中的书籍记录显示出来。

2. 用户系统
(6)查询书本:按书名,类别,作者,出版社对书本信息进行查找。 (7) 借书:如果书还有库存且用户借书小于 10 本则可借书。 (8) 还书:归还用户所借的书。

三、 设计过程
首先搜集相关资料,了解一个图书管理系统应该有哪些功能。

2

湖南大学程序设计训练报告
画出相应的主界面流程图和人机界面图。 在了解了应有功能之后根据自己的实际能力选择一些能够编写的模块, 对模块的功能进行分析和制定相应的编写计划。 画出相应模块的流程图。 对相应模块进行编写之后插入程序中进行调试。 对调试中出现的问题进行修改。 将所有功能组合在一起,对整个程序的各个功能再多输入一些数据进行 调试。检查是否有功能的错误,各个模块在调用其他模块的数据时是否会出 错,检查一个模块调用完后是否会影响其他模块运行和文件中保存的数据是 否被某个模块破坏。 检查系统的容错性,检查在输入数据非法的情况下程序是否能做出应有 的正确反映。 对系统的外观界面进行优化,并对在运行时发现的不符合操作习惯的功 能进行修改,提高运行时的界面友好性。

四、 本人完成的主要工作
前期搜集图书管理系统应有的相应功能,程序应有功能模块的分析,策 划。程序相关信息的查找和功能模块的组合。错误的修正,流程图的绘制, 借还书模块和显示用户全部信息、显示全部用户信息代码的功能分析编写, 查找内容、用户,显示全部书籍信息,创建新图书、新用户模块的修改。报 告的编辑,流程图手工版本的绘制。

五、 实训设计
1.开发平台:vc++6.0 企业版。 2.工具:记事本。 3.使用系统:winXP 以上。 4.核心数据结构设计: typedef struct bookinfo//将 bookinfo 类型定义为 BOOKINFO { char number[15];/*产品编号*/ char name[30];/*产品名称*/ float price;/*单价*/ char auther[20];/*作者*/ BOOL isExit;/*存在状态*/

3

湖南大学程序设计训练报告
char sort[20];/*书籍类别*/ char published[30];/*出版社*/ int bookcount;/*剩余书籍数量*/ } typedef struct student /*借书卡的数据类型*/ { int studentnum; //学号 int cardnum;//卡号 char studentname[10];//会员姓名 char studentclass[10]; //会员班级 char lendbook[10]; //存临时书名 int count;//借书数组 最多借书十本 char bookname[11][10];//存放书名 } 5.基本运行原理:
通过主菜单调用菜单函数输出菜单 b) 根据所选择的选项用 case 语句进行判断 c) 通过 case 语句调用相应函数 d) 将文件的内容存入数组进行查找修改 e) 操作完毕后将数组里的内容写回文件 f) 询问是否继续操作否的话则返回主菜单继续选择 g) 通过主菜单调用菜单函数输出菜单 h) 根据所选择的选项用 case 语句进行判断 i) 通过 case 语句调用相应函数 j) 将文件的内容存入数组进行查找修改 k) 操作完毕后将数组里的内容写回文件 l) 询问是否继续操作否的话则返回主菜单继续选择 2.函数设计 a) 函数原型 void input_newp() void input_new() void search_according_name() void search_according_auther() void search_according_sort() void search_according_published() void delete_according_name() void lendbook() void returnbook() void displayuser() void displaylend() void display_all() 输入新用户信息 输入新进的图书信息 根据图书名称显示图书的信息 根据图书作者显示图书的信息 根据图书类别显示图书的信息 根据图书出版社显示图书的信息 根据图书名称对图书信息进行删除 借书 还书 显示所有用户信息 显示所有借的书 显示全部图书信息 函数功能

4

湖南大学程序设计训练报告
void menu1() void searchbook() void menu2() void menu3() void main() 主菜单 图书查询系统函数 用户界面 管理员界面 主函数

3.核心算法描述(程序流程图)
查询书籍 借书 还书 显示全部图书 修改密码



会员

开始



密码是否正确

管理员



会员管理

修改密码

图书管理

增加书籍

删除书籍

查询书籍

显示全部 书籍

增加用户

显示全部 用户

显示用户 所借书本

5

湖南大学程序设计训练报告
开始

输入号码

开始

卡号是否存在

卡号是否存在

书是否存在

有无此书存在





有无借满十本



此人有无 借本书







借书并保存记录

还书并删除记录

结束

结束

六、 实训分析
设计并实现该课程设计的目的主要在于: 1) 对一定规模的综合软件编程有一定的经历与认识。在做的过程中,我们 发现,提前的规划即分析与设计重要过编程过程,否则会走很多弯。 2) 综合并结合现实应用使用 C 语言的知识。这个设计会用到 C 语言这门 课的全部知识,其中以文件、数组与函数为主,书中提到的主要及重点

6

湖南大学程序设计训练报告
算法都会使用到。 3) 不仅涉及编程,还涉及到功能分析、模块规划等方面的知识,这些知识 在后续课程学习时, 会经常使用。而且这些知识在今后单片机编程过程 中,都会用到。 4) 每项功能的实现, 一般有多种方法,这在这里我们并没有在所有模块中 采用最简单的方法, 而是采用了自己平时最常用最熟悉的方法,以尽可 能保证程序的正常运行,在此基础之上使算法尽可能简化。 5) 涵盖了图书管理所需要的几个最基本功能, 让我们对今后一个系统的整 体分析设计与完成有了一个初步的了解。

七、 调试过程所遇到的问题及解决方案
6) 一:在调试过程中发现在进行过一次输入之后,缓冲区会有内容存在。 当选择继续添加或选择其他内容进行输入时, 系统会直接将缓冲区的内 容给 gets 函数,造成输入错误。 解决方法:用 fflush()函数在 每次输入前清空缓冲区。 7) 二: 在调试过程中发现缺少对用户是否借了书本的验证,在还书时只要 书名在书库中存在即可还书,在操作不当时会导致错误。解决方案:在 还书增加了对用户借书数组中书名的校对。 8) 三: 在输出所有用户信息时不知因何原因会输出空的信息列表,而且增 加的数目(用户)越多所输出的空信息列表也越多。 解决方法:采 取了在输出前先判断,屏蔽掉那些空信息。 9) 四:在要对文件某项进行修改时无法准确地将指针定位到那一项内容。 解决方法: 采取先将文件内容全部存至数组,在对数组进行修改后整体 重新写回文件。

八、 实训结论
经过一个多月的设计和开发,《图书管理系统》已经基本开发完成。其功能基本符合 用户需求。我认为在这次课程设计的过程中,通过将所的理论知识与实际情况相结合,独立 思考, 全面分析, 灵活运用所学知识, 解决具体问题, 将有力地促进理论水平的进一步提高。 同时,对心理素质的锻炼和工作作风的培养,将有助于今后的工作与生活。但是,由于课程 设计时间较短, 工作任务繁重, 加上本人能力有限, 所以该系统还有许多不尽如人意的地方, 比如:文档比较少,用户界面不够美观,出错处理机制不够等一些问题,这些都有待进一步 的改善。 非常感谢我的同学们我的老师们当我在毕业设计过程中遇到问题和困难时,是你们给 我提出许多关键性的意见和建议, 使我对整个毕业设计的思路有了总体的把握, 并耐心的帮 我解决了许多实际问题,使我获益良多。是你们教授了我丰富的知识,教会了我学习知识的 能力。

7

湖南大学程序设计训练报告

九、 附录 1:源代码

十、 附录 2:截图

8

湖南大学程序设计训练报告

9

湖南大学程序设计训练报告

10

湖南大学程序设计训练报告

11


赞助商链接
相关文章:
c语言图书管理系统课程设计报告
c语言图书管理系统课程设计报告_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档c语言图书管理系统课程设计报告_IT/计算机_专业资料。沈航北方科技学院 课程...
c语言程序设计报告 图书管理系统
c语言程序设计报告 图书管理系统_理学_高等教育_教育专区。中国地质大学 本科生课程论文封面 课程名称 c 语言课程设计 教师姓名 樊媛媛 本科生姓名 本科生学 本科生...
中国地质大学(武汉)C语言图书管理系统课程设计报告
中国地质大学(武汉)C语言图书管理系统课程设计报告_电脑基础知识_IT/计算机_专业资料。C 语言课程实习报告 所在院系 :工程学院 班级学号:052126-20121002220 姓名 :...
C语言图书管理系统实验报告
C语言图书管理系统实验报告_工学_高等教育_教育专区。C语言编写的图书管理系统实验报告,附详细报告、源程序及心得课 程 报 告 课程 名称: 程序设计实践 信息类 ...
C语言图书管理系统代码和课程报告书[1]
C语言图书管理系统代码和课程报告书[1]_管理学_高等教育_教育专区。课 程 报 告 课程 名称: 程序设计实践 专业班级:学生姓名:学号: 任课教师:学期: 2011-...
C语言课程设计图书管理系统
C语言课程设计图书管理系统_理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 C语言课程设计图书管理系统_理学_高等教育_教育专区。本文档只作为参考,...
C语言图书管理系统课程设计报告[1]
C语言图书管理系统课程设计报告[1]_管理学_高等教育_教育专区。第三章 图书管理系统的设计与实现 3.1 系统的需求分析图书登记管理系统作为一个应用软件将为学校的老...
c语言图书管理系统课程设计报告
合肥学院 计算机科学与技术系 课程设计报告 2010~2011 学年第二学期 课学学专指业导班教生姓 程名号级师 C 语言课程设计 图书管理系统 课程设计名称 2011 年...
《图书借阅管理系统》C语言程序设计报告
图书借阅管理系统C语言程序设计报告_工学_高等教育_教育专区。是期末老师让座的一个C语言程序设计报告 课程设计报告 课程名称 课题名称 C 语言程序设计图书借阅...
C语言图书管理系统课程设计报告.张真
C语言图书管理系统课程设计报告.张真_工学_高等教育_教育专区。C语言图书管理系统课程设计报告.C 语言课程设计题 系专班姓学地目: 图书管理系统 别: 数学与统计...
更多相关标签: