收藏 分销(赏)

数据结构-课程设计-库存管理系统.doc

上传人:可**** 文档编号:5003097 上传时间:2024-10-22 格式:DOC 页数:11 大小:66.04KB 下载积分:8 金币
下载 相关 举报
数据结构-课程设计-库存管理系统.doc_第1页
第1页 / 共11页
数据结构-课程设计-库存管理系统.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
学 号 数据结构课程设计 设计说明书 库存管理系统 起止日期: 2011年 1月 10 日 至 2011 年 1月15日 学生姓名 班级 成绩 指导教师(签字) 电子与信息工程系 2011年 1 月15日 天津城市建设学院 课程设计任务书 2010—2011学年第1学期 电子与信息工程 系 软件工程 专业 班级 课程设计名称: 数据结构课程设计 设计题目: 库存管理系统 完成期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周 设计依据:c++程序设计 要求:熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 主要内容: 1)问题描述 试设计一库存管理系统,产品信息包括产品编号、名称、价格、数量等(产品编号不重复)。 2) 基本要求 该系统应具有以下功能: 1、产品信息录入功能(产品信息用文件保存)--输入? 2、产品信息浏览功能 --输出? 3、产品入库 4、产品出库 5、查询和排序功能: 1)按价格从大到小排序 2)按名称查询 6、产品信息删除、修改功能。 目录 一、设计目的 4 二、设计要求 4 三、设计内容 4 (1)需求分析 4 (2)问题求解 4 (3)总体设计 5 (4)详细设计 6 (5)关键源程序清单 7 (6)执行结果: 12 四、参考文献 15 一、设计目的 熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩.凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表; (4)认真编写课程设计报告。 三、设计内容 (1)需求分析 程序的功能、输入输出的要求 1、从文件中加载数据; 2、 增加一个产品的信息; 3、 保存数据; 4、 显示所有产品的信息; 5、 删除某个产品的信息; 6、 用名称查找某个产品的信息; 7、 用编号查找某个产品的信息; 8、 退出。 (2)问题求解 首先,定义一个包含产品的编号、名称、价格、数量等的输入产品信息类(class Provider),紧接着,定义一个输入产品信息函数( void input()),输入定义好的类中的数据成员。接着定义产品输出的函数(void output()).这部分是产品输入输出。定义节点类(class Node),节点类中包含一个指向节点(Node)的指针变量(next)和节点成员函数. 定义产品信息的目录类(class List),有成员函数两个,一个List成员函数、一个增加产品信息的成员函数(void addNode())。定义一个显示产品的信息的函数(void XSNode()),用它来输入产品的信息。定义查询函数(void queryNode1(char *TName)、void queryNode2(char *TID)) 分别用指向编号和名称的地址来查询。还有定义删除和储存产品信息的函数(void delNode(char *TName)和void saveList())。 (3)总体设计 程序设计组成框图(如下): 库 存 管 理 系 统 功能显示 产品入库 保存数据 显示产品信息 产品出库 用名称查找某个产品信息 用编号查找某个产品信息 退出 流程图(如下): 开始 选择功能 显示功能 增加产品信息 保存数据 显示产品信息 删除产品信息 按名称查询 按编号查询 1 2 3 4 5 6 7 退出系统 (4)详细设计 函数功能 1、void input() 通过函数输入产品信息 2、void output() 通过函数输出产品信息 3、Node( ) 通过函数使指针指向下个地址 4、List() 通过函数使指针指向首地址 5、void addNode() 通过函数添加产品信息 6、void XSNode() 通过函数显示产品所有信息 7、void queryNode1(char *TName) 通过函数查询产品信息 8、void queryNode2(char *TName) 同上 9、void delNode(char *TName) 通过函数删除产品信息 10、void saveList() 通过函数储存产品信息 11、ofs。open(”data.txt”); 通过函数输出文本文件 12、ifs.open(”data。txt”); 通过函数输入文本文件 13、~List() 通数过定义析构函数,释放空间 14、int main() 通过主函数调用其他函数; (5)关键源程序清单 清单中应有足够的注释问题描述和功能设计。 源程序: #include<iostream〉 #include<fstream〉 #include〈string> #define NULL 0 using namespace std; class Provider //定义输入产品的信息的类 { public: char ID[10];//定义编号 char Name[10]; char Values[10]; char Num[10]; void input() //定义输入产品信息函数 { cout<〈”请输入产品的信息:"〈<endl; cout〈<” ID号:”; cin>>ID; cout<〈" 名称:"; cin>〉Name; cout〈〈" 价格:"; cin〉>Values; cout〈<” 数量:”; cin〉〉Num; } void output() //定函数义输出信息 { cout<〈"产品的信息显示如下:”<<endl; cout<〈"ID号:"<〈ID<<endl; cout〈<”名称:"<<Name〈<endl; cout<〈”价格:”<<Values〈〈endl; cout〈<"数量:”〈<Num<<endl; } }; //******************************************************************* class Node //定义节点 { public: Provider data; Node *next; //定义next为指向Node类对象的指针变量 Node( ) { next=NULL;} }; //******************************************************************* class List //定义产品信息目录类 { public: Node *start; List() { start=NULL;} void addNode() //添加一个产品的信息 { Node *p; p=new Node(); //链表 p-〉data。input(); p—>next=start; start=p; } //******************************************************************* void XSNode() //显示所有产品的信息 { Node *p; for(p=start;p!=NULL;p=p-〉next) p—〉data.output(); } //******************************************************************** void queryNode1(char *TName) //利用名称查询产品信息 { Node *p; for(p=start;p!=NULL;p=p—〉next) { if(strcmp(p-〉data.Name,TName)==0) { cout<〈"产品的信息显示如下:"<〈endl; cout<<"ID号:”<<p->data.ID〈〈endl; cout<<”名称:”<〈p->data。Name〈〈endl; cout<〈”价格"〈〈p-〉data。Values<〈endl; cout〈〈"数量:”〈<p->data。Num〈<endl; return; } } cout〈<”没找到你要的产品!!!”<〈endl; } //***************************************************************** void queryNode2(char *TID) //利用编号查询产品信息 { Node *p; for(p=start;p!=NULL;p=p-〉next) { if(strcmp(p—〉data.ID,TID)==0) { cout<〈"产品的信息显示如下:"〈〈endl; cout〈〈”ID号:”〈〈p—〉data。ID<〈endl; cout〈<”名称:"<〈p—〉data。Name<〈endl; cout〈〈"价格:”〈<p—>data。Values<〈endl; cout〈〈”数量:”〈<p->data.Num<〈endl; return; } } cout〈〈”没找到你要的产品!!!"〈〈endl; } //******************************************************************** void delNode(char *TName) //删除产品信息 { Node *p,*c; for(p=start,c=start;c!=NULL;c=c—>next) { if(strcmp(TName,c-〉data。Name)==0) { p—〉next=c-〉next; if(start==c) { start=c—〉next; } delete c; cout<<"删除已成功!!"〈〈endl; return; } p=c; } cout<〈"没找到你要删除的产品!!!”〈<endl; } //******************************************************************** void saveList() //储存产品信息 { Node *p; ofstream ofs; ofs.open(”data.txt”); for(p=start;p!=NULL;p=p->next) { ofs<<p—>data.ID〈〈” "; ofs〈〈p->data.Name<〈” "; ofs〈<p->data。Values〈<" "; ofs〈〈p—〉data。Num<<” ”; } ofs。close(); } void initList() { ifstream ifs; ifs.open("data.txt”); while(!ifs.eof()) { Node *p; p=new Node(); ifs>〉p->data。ID; ifs〉>p—〉data。Name; ifs〉>p—〉data.Values; ifs〉〉p->data.Num; p—>next=start; start=p; } ifs.close(); Node *p; p=start; start=start-〉next; delete p; } ~List() //定义析构函数,释放空间 { Node *c; for(c=start;c!=NULL;) { Node *p; p=c; c=c->next; delete p; } } }; //*************************************************************8 int main() { List p1; char ch; char tmpstr[50]; while(true) { cout<<" ***********************************”〈<endl; cout<<" 1、产品入库信息;”<〈endl; cout〈<” 2、保存产品信息;”〈<endl; cout<<” 3、显示产品信息;"<〈endl; cout〈<" 4、产品出库信息;”<〈endl; cout〈<” 5、用名称查找产品信息;"〈〈endl; cout〈<” 6、用编号查找产品信息;”<〈endl; cout〈〈" 0、退出;”〈<endl; cout<<" ***********************************"<<endl; cout<<"请选择:”; cin>〉ch; switch(ch) { case '1’: p1.addNode();break; case '2’: p1。saveList();break; case '3’: p1.XSNode();break; case ’4': cout<〈"请输入出库产品的名称:"; cin>>tmpstr; p1.delNode(tmpstr);break; case '5': cout<<"请输入你要查找的产品的名称:"; cin〉>tmpstr; p1.queryNode1(tmpstr);break; case '6': cout<〈”请输入你要查找的产品的编号:"; cin〉>tmpstr; p1.queryNode2(tmpstr);break; case ’0’: return 0; default: cout〈<”选择错误,请再次选择!!!"〈<endl; } } return 0; } (6)执行结果: 四、参考文献 [1]《数据结构》. 王红梅. 清华大学出版社 [2]《数据结构学习辅导与实验指导》。 王红梅. 清华大学出版社 [3]《C++程序设计》. 钱能。 清华大学出版社 [4]《C++程序设计试验指导》。 钱能。 清华大学出版社 [5]《C++程序设计》。谭浩强. 清华大学出版社 11 1
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服