各位大神们。有什么补充的能够评论一下吗?

#include<iostream>

#include<string>
using namespace std;
int G=0;//定义全局变量//现有货物的总数
int S=0;//staff员工总数
double T=0;//总共的营业额
//创建第一个类(货物)
class goods
{
public:
string id;//
string name;//名字
double price;//价格
int num;//编号
}goods[10000];//定义数组
class staff//第二个类(职员)
{
public:
string id;
string name;
double sale;//营业额
}staff[1000];
class manager
{
public:
virtual void show()//虚函数
{
cout<<"管理基类的show方法"<<endl;
}
};
class salemanager:public manager//派生的一个类
{
public:
string salemenu;
salemanager()
{
salemenu="---销售管理---\n1.商品销售\n2.销售退款\n3.新建销售员信息4.销售统计\n0.返回主菜单\n请输入您的选择:";
}
void show()
{
int n,i,j;
do
{
cout<<salemenu;
cin>>n;
if(n==1)
{
int num,d=1;
string a,b;
cout<<"请输入销售的员工编号:";
cin>>b;
for(i=1;i<=S;i++)
if(b==staff[i].id)
{
d=0;
break;
}
if(d)
{
cout<<"没有该编号的员工。

"<<endl;
system("pause");
break;
}
d=1;
cout<<"请输入销售商品的编号:"<<endl;
cin>>a;
for(j=1;j<=G;j++)
if(a==goods[j].id)
{
d=0;
break;
}
if(d)
{
cout<<"没有该编号的商品。"<<endl;
system("pause");
break;
}
cout<<"请输入销售量:"<<endl;
cin>>num;
if(num>goods[i].num)
cout<<"没有那么多库存。

"<<endl;
else 
{
staff[i].sale+=num*goods[j].price;//营业额的计算
goods[j].num-=num;
T+=num*goods[j].price;
}
}
else if(n==2)
{
int num,d=1;
string a,b;
cout<<"请输入退款的员工编号:";
cin>>b;
for(i=1;i<=S;i++)
if(b==staff[i].id)
{
d=0;
break;
}
if(d)
{
cout<<"没有该编号的员工。"<<endl;
system("pause");
break;
}
d=1;
cout<<"请输入退款商品的编号:"<<endl;
cin>>a;
for(j=1;j<=G;j++)
if(a==goods[j].id)
{
d=0;
break;
}
if(d)
{
cout<<"没有该编号的商品。

"<<endl;
system("pause");
break;
}
cout<<"请输入退还量:"<<endl;
cin>>num;
staff[i].sale-=num*goods[j].price;
goods[j].num+=num;
T-=num*goods[j].price;
}
else if(n==3)
{
S++;
cout<<"请输入新员工编号:";
cin>>staff[S].id;
cout<<"请输入新员工姓名:";
cin>>staff[S].name;
cout<<"请输入新员工营业额:";
cin>>staff[S].sale;
}
else if(n==4)
{
int i;
cout<<"编号\t姓名\t销售额"<<endl;
for(i=1;i<=S;i++)
cout<<staff[i].id<<"\t"<<staff[i].name<<"\t"<<staff[i].sale<<endl;
}
}
while(n);
}
};
class savemanager:public manager
{
public:
string savemenu;
savemanager()
{
savemenu="---库存管理---\n1.查询库存\n0.返回主菜单\n请输入您的选择:";
}
void show()
{
int n,i;
do
{
cout<<savemenu;
cin>>n;
if(n==1)
{
cout<<"编号\t名称\t单位价格\t库存"<<endl;
for(i=1;i<=G;i++)
cout<<goods[i].id<<"\t"<<goods[i].name<<"\t"<<goods[i].price<<"\t"<<goods[i].num<<endl;
}
}
while(n);
}
};
class buymanager:public manager
{
public:
string buymenu;
buymanager()
{
buymenu="---採购管理---\n1.买入原有商品\n2.买入新商品\n0.返回主菜单\n请输入您的选择:";
}
void show()
{
int n,i;
do
{
cout<<buymenu;
cin>>n;
if(n==1)
{
int num,d=1;
double p;
string a;
cout<<"请输入买入的货物编号:";
cin>>a;
for(i=1;i<=G;i++)
if(a==goods[i].id)
{
d=0;
break;
}
if(d)
{
cout<<"没有该编号的货物。"<<endl;
system("pause");
break;
}
cout<<"请输入买入单位价格:";
cin>>p;
cout<<"请输入买入数量:";
cin>>num;
goods[i].num+=num;
T-=num*p;
}
else if(n==2)
{
G++;
cout<<"请输入新货物编号:";
cin>>goods[G].id;
cout<<"请输入新货物名称:";
cin>>goods[G].name;
cout<<"请输入新货物单位价格:";
cin>>goods[G].price;
cout<<"请输入新货物数量:";
cin>>goods[G].num;
T-=goods[G].num*goods[G].price;
}
}
while(n);
}
};
class moneymanager:public manager
{
public:
string moneymenu;
moneymanager()
{
moneymenu="---財务管理---\n1.查询营业额\n0.返回主菜单\n请输入您的选择:";
}
void show()
{
int n;
do
{
cout<<moneymenu;
cin>>n;
if(n==1)cout<<"营业额为:"<<T<<endl;
}
while(n);
}
};
class form
{
public:
int n;
string strword;
form(string str)
{
strword=str;
}
void input()
{
do
{
system("cls");
cout<<strword;
cin>>n;

if(n==1)
{
salemanager m;
addfun(&m);
}
else if(n==2)
{
savemanager m;
addfun(&m);
}
else if(n==3)
{
buymanager m;
addfun(&m);
}
else if(n==4)
{
moneymanager m;
addfun(&m);
}
}while(n);
}
//向菜单类对象加入功能对象
void addfun(manager *m)
{
m->show();
}
};
void main()
{
string menu,salemenu,savemenu,buymenu,moneymenu;
menu="==进销存===\n";
menu+="1.销售管理\n";
menu+="2.库存管理\n";
menu+="3.採购管理\n";
menu+="4.財务管理\n0.退出\n请输入您的选择:";
form f(menu);
f.input();
}

