图书库存管理的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:0121110340134
基础强化训练
题目图书库存管理的设计与实现
学院计算机科学与技术
专业计算机科学与技术
班级计科1101班
姓名李梦瑶
指导教师闵联营
2013 年9 月 2 日
目录
一.任务书 (1)
二.课程设计 (2)
2.1系统描述 (2)
2.1.1问题分析 (2)
2.1.2数据需求 (2)
2.1.3功能需求 (2)
2.2系统 (2)
2.2.1内存数据结构设计 (2)
2.2.2数据文件设计 (3)
2.3系统测试 (3)
2.3.1输入\输出设计 (3)
2.3.2用户界面设计 (3)
三.源程序 (5)
四.评分表 (17)
计算机基础强化训练任务书
学生姓名:李梦瑶专业班级:计科1101班
指导教师:闵联营工作单位:计算机科学与技术学院题目:
初始条件:
理论:学完计算机基础知识,掌握C++语言编程基础和VC开发平台的使用。
实践:计算机科学系实验中心提供计算机及软件开发环境。
要求完成的主要任务:
(1)系统需求分析,得到系统的数据需求和功能需求,分析结果用表格记录。
(2)系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。至少实现数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。
(2)编制好程序后,设计若干测试用例,上机测试所设计的程序。
(4)设计报告按格式要求书写。设计报告正文的内容应包括:
1)系统描述包括问题说明、数据需求和功能需求。
2)系统设计包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。
3)系统测试包括测试用例的描述、测试方法和测试结果。
4)设计的特点、不足、收获和体会。
时间安排:
1、第19周(7月5日至7月9日)完成。
2、7月9 日8:00到计算机学院实验中心(三楼)检查程序、交课程设计报告、源程序(CD盘)。
指导教师签名: 2013年9月 31日
系主任(或责任教师)签名: 2013年9月 31 日
二.课程设计
2.1系统描述
2.1.1问题分析
完成程序,实现图书库存的管理。至少实现数据记录的增加、修改、删除、查询及相应结果的显示,查询应能按不同数据项进行
2.1.2数据需求
图书本身的信息有图书的ISBN,图书的名称,图书的作者,图书的出版社,图书的价格。
图书的库存管理信息应包含图书的上次入库时间,图书的上次出库时间,现库存图书的数目。
故所需的数据项如下:
图书的ISBN string ISBN;
图书的名称:string name;
图书的作者:string author;
图书上次入库时间:string in_date;
图书上次出库时间:string out_date;
图书现在库存数量:int num.
2.1.3功能需求
功能程序中的实现
1、查询库存图书的信查询某书在结构体中的位置并输出该节点的信息
2、图书入库在结构体链表中添加相应的节点
3、图书出库在结构体链表中删除相应的节点
4、修改某图书的库存信息在结构体链表中修改相应的节点的信息
2.2系统设计
2.2.1内存数据结构设计
内存中,图书的相关信息用结构体链表定义,每一个节点包含某本书的全部信息
struct book{
string ISBN;
string name;
string author;
string in_date;
string out_date;
int num;
book *next;
};
由于在系统退出时,相关的图书信息都用表格的形式存储在文本文档中,其中第一行存储的不是图书信息,二十对下列图书信息对应项的说明。因此,在内存中定义了一个表示文本文档中第一行的结构体,如下:
struct headline{
string firstline;
book *next;
};
用来保存文本中第一行的内容。
在内存中,数据的结构如下图所示:
ISBN ……
firstlin
e
name
author
num
in_date
Out_date
∧
2.2.2数据文件设计
图书的相关信息在退出系统是都保存在文本文档中。文本文档命名为” bookinformation”文本文档用列表的形式表示保存的图书信息,如下列所示:(部分图书信息,)ISBN 书名作者数量上次入库时间上次出库时间
7-115-13416-2 C++ Primer Plus 张建春 5 2008-07-01 2008-07-05
7-121-01665-6 算法引论黄林鹏 6 2005-09-10 2005-09-15
7-302-08599-4 C++ 程序设计谭浩强 6 2004-06-01 2004-06-06
7-900643-22-2 数据结构严蔚敏10 2006-05-01 2006-05-06
7-5427-2975-6 Flash8培训教程柏松15 2006-05-01 2006-05-06
2.3系统测试
2.3.1输入\输出设计
把文本文档里面的初始信息当成是原始的输入,程序运行时把该信息放到结构里链表中去。当执行查询,修改,添加,删除功能是,则用户通过键盘输入,通过用户手动选择,实现其相应的功能。
输出则是把每次操作执行后的链表信息保存大文本文档中,从而实现输出。
2.3.2用户界面设计
1.主菜单界面
2.查询图书界面