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

#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. Java实例学习——企业进销存管理系统(4)

    Java实例学习——企业进销存管理系统(4) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月18日——系统主窗体设计 只看了学习视频 2月19日—— 回 ...

  2. Net通用进销存管理系统 + 开发文档+ 使用说明

    通用进销存管理系统 + 开发文档+ 使用说明Net源码下载 包括下面的模块基础资料模块采购管理模块库存管理模块商务管理模块营业管理模块维修管理模块会员管理模块财务管理模块 Net通用进销存管理系统 + ...

  3. 文献综述十五:基于b/s中小型超市进销存管理系统的研究与设计

    一.基本信息 标题:基于b/s中小型超市进销存管理系统的研究与设计 时间:2015 出版源:湘西财经大学 文件分类:对超市管理系统的研究 二.研究背景 在竞争日益激烈的行业中,尽可能降低运营成本,逐步 ...

  4. Java实例学习——企业进销存管理系统(3)

    Java实例学习--企业进销存管理系统(3) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月16日-公共类(Item公共类,数据模型公共类,Dao公共类 ...

  5. Java实例学习——企业进销存管理系统(2)

    Java实例学习--企业进销存管理系统(2) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月15日-系统登录 对于昨天新建的12个Java包不能完全显示 ...

  6. Java实例学习——企业进销存管理系统(1)

    Java实例学习——企业进销存管理系统(1) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月12日—选择企业进销存管理系统 选择企业进销存管理系统这一实 ...

  7. Access-简易进销存管理系统

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  8. java进销存管理系统的设计与实现-springboot源码

    开发环境: Windows操作系统 开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库   项目简介:   系统前段页面采用jsp + JavaScrip ...

  9. 不逃离WIndows,Asp.Net就只能写写进销存管理系统

    那个丹麦人把C#语言弄的再好,但是如果程序放进Windows+IIS这个容器,就有问题了. 我在I5+8G内存的机子上测试Windows2008+IIs,直接ab 2000并发压默认的HTML主页,还 ...

随机推荐

  1. Hue - Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or

    解决下面两点异常 >> 1. Hue页面 点击DB 查询时弹出: Error loading MySQLdb module: libmysqlclient.so.20: cannot op ...

  2. (转)全文检索技术学习(二)——配置Lucene的开发环境

    http://blog.csdn.net/yerenyuan_pku/article/details/72589380 Lucene下载 Lucene是开发全文检索功能的工具包,可从官方网站http: ...

  3. Python的伪造数据库:Faker

    faker 是一个可以让你生成伪造数据的Python包,在软件需求.开发.测试过程中常常需要利用一些假数据来做测试,这种时候就可以使用 Faker 来伪造数据从而用来测试. 一.Faker安装 pip ...

  4. java项目其他基础配置

    创建完maven项目之后. 1.pom.xml文件配置项目相关的架包. 2.src.main.resources下边 创建文件夹:spring以及mapper. 3.src.main.resource ...

  5. C++写注册表

    1.       注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...

  6. CMU-准备

    TOEFL成绩90分以上,GPA大于3.0,GRE1250分以上(不做明确要求) 申请条件:GRE成绩,建议有专科成绩;托福250,雅思7.0;简历;3封推荐信 TOEFL(The Test of E ...

  7. 牛客多校Round 8

    Solved:2 rank:164 签了两个oeis,但这样真的开心嘛

  8. 基于APE物理引擎的管线容积率计算方法

    容积率一般应用在房地产开发中,是指用地范围内地上总建筑面积与项目总用地面积的比值,这个参数是衡量建设用地使用强度的一项非常重要的指标.在其他行业,容积率的计算也非常重要,如产品利用率.管道使用率等等. ...

  9. php第二十七节课

    注册审核 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  10. Flask项目中整合各组件

    一.介绍 主要介绍flask_sqlalchemy.flask_script.flask_migrate这三个组件该如何整合到flask项目中,以及如何使用. # 安装组件 pip3 install ...