1、中南大学库存管理系统设计(C+) 题目六:库存管理系统设计运用面向对象程序设计知识,利用 C+语言设计和实现一个“库存管理系统设计” ,主要完成对商品的销售、统计和简单管理。超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和品牌等信息。本系统要求具备如下主要功能:(1)商品简单管理功能 添加功能:主要完成商品基本信息的添加。 查询功能:可按商品类别、商品名称、生产厂家、进货日期进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!” 。 修改功能:可根据查询结果对相应的记录进行修改。 删除功能:主要完成商品信息的删除。先输入
2、商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在” 。(2)进货功能按要求添加相应商品的信息到库存中。添加进货日期、生产厂家、进货价等信息。(3)出货功能出货时,先输入商品类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入出货的数量、出货日期,计算销售额和利润。如果库存量不够,给出提示信息,结束出货。(4)统计功能输出当前库存中所有商品的总数及详细信息;能统计每种商品一周时间内的销售额和利润;能统计每类商品的一周时间内的销售额和利润。输出统计信息时,要按从大到小进行排序。 (根据个人能力,至少实现一种统计功能)
3、在实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C+语言关于类、继承和封装等核心概念,每一个类应包含数据成员和成员函数。源代码#include #include #include #include /用 getch();using namespace std;class Goods /Goods类public:Goods()int kind;char name20;/哇哈哈char date20;/进货日期 char brand10;/品牌 char manufactor10;/厂家 float buyprice; /进货价;float saleprice; /卖出价;int a
4、mount; /存货数量;int amount1; /售货数量;int profit; /净利润;Goods * Next;void InputAll()/输入全部函数 Inputmanufactor(); InputName();InputKind();Inputdate();InputOther();void InputKind()coutkind;void InputName()coutname;void Inputdate()coutdate;void InputBuyprice()coutbuyprice;void InputSaleprice()coutsaleprice;void
5、 InputAmount()coutamount;void InputProfit()coutprofit;void Inputmanufactor()cout manufactor;void Inputbrand()coutbrand;void InputOther()coutbuyprice;coutsaleprice;coutamount;coutmanufactor;coutbrand;profit=0;void ReadFile(istream void Show()coutNext;p!=End;p=p-Next)p-Show();i+;coutInputKind();End-In
6、putName();End-Inputdate();End-InputOther();End-Next = new Goods;End=End-Next;coutNext!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p-Next-name,name)return p;return NULL;Goods *Findkind(int kind)for(Goods * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空if(p-Next-kind=kind)return p;return NULL;Goo
7、ds *Finddate(char * date)for(Goods * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p-Next-date,date)return p;return NULL;Goods *Findmanufactor(char * manufactor)for(Goods * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p-Next-manufactor,manufactor)return p;return NULL;Goo
8、dsmessage:Goodsmessage() /构造函数Head=new Goods;Head-Next=new Goods;End=Head-Next;in.open(“market.txt“);if(!in)coutReadFile(in);if(End-name0=0)break;End-Next=new Goods;End=End-Next;in.close();coutNext!=End;)temp=Head-Next;Head-Next=Head-Next-Next;delete temp;delete Head,End;void Goodsmessage:showMenu(i
9、nt n)/菜单 /菜单switch(n)case 1:coutx;switch(x)case 1:coutname;if(p=Findname(name)p-Next-Show();coutmanufactor;if(p=Findmanufactor(manufactor)p-Next-Show();coutdate;if(p=Finddate(date)p-Next-Show();coutkind;if(p=Findkind(kind)p-Next-Show();coutx;switch(x)case 1:char name20;Goods * p=NULL;coutname;if(p=F
10、indname(name)coutNext-InputName();coutname;if(p=Findname(name)coutNext-InputKind();coutname;if(p=Findname(name)coutNext-Inputdate();coutname;if(p=Findname(name)coutNext-InputBuyprice();coutname;if(p=Findname(name)coutNext-InputSaleprice();coutname;if(p=Findname(name)coutNext-InputAmount();coutname;if(p=Findname(name)coutNext-InputProfit();coutname;if(p=Findname(name)coutNext-Inputbrand();coutname;if(p=Findname(name)coutNext-Inputmanufactor();cout“修改成功!“endl;cout“输入任意字符!返回主菜单“;getch();elsecout“tt没有找到您需要的商品!“endl;cout“输入任意字符!返回主菜单“;getch();