预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程设计任务书—第1学期电子和信息工程系计算机科学和技术专业班级课程设计名称:数据结构课程设计设计题目:库存管理系统完成期限:自年1月2日至年1月6日共1周设计依据、要求及关键内容(可另加附页):一、设计目标熟悉多种数据结构和运算,会使用数据结构基础操作处理部分实际问题。二、设计要求(1)重视课程设计步骤,用严谨、科学和扎实工作态度对待课程设计每一项任务;(2)根据课程设计题目要求,独立地完成各项任务,严禁剽窃;凡发觉剽窃,剽窃者和被剽窃者皆以零分计入本课程设计成绩。凡发觉试验汇报或源程序雷同,包含全部人员皆以零分计入本课程设计成绩;(3)学生在接收设计任务后,首先要按设计任务书要求编写设计进程表;(4)认真编写课程设计汇报。三、设计内容1)问题描述试设计一库存管理系统,产品信息包含产品编号、名称、价格、数量等(产品编号不反复)。2)基础要求该系统应含有以下功效:1、产品信息录入功效(产品信息用文件保留)--输入2、产品信息浏览功效--输出3、产品入库4、产品出库5、查询和排序功效:1)按价格从大到小排序2)按名称查询6、产品信息删除、修改功效。四、参考文件[1]《数据结构》.王红梅.清华大学出版社[2]《数据结构学习教导和试验指导》.王红梅.清华大学出版社[3]《C++程序设计》.钱能.清华大学出版社[4]《C++程序设计试验指导》.钱能.清华大学出版社[5]《C++程序设计》.谭浩强.清华大学出版社#include<iostream>#include<string>#include<iomanip>#include<fstream>usingnamespacestd;intcount=0;classCData//定义数据基类{public:CData(){};virtualintCompare(CData&)=0;virtualvoidShow()=0;virtual~CData(){};};classCNode//定义结点基类{private:CData*pData;//用于指向数据类指针CNode*pNext;//用于指向链表后向指针public:voidInputData(CData*pdata){pData=pdata;}//输入数据voidShowNode(){pData->Show();}//打印一个节点数据CData*GetData(){returnpData;}friendclassCList;//定义链表类为基类};classCList{CNode*pHead;//链表头结点指针public:CList(){pHead=0;};~CList(){DeleteList();}voidAddNode(CNode*pnode);//在首部添加结点CNode*DeleteNode(CNode*);//删除一个指定结点,返回该结点指针CNode*Search(CData&);//查找一个指定数据,返回该数据所在结点在链表指针,未找到返回0boolIsExist(CData&);voidShowList();//打印整个链表voidDeleteList();//删除整个链表CNode*GetListHead(){returnpHead;}//返回链表首结点CNode*GetListNextNode(CNode*pnode);//返回链表指定结点下一个结点};CNode*CList::GetListNextNode(CNode*pnode)//返回链表指定结点下一个结点{CNode*p1=pnode;returnp1->pNext;};voidCList::AddNode(CNode*pnode)//在首部添加结点{if(pHead==0)//假如是空链表,插入结点是唯一结点{pHead=pnode;pnode->pNext=0;return;}else//不然,插入到链表首部{pnode->pNext=pHead;pHead=pnode;}};CNode*CList::DeleteNode(CNode*pnode)//删除一个指定结点,返回该结点指针{CNode*p1,*p2;p1=pHead;//指向首结点while(p1!=pnode&&p1->pNext!=0)//寻求要删除结点{p2=p1;p1=p1->pNext;//结点p2一直在p1后面}if(p1==pHead)//假如要删除是首