ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:117.92KB ,
资源ID:26762962      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26762962.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书库存管理的设计与实现.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书库存管理的设计与实现.docx

1、图书库存管理的设计与实现学 号:0121110340134 根底强化训练题 目图书库存管理的设计与实现 学 院计算机科学与技术专 业计算机科学与技术班 级计科1101班姓 名李梦瑶指导教师闵联营2021年9月2日一任务书.1二.课程设计.22.1系统描述.22.1.1问题分析.22.1.2数据需求.22.1.3功能需求.22.2系统.22.2.1内存数据构造设计.22.2.2数据文件设计.32.3系统测试.32.3.1输入输出设计.32.3.2用户界面设计.3三源程序.5四评分表.17计算机根底强化训练任务书学生XX: 李梦瑶专业班级:计科1101班指导教师:闵联营工作单位: 计算机科学与技术

2、学院 题 目: 初始条件:理论:学完计算机根底知识,掌握C+语言编程根底和VC开发平台的使用。实践:计算机科学系实验中心提供计算机及软件开发环境。要求完成的主要任务:1系统需求分析,得到系统的数据需求和功能需求,分析结果用表格记录。2系统设计,包括内存数据构造设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。至少实现数据记录的增加、修改、删除、查询查询应能按不同数据项进展。2编制好程序后,设计假设干测试用例,上机测试所设计的程序。4设计报告按格式要求书写。设计报告正文的内容应包括:1系统描述 包括问题说明、

3、数据需求和功能需求。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数据需求图书

4、本身的信息有图书的ISBN,图书的名称,图书的作者,图书的,图书的价格。图书的库存管理信息应包含图书的上次入库时间,图书的上次出库时间,现库存图书的数目。故所需的数据项如下:图书的ISBN string ISBN;图书的名称: string name;图书的 string author;图书上次入库时间: string in_date;图书上次出库时间: string out_date;图书现在库存数量: int num.2.1.3功能需求功能程序中的实现1、查询库存图书的信查询某书在构造体中的位置并输出该节点的信息2、图书入库在构造体链表中添加相应的节点3、图书出库在构造体链表中删除相应的节

5、点4、修改某图书的库存信息在构造体链表中修改相应的节点的信息2.2系统设计 2.2.1内存数据构造设计内存中,图书的相关信息用构造体链表定义,每一个节点包含某本书的全部信息struct bookstring ISBN;string name;string author;string in_date;string out_date;int num;book *next;由于在系统退出时,相关的图书信息都用表格的形式存储在文本文档中,其中第一行存储的不是图书信息,二十对以下图书信息对应项的说明。因此,在内存中定义了一个表示文本文档中第一行的构造体,如下:struct headlinestring

6、firstline;book *next;用来保存文本中第一行的内容。在内存中,数据的构造如以下图所示:firstlineISBNnameauthornumin_dateOut_date2.2.2数据文件设计图书的相关信息在退出系统是都保存在文本文档中。文本文档命名为 bookinformation文本文档用列表的形式表示保存的图书信息,如以下所示:局部图书信息, ISBN 书名 作者数量上次入库时间上次出库时间7-115-13416-2 C+ Primer Plus X建春5 2021-07-01 2021-07-057-121-01665-6 算法引论 黄林鹏6 2005-09-10 20

7、05-09-157-302-08599-4 C+ 程序设计 谭浩强6 2004-06-01 2004-06-067-900643-22-2 数据构造 严蔚敏10 2006-05-01 2006-05-067-5427-2975-6 Flash8培训教程 柏松15 2006-05-01 2006-05-062.3系统测试2.3.1输入输出设计把文本文档里面的初始信息当成是原始的输入,程序运行时把该信息放到构造里链表中去。当执行查询,修改,添加,删除功能是,那么用户通过键盘输入,通过用户手动选择,实现其相应的功能。输出那么是把每次操作执行后的链表信息保存大文本文档中,从而实现输出。 2.3.2用户

8、界面设计1.主菜单界面2.查询图书界面 3.图书入库界面 4.图书出库界面 5.修改图书记录界面 6.退出系统界面三源程序#include#include#includeusing namespace std;struct bookstring ISBN;string name;string author;string in_date;string out_date;int num;book *next;struct headlinestring firstline;book *next;void Search(); /函数申明void Add();void Delete();void Mod

