图书库存管理的设计与实现.docx
- 文档编号:26762962
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:27
- 大小:117.92KB
图书库存管理的设计与实现.docx
《图书库存管理的设计与实现.docx》由会员分享,可在线阅读,更多相关《图书库存管理的设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。
图书库存管理的设计与实现
学号:
0121110340134
根底强化训练
题目
图书库存管理的设计与实现
学院
计算机科学与技术
专业
计算机科学与技术
班级
计科1101班
姓名
李梦瑶
指导教师
闵联营
2021
年
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
计算机根底强化训练任务书
学生XX:
李梦瑶专业班级:
计科1101班
指导教师:
闵联营工作单位:
计算机科学与技术学院
题目:
初始条件:
理论:
学完计算机根底知识,掌握C++语言编程根底和VC开发平台的使用。
实践:
计算机科学系实验中心提供计算机及软件开发环境。
要求完成的主要任务:
〔1〕系统需求分析,得到系统的数据需求和功能需求,分析结果用表格记录。
〔2〕系统设计,包括内存数据构造设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。
要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。
至少实现数据记录的增加、修改、删除、查询〔查询应能按不同数据项进展〕。
〔2〕编制好程序后,设计假设干测试用例,上机测试所设计的程序。
〔4〕设计报告按格式要求书写。
设计报告正文的内容应包括:
1〕系统描述包括问题说明、数据需求和功能需求。
2〕系统设计包括内存数据构造设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。
3〕系统测试包括测试用例的描述、测试方法和测试结果。
4〕设计的特点、缺乏、收获和体会。
时间安排:
1、第19周〔7月5日至7月9日〕完成。
2、7月9日8:
00到计算机学院实验中心〔三楼〕检查程序、交课程设计报告、源程序〔CD盘〕。
指导教师签名:
2021年9月31日
系主任〔或责任教师〕签名:
2021年9月31日
二.课程设计
2.1系统描述
2.1.1问题分析
完成程序,实现图书库存的管理。
至少实现数据记录的增加、修改、删除、查询及相应结果的显示,查询应能按不同数据项进展
2.1.2数据需求
图书本身的信息有图书的ISBN,图书的名称,图书的作者,图书的,图书的价格。
图书的库存管理信息应包含图书的上次入库时间,图书的上次出库时间,现库存图书的数目。
故所需的数据项如下:
图书的ISBNstringISBN;
图书的名称:
stringname;
图书的stringauthor;
图书上次入库时间:
stringin_date;
图书上次出库时间:
stringout_date;
图书现在库存数量:
intnum.
2.1.3功能需求
功能
程序中的实现
1、查询库存图书的信
查询某书在构造体中的位置并输出该节点的信息
2、图书入库
在构造体链表中添加相应的节点
3、图书出库
在构造体链表中删除相应的节点
4、修改某图书的库存信息
在构造体链表中修改相应的节点的信息
2.2系统设计
2.2.1内存数据构造设计
内存中,图书的相关信息用构造体链表定义,每一个节点包含某本书的全部信息
structbook{
stringISBN;
stringname;
stringauthor;
stringin_date;
stringout_date;
intnum;
book*next;
};
由于在系统退出时,相关的图书信息都用表格的形式存储在文本文档中,其中第一行存储的不是图书信息,二十对以下图书信息对应项的说明。
因此,在内存中定义了一个表示文本文档中第一行的构造体,如下:
structheadline{
stringfirstline;
book*next;
};
用来保存文本中第一行的内容。
在内存中,数据的构造如以下图所示:
firstline
ISBN
……
name
author
num
in_date
Out_date
∧
2.2.2数据文件设计
图书的相关信息在退出系统是都保存在文本文档中。
文本文档命名为〞bookinformation〞文本文档用列表的形式表示保存的图书信息,如以下所示:
〔局部图书信息,〕
ISBN书名作者数量上次入库时间上次出库时间
7-115-13416-2C++PrimerPlusX建春52021-07-012021-07-05
7-121-01665-6算法引论黄林鹏62005-09-102005-09-15
7-302-08599-4C++程序设计谭浩强62004-06-012004-06-06
7-900643-22-2数据构造严蔚敏102006-05-012006-05-06
7-5427-2975-6Flash8培训教程柏松152006-05-012006-05-06
2.3系统测试
2.3.1输入\输出设计
把文本文档里面的初始信息当成是原始的输入,程序运行时把该信息放到构造里链表中去。
当执行查询,修改,添加,删除功能是,那么用户通过键盘输入,通过用户手动选择,实现其相应的功能。
输出那么是把每次操作执行后的链表信息保存大文本文档中,从而实现输出。
2.3.2用户界面设计
1.主菜单界面
2.查询图书界面
3.图书入库界面
4.图书出库界面
5.修改图书记录界面
6.退出系统界面
三.源程序
#include
#include
#include
usingnamespacestd;
structbook{
stringISBN;
stringname;
stringauthor;
stringin_date;
stringout_date;
intnum;
book*next;
};
structheadline{
stringfirstline;
book*next;
};
voidSearch();//函数申明
voidAdd();
voidDelete();
voidModify();
voidMenu();
headline*Creatlink()//以图书馆的现存数据创立构造体链表的代码
{
headline*head=newheadline;
stringline,temp;
ifstreamfin("bookinformation.txt");
getline(fin,line);
{
head->firstline=line;
head->next=NULL;
}
inti,j=0,k=0,n;
inta[5];
book*q,*p;
while(getline(fin,line))
{
q=newbook;
j=0,k=0;
for(i=k;i { if(line[i]=='\t') { a[j]=i; j++; k=i+1; } i++; } for(n=0;n { temp=temp+line[n]; } q->ISBN=temp; temp=""; for(n=a[0]+1;n { temp=temp+line[n]; } q->name=temp; temp=""; for(n=a[1]+1;n { temp=temp+line[n]; } q->author=temp; temp=""; q->num=0;//找出该行图书信息的图书的数目 for(n=a[2]+1;n { q->num=q->num*10+(int(line[n])-48); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 库存 管理 设计 实现