进销存管理系统, 刚学C++相关推荐

  1. 基于Vue和SpringBoot的进销存管理系统的设计和实现

    作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...

  2. Jsp+Ssm+Mysql实现的进销存管理系统

    此篇为大家推荐一款基于jsp+ssm框架(spring+springMVC+mybaits)+mysql实现的进销存管理系统源码和开发教程 主要功能:供应商管理.商品管理.进货管理.库存盘点.进货退货 ...

  3. JAVA javaweb JSP水果管理系统源码(水果进销存管理系统水果管理系统(水果进销存)

    JSP水果管理系统源码(水果进销存管理系统水果管理系统(水果进销存) 常见的Javaweb题材有 理财系统,就业管理系统,汽车租赁,简易网盘,疫情数据查看,在线招标房,屋租赁,教务管理,医院管理,餐厅 ...

  4. C#毕业设计——基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码)——进销存管理系统

    基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver药店进销存管理系统设计与实现,文章末尾 ...

  5. 陶瓷工厂的进销存管理系统的设计与实现

    毕业设计(论文) 论文题目 XXX陶瓷工厂的进销存管理系统的设计与实现 Thesis Topic The Design and Implementation of the XXX Ceramic Fa ...

  6. (附源码)springboot福佳生活超市进销存管理系统 毕业设计261620

    福佳生活超市进销存管理系统 摘 要 随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长.超市时时刻刻都需要对商品各种进销存信息进行统计分析.超市进销存管理系统开发的主要目是使 ...

  7. springboot福佳生活超市进销存管理系统毕业设计源码261620

    福佳生活超市进销存管理系统 摘 要 随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长.超市时时刻刻都需要对商品各种进销存信息进行统计分析.超市进销存管理系统开发的主要目是使 ...

  8. Springboot福佳生活超市进销存管理系统 毕业设计-附源码261620

    福佳生活超市进销存管理系统 摘 要 随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长.超市时时刻刻都需要对商品各种进销存信息进行统计分析.超市进销存管理系统开发的主要目是使 ...

  9. PHP进销存系统的数据结构,数据结构课程设计-仓库进销存管理系统.doc

    数据结构课程设计-仓库进销存管理系统.doc 题 目: 仓库进销存管理系统 学 院: 计算机与控制工程学院 专业班级: 软件101 学生姓名: 王海川 指导教师: 王一萍 2012 年06 月2 9日 ...

  10. java毕业设计介绍 基于SSM的仓库进销存管理系统

    一.源码描述 这是新款的基于B/S和Web开发的JavaWeb的SSM(Spring+SpringMVC+MyBatis)源码,包含源码数据库论文答辩ppt等,开发工具dea支持eclipse,MyS ...

最新文章

  1. 程序员请收好:10个非常有用的 Visual Studio Code 插件!
  2. OpenGL窗口属性
  3. matlab扩充内存,matlab扩大内存的方法
  4. Hybris service layer和SAP CRM WebClient UI架构的横向比较
  5. Android中异步任务AsyncTask的使用
  6. Swift泛型Protocol对比C#泛型Interface
  7. olap mysql_MySQL与OLAP:分析型SQL查询最佳实践探索
  8. django-模板的转义
  9. 【IDEA】IDEA 下 如何 jstack 线程状态
  10. Fiddler 抓包(一)—iOS
  11. 她拒绝麦肯锡 Offer,建立图片训练数据库,斯坦福 AI 实验室负责人 | 人物志
  12. CSS设置中文字体无效乱码问题
  13. POJ1276:Cash Machine(多重背包)
  14. “上传漏洞”安全检测网站详解
  15. 微信小程序从入门到放弃(五)
  16. matlab各类数据导入
  17. javaee 学习书籍推荐
  18. 搜索 阿虚同学_凉宫春日阿虚台词“在虚构的故事当中寻求真实感的人脑袋一定有问题”动画是出自那一集?...
  19. Nginx反向代理、配置ssl证书
  20. 金融数据分析与挖掘具体实现方法 -1

热门文章

  1. 云架构指挥调度平台技术方案建议书
  2. 简单说说JAVA的String和byte[]的关系
  3. groovy环境搭建,配置报错
  4. 车牌识别及验证码识别的一般思路
  5. HackerOne 平台诞生首个收入超200万美元的赏金猎人
  6. 微软推出 Xbox 漏洞奖励计划,最高奖励2万美元
  7. Tornado之异步authenticated
  8. 4.8 定位一组元素
  9. 艰苦的编译boost python (失败)
  10. KVM,QEMU,libvirt入门学习笔记【转】