9、ify();void Menu();headline *Creatlink() /以图书馆的现存数据创立构造体链表的代码 headline *head=new headline; string line,temp;ifstream fin(bookinformation.txt);getline(fin,line);head-firstline=line;head-next=NULL; int i,j=0,k=0,n; int a5; book *q,*p; while(getline(fin,line) q=new book; j=0,k=0; for(i=k;iline.size();)

10、if(linei=t) aj=i; j+; k=i+1; i+; for(n=0;nISBN=temp; temp=;for(n=a0+1;nname=temp;temp=;for(n=a1+1;nauthor=temp;temp=; q-num=0; /找出该行图书信息的图书的数目for(n=a2+1;nnum=q-num*10+(int(linen)-48);for(n=a3+1;nin_date=temp; temp=;for(n=a4+1;nout_date=temp;temp=;if(head-next=NULL)head-next=q;p=q;elsep-next=q;p=q;p-

11、next=NULL; fin.close();return head;void main()Menu();cout谢谢使用!endl;void Menu() /主菜单的代码 cout 图书库存管理系统endl;cout 查询图书请输入1endl;cout 图书入库请输入2endl;cout 图书出库请输入3endl;cout 修改图书记录请输入4endl;cout 退出系统请输入5endl; coutendl;char choice;coutchoice;while(int(choice)53)coutchoice;coutnnnn;switch(choice)case 1:coutnn;Se

12、arch();break;case 2:coutnn;Add();break;case 3:coutnn;Delete();break;case 4:coutnn;Modify();break;case 5:exit(0);break;void Search() /查找功能的代码 cout 图书查询系统:endl;cout* 按 ISBN 序列号查询请输入1 *endl;cout* 按 书名 查询请输入2 *endl;cout* 按 作者 查询请输入3 *endl;cout* 返回上级菜单请输入4 *endl; coutendl;coutchoice;while(int(choice)52)c

13、outchoice;switch(choice)case 1: coutISBN;headline *head=Creatlink();book *p=head-next;int tag=0; /表征是否查找成功,默认为查找不成功while(p)if(p-ISBN=ISBN) tag=1; /表示查找成功 cout查找的图书信息如下:endl; coutfirstlineendl; coutISBNtnametauthortnumtin_datetout_dateendl; coutnext;if(tag=0)cout未找到所要查找的图书信息!nn;break;case 2: coutname

14、;headline *head=Creatlink();book *p=head-next;int tag=0; /表征是否查找成功,默认为查找不成功while(p)if(p-name=name) tag=1; /表示查找成功 cout查找的图书信息如下:endl; coutfirstlineendl; coutISBNtnametauthortnumtin_datetout_dateendl; coutnext;if(tag=0)cout未找到所要查找的图书信息!nn;break;case 3: coutauthor;headline *head=Creatlink();book *p=he

15、ad-next;int tag=0; /表征是否查找成功,默认为查找不成功while(p)if(p-author=author) tag=1; /表示查找成功 cout查找的图书信息如下:endl; coutfirstlineendl; coutISBNtnametauthortnumtin_datetout_dateendl; coutnext;if(tag=0)cout未找到所要查找的图书信息!nn;break;case 4: Menu();cout是否显示所有图书的信息?(y/n)decision;if(decision=y|decision=Y) headline *head=Crea

16、tlink(); coutfirstlinenext;while(p)coutISBNtnametauthortnumtin_datetout_datenext;cout是否继续查询图书的信息?(y/n)decision;if(decision=y|decision=Y) Search();else Menu();void Add() /图书入库功能的代码 cout* 图书入库 *endl; cout请输入入库图书的相关信息:endl; string ISBN,name,author,in_date,out_date=; int num; book *addbook=new book; cou

17、tISBN; cin.get(); cout书名:; getline(cin,name); coutauthor; coutnum; coutin_date; addbook-ISBN=ISBN; addbook-name=name; addbook-author=author; addbook-num=num; addbook-in_date=in_date; addbook-next=NULL; headline *head=Creatlink(); book *p=head-next; int tag=0; while(p-next!=NULL) if(p-ISBN=ISBN) tag=

18、1; p-num=p-num+num; delete addbook; break; else p=p-next; if(tag=0) if(p-ISBN=ISBN) p-num=p-num+num; delete addbook; else p-next=addbook; char decision; cout是否将改动写入文件?(y/n)decision;if(decision=y|decision=Y) ofstream fout(bookinformation.txt);foutfirstlinenext;while(p)foutISBNtnametauthortnumtin_date

19、tout_datenext;cout是否继续图书入库?(y/n)decision;if(decision=y|decision=Y) Add();else Menu();void Delete() /图书出库功能的代码 cout* 图书出库 *endl; cout请输入出库图书的ISBN:ISBN; headline *head=Creatlink(); book *p=head-next; int tag=0; if(p-ISBN=ISBN) tag=1; cout该图书的信息如下:endl; cout ISBNt 书名t 作者t数量t入库时间endl; coutISBNtnametauth

20、ortnumtin_datenext=p-next; delete p; else book *q=p-next; while(q) if(q-ISBN=ISBN) tag=1; cout该图书的信息如下:endl; cout ISBNt 书名t 作者t数量t入库时间endl; coutISBNtnametauthortnumtin_datenext=q-next; delete q; break; else p=q; q=q-next; if(tag=0) cout输入有错,请从新输入endl; Delete(); char decision; cout是否将改动写入文件?(y/n)deci

21、sion;if(decision=y|decision=Y) ofstream fout(bookinformation.txt);foutfirstlinenext;while(p)foutISBNtnametauthortnumtin_datetout_datenext;cout是否继续图书出库?(y/n)decision;if(decision=y|decision=Y) Delete();else Menu();void Modify() /修改图书库存信息功能的代码 cout* 图书信息的修改 *endl; cout请输入要修改图书的相关信息:endl; string ISBN,in_date,out_date; int num; coutISBN; coutnum; cout上次入库时间:; c

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1