《中南大学库存管理系统c.doc》由会员分享,可在线阅读,更多相关《中南大学库存管理系统c.doc(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中南大学库存管理系统c562020年4月19日文档仅供参考中南大学库存管理系统设计(C+)v 题目六:库存管理系统设计运用面向对象程序设计知识,利用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;/进货价;fl
4、oat saleprice;/卖出价;int amount;/存货数量;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 InputSalepric
5、e()coutsaleprice;void InputAmount()coutamount;void InputProfit()coutprofit;void Inputmanufactor()cout manufactor;void Inputbrand()coutbrand;void InputOther()coutbuyprice;coutsaleprice; coutamount; coutmanufactor;coutbrand;profit=0; void ReadFile(istream &in)innamekinddatemanufactorbuypricesalepricea
6、mountbrandprofit;void Show()cout商品名: nameendl种类:kindendl进货日期 dateendl 商品的厂家: manufactor endl进货价 buypriceendl售出价 salepriceendl剩余商品数量: amountendl净利润:profitendl生产商品牌: brandendlendlNext;p!=End;p=p-Next)p-Show();i+;cout共有i个商品nendl;coutInputKind();End-InputName();End-Inputdate();End-InputOther();End-Next
7、= new Goods;End=End-Next;cout添加成功!endl;Save();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;Goods *Finddate(char * date)for(Go
8、ods * 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;Goodsmessage:Goodsmessage() /构造函数H
9、ead=new Goods;Head-Next=new Goods;End=Head-Next;in.open(market.txt);if(!in)cout无商品信息。请先进货。ReadFile(in);if(End-name0=0)break;End-Next=new Goods;End=End-Next;in.close();couttttt读取商品信息成功!nNext!=End;)temp=Head-Next;Head-Next=Head-Next-Next;delete temp;delete Head,End;void Goodsmessage:showMenu(int n)/菜单
10、 /菜单switch(n)case 1:cout*n 1. 食品 2. 化妆品 3. 日用品 4. 饮料 n*nendl;break;case 2:system(cls);system(color F0);cout-endl;cout* 库 存 管 理 系 统 *endl;cout# 1.增加商品 #endl;cout# 2.显示商品 #endl;cout# 3.统计排序 #endl;cout# 4.查找商品 #endl;cout# 5.删除商品 #endl;cout# 6.修改商品 #endl;cout# 7.出货系统 #endl;cout# 8.保存商品信息 #endl;cout# 0.安
11、全退出系统 #endl; couttttt 请选择:0-8endl;break;case 3:system(cls);cout*nt 1. 修改商品名 2. 修改种类 3. 修改进货日期nt 4. 修改进货价 5. 修改售出价 6. 修改剩余商品量nt 7. 修改净利润 8. 修改商品品牌 9. 修改生产厂家n t 10. 修改全部 0. 返回主菜单n*endl;coutttntttt 请选择:0-10endl;break;case 4:system(cls);cout*n 1. 按库存量排序 2. 按净利润排序 0.返回主菜单n*endl;coutttntttt 请选择:0-3endl;br
12、eak;case 5:system(cls);coutntt *n;couttt * 1.按商品的名称查找 *ntt * 2.按生产厂家查找 *ntt * 3.按进货日期查找 *ntt * 4.按商品类别查找 *ntt * 0.返回主菜单 *;coutntt *n请选择:0-4endl;break;case 6:system(cls);system(color 3E);cout nnnnnnnnnnnntt感谢您使用本库存管理系统,欢迎下次使用,再见!n endl;couttt请按任意键退出!nnnnnnnnnnnx;switch(x)case 1:coutname;if(p=Findname
13、(name)p-Next-Show();cout输入任意字符!返回主菜单;getch();elsecouttt没有找到该名称的商品!nendl;cout输入任意字符!返回主菜单;getch(); break;case 2:coutmanufactor;if(p=Findmanufactor(manufactor)p-Next-Show();cout输入任意字符!返回主菜单;getch();elsecouttt没有找到该生产厂家的商品!nendl;cout输入任意字符!返回主菜单;getch();break;case 3:coutdate;if(p=Finddate(date)p-Next-Sh
14、ow();cout输入任意字符!返回主菜单;getch();elsecouttt没有找到该进货日期的商品!nendl;cout输入任意字符!返回主菜单;getch();break;case 4:coutkind;if(p=Findkind(kind)p-Next-Show();cout输入任意字符!返回主菜单;getch();elsecouttt没有找到该种类的商品!nendl;coutx;switch(x)case 1:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-Inpu
15、tName();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();break;case 2:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-InputKind();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();brea
16、k;case 3:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-Inputdate();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();break;case 4:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-InputBuypr
17、ice();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();break;case 5:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-InputSaleprice();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();b
18、reak;case 6:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-InputAmount();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();break;case 7:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-Input
19、Profit();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();break;case 8:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-Inputbrand();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();br
20、eak;case 9:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-Inputmanufactor();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();break;case 10:char name20;Goods * p=NULL;coutname;if(p=Findname(name)couttt已找到商品的信息,请输入新的信息!Next-I
21、nputAll();cout修改成功!endl;cout输入任意字符!返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();void Goodsmessage:RemoveItem() /删除商品信息system(cls);char Id20;Goods * p=NULL,*temp=NULL;couttt请输入要删除的商品的名称:name;if(p=Findname(name)temp=p-Next;p-Next=p-Next-Next; delete temp;couttt删除成功!endl;cout输入任意字符!
22、返回主菜单;getch();elsecouttt没有找到您需要的商品!endl;cout输入任意字符!返回主菜单;getch();void Goodsmessage:Saleprice() /售出商品 system(cls);char name20;int i;Goods * p=NULL;Goods * temp=NULL;couttt请输入要售出的商品的名称和数量:name;cini;if(p=Findname(name)if(p-Next-amounti)p-Next-amount -= i;p-Next-amount1 += i;p-Next-profit +=i*(p-Next-saleprice - p-Next-buyprice);cout商品售出成功!n;cout售出商品名称: namet数量: in;coutn;cout售出后商品信息: Next-Show();Save();cout输入任意字符!返回主菜单;getch();elsecout商品数量不够,不能购买endl;cout输入任意字符!返回主菜单;getch();Saleprice();elsecout无此种商品,不能购买endl;coutname,p1-name);strcpy(temp-manufactor,p1-manufact