图书登记管理系统程序dsWord文档格式.doc
《图书登记管理系统程序dsWord文档格式.doc》由会员分享,可在线阅读,更多相关《图书登记管理系统程序dsWord文档格式.doc(40页珍藏版)》请在冰豆网上搜索。
3.1系统流设计 6
3.2系统模块设计 7
4.详细设计 7
4.1数据结构设计 7
4.2模块接口设计 8
4.3以下是几个主要模块的流程图:
9
5.运行结果 13
5.1读取图书信息界面:
13
5.2欢迎界面:
5.3主菜单界面:
14
5.4给定书号显示图书信息界面:
15
5.5给定书名显示图书信息界面:
5.6给定书号修改图书信息界面:
16
5.7:
给定书号删除图书信息界面:
5.8:
图书信息显示界面:
17
5.9:
显示课设题目信息界面:
6.程序调试 18
6.1程序调试 18
7.课设总结 20
7.1心得体会 20
7.2问题与不足 23
8.程序源代码 23
9.参考文献 40
学生C语言图书登记管理程序设计
问题描述:
请设计一个图书登记管理程序,以方便图书管理员管理图书馆内的图书,该程序应该具有以下功能:
(1)从键盘输入某本图书的信息
(2)给定图书的国际标准书号(ISBN),显示该图书的信息。
(3)给定图书的作者,显示所有该作者所著的图书。
(4)给定国际标准书号(ISBN),修改该图书的信息。
(5)给定国际标准书号(ISBN),删除该图书的信息。
题目要求:
(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。
(2)图书信息应该包含国际标准书号、图书名称、图书出版社、图书作者(假设一个作 者)、图书价格、出版时间。
(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过 菜单项选择希望进行的操作项目。
输入要求:
(1)应用程序运行后在屏幕上显示一个菜单。
用户可以根据需求,选定相应的操作项目。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
程序根据用户输 入的信息完成相应的处理,实现要求的功能。
(2)能对输入的数据进行简单的校验,例如,出版时间必须是一个合法的日期格式,国 际标准书号是唯一的(一个国际标准书号对应一种图书信息)。
输出要求:
(1)应用程序运行后,要在屏幕上显示一个菜单。
(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及 结束方式等。
(3)在程序完成处理后,要清楚地给出程序的处理结果。
例如,在给定国际标准书号删除 图书信息时,如果该图书不存在,要提示没能删除,如果删除成功要提示删除成功。
实现要求:
(1)在程序中使用链表存储图书信息。
(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。
提示:
(1)使构体表示图书信息,一个结点保存一条图书信息。
扩展功能:
(1)提供一些统计功能。
例如统计每个出版社的图书种类数,统计每个作者的图书种类数。
(2)图书信息从文件读入。
1.课程设计目的
1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
2)通过课程设计,进一步掌握C语言中重要的数据结构。
掌握并熟练运用指针、链表、结构体、文件等数据结构。
3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。
4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。
5)通过课程设计,加强了自己的程序分析能力。
2.需求分析
2.1要求
1)遵循软件开发过程的基本规范;
能灵活应用,初步具备运用C程序解决实际问题的能力。
2)运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。
3)学会利用数组、结构体、链表进行相关信息表示。
4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述
5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口等关系正确。
6)所设计的C程序较好的可读性和可靠性;
程序书写风格规范,注释清晰。
7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析。
8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。
9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。
10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。
11)C语言课程设计报告的内容反应实际设计过程,且符合格式要求,无抄袭现象。
2.2任务描述
此系统以图书登记管理为背景,提供查询修改删除图书信息并保存信息到本地文件中的功能,并可通过图书的书号、书名、作者查询到图书的具体信息,另外还有一些统计功能,例如统计每个出版社的图书种类数,统计每个作者的图书种类数。
具体功能实现如下:
一:
管理模式功能
1)自动导入功能:
从文件中导入所有图输信息。
2)键盘输入功能:
可以从键盘输入某图书的基本信息。
3)信息管理功能:
修改、删除学生的信息。
二:
查询模式功能
4)通过图书书号、书名查询图书的基本信息。
三:
统计模式功能
5)统计每个出版社的图书种类数。
6)统计每个作者的图书种类数。
2.3运行环境
WindowsXP/7系统
2.4开发工具
VC++6.0编译环境
3.总体设计
3.1系统流设计
本系统的功能模块如图1所示,主要有以下模块:
文件数据导入界面
程序欢迎进入界面
主菜单界面
从键盘输入图书信息
给定书号显示图书信息
给定书名显示图书信息
给定书号修改图书信息
给定书号删除图书信息
退出程序
显示课设题目信息
保存图书信息
显示图书信息
3.2系统模块设计
1)系统欢迎界面:
构造函数voidwelcome_menu(),显示课程设计名称、作者、软件制作时间、联系方式。
2)文件数据导入界面:
执行voidinput()函数,自动导入图书数据。
3)菜单界面:
构造函数intshouMenu(),实现系统主菜单的显示。
4)键盘输入图书信息:
构造函数voidinputBook()函数,开始用户手动从键盘输入图书的基本信息,并保存。
5)给定书号,显示该图书的信息:
构造voidshowShuhao()函数,输入某本图书的书号,查询该图书的基本信息。
6)给定书名,显示该图书的信息:
构造voidshowShuming()函数,输入某本图书的书名,查询该图书的基本信息。
7)给定书号,修改该图书的信息:
构造voiddoShuhao()函数,输入某本图书的书号,修改该图书的基本信息。
8)给定书号,删除图书的信息:
构造voiddeletBook()函数,输入某本图书的书号,进行删除功能。
9)显示图书信息:
构造voidlistRec()函数,可显示修改过的图书信息。
10)保存图书的信息:
voidwriteInfo()函数,可保存修改过的图书信息。
10)题目信息:
构造voidtimu()函数,显示课设的题目及要求。
11)退出界面:
构造voidexit0(),退出程序。
4.详细设计
4.1数据结构设计
根据系统要求,系统中需要保存的数据信息,其结构如下:
数据项名称
数据项系统表示
数据类型
数据长度
图书书号
p1->
bookno
字符串
12个字节
图书书名
name
16个字节
图书作者
writer
10个字节
出版日期
time
15个字节
为了能实现不受限制的增加图书信息,采用链表的结构保存图书所有信息,在增加图书的基本信息时,创建一个图书信息的节点,将其插入到链表中,示意图如下(用一条链表实现)。
图书信息
为此,先声明一个类型为structbook的结构体,然后通过对指针、链表、文件等数据结构的操作,实现对图书信息的添加,修改,删除和查询。
其中,结构体定义分别如下:
学生信息
structbook
{
charbookno[12];
/*图书书号*/
charname[16];
/*图书书名*/
charwriter[10];
/*图书作者*/
chartime[15];
/*出版日期*/
structbook*next;
};
4.2模块接口设计
所有函数模块声明如下:
主要函数声明
voidtimu();
//题目信息
voidinput();
//录入文件
voidwelcome_menu();
voidinputBook();
/*从键盘输入某本图书的信息*/
voidshowShuhao();
/*给定书号,显示该图书的信息*/
voidshowShuming();
/*给定书名,显示该图书的信息*/
voiddoShuhao();
/*给定书号,修改该图书的信息*/
voiddeletBook();
/*给定书号,删除图书的信息*/
voidlistRec();
//显示图书信息
voidwriteInfo();
/*保存图书的信息*/
voidexit0();
/*退出*/
主要模块的实现
系统以主函数intmain()为入口,首先调用voidinput()函数,从文件导入图书信息。
然后调用welcome_menu()函数,显示系统欢迎界面。
最后调用shouMenu()函数,显示主菜单界面,并使系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。
1)文件读入图书基本信息并打印函数:
导入文件信息
欢迎界面
进入主菜单
更改图书信息
保存信息到本地文件
退出程序
2)主菜单函数:
打印主菜单
接收用户选项