进销存管理系统, 刚学C++
各位大神们。有什么补充的能够评论一下吗?
#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++的更多相关文章
- Java实例学习——企业进销存管理系统(4)
Java实例学习——企业进销存管理系统(4) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月18日——系统主窗体设计 只看了学习视频 2月19日—— 回 ...
- Net通用进销存管理系统 + 开发文档+ 使用说明
通用进销存管理系统 + 开发文档+ 使用说明Net源码下载 包括下面的模块基础资料模块采购管理模块库存管理模块商务管理模块营业管理模块维修管理模块会员管理模块财务管理模块 Net通用进销存管理系统 + ...
- 文献综述十五:基于b/s中小型超市进销存管理系统的研究与设计
一.基本信息 标题:基于b/s中小型超市进销存管理系统的研究与设计 时间:2015 出版源:湘西财经大学 文件分类:对超市管理系统的研究 二.研究背景 在竞争日益激烈的行业中,尽可能降低运营成本,逐步 ...
- Java实例学习——企业进销存管理系统(3)
Java实例学习--企业进销存管理系统(3) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月16日-公共类(Item公共类,数据模型公共类,Dao公共类 ...
- Java实例学习——企业进销存管理系统(2)
Java实例学习--企业进销存管理系统(2) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月15日-系统登录 对于昨天新建的12个Java包不能完全显示 ...
- Java实例学习——企业进销存管理系统(1)
Java实例学习——企业进销存管理系统(1) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月12日—选择企业进销存管理系统 选择企业进销存管理系统这一实 ...
- Access-简易进销存管理系统
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- java进销存管理系统的设计与实现-springboot源码
开发环境: Windows操作系统 开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库 项目简介: 系统前段页面采用jsp + JavaScrip ...
- 不逃离WIndows,Asp.Net就只能写写进销存管理系统
那个丹麦人把C#语言弄的再好,但是如果程序放进Windows+IIS这个容器,就有问题了. 我在I5+8G内存的机子上测试Windows2008+IIs,直接ab 2000并发压默认的HTML主页,还 ...
随机推荐
- oracle插入字符串数据时,字符串中有'单引号
使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错. 处理方法:判断一下val1,val2中是否含有单引号,若含 ...
- Spartan6系列之芯片配置模式详解
1. 配置概述 Spartan6系列FPGA通过把应用程序数据导入芯片内部存储器完成芯片的配置.Spart-6 FPGA可以自己从外部非易失性存储器导入编程数据,或者通过外界的微处理器.DSP等对 ...
- Application received signal SIGSEGV
Application received signal SIGSEGV (null) (( 0 CoreFoundation 0x0000000181037d50 <redacted> + ...
- Linux的网卡由eth0变成了eth1或eth2,如何修复??
背景:做linux下分布式测试的时候,重新安装了两个linux虚拟机,结果分布式脚本没有做好,分布式也没有做成. 今天想练练linux命令,打开vmware,启动linux1 虚拟机,使用ifconf ...
- SAS,SATA普及文档
目前所能见到的硬盘接口类型主要有IDE.SATA.SCSI.SAS.FC等等. IDE是俗称的并口,SATA是俗称的串口,这两种硬盘是个人电脑和低端服务器常见的硬盘.SCSI是"小型计算机系 ...
- Queueingconsumer 找不到
springboot从1.5.9升级到2.0.0,queueingconsumer报错没有这个类,改为使用 DefaultConsumer
- JAVA基础——集合浅析
Java 集合 数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关.刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得数组这东西没法满足需求了,这时一位“前辈” ...
- Vue.js 观察者(watch)
Vue.js 观察者(watch) watch 属性用于监视 vue 实例上的数据变动,并相应的改变其他变量的值. 用法 实例 1 <!DOCTYPE html> <html> ...
- NOIP 2006 金明的预算方案(洛谷P1064,动态规划递推,01背包变形,滚动数组)
一.题目链接:P1064 金明的预算方案 二.思路 1.一共只有五种情况 @1.不买 @2.只买主件 @3.买主件和附件1(如果不存在附件也要运算,只是这时附件的数据是0,也就是算了对标准的结果也没影 ...
- Luogu P3110 [USACO14DEC]驮运Piggy Back
解题思路 看到下面很多人都在说什么遇到了之后要不要背着走,其实根本不需要,同样的我也是跑了三遍$SPFA$,求出了以$1$为起点到个点的$dist$,和以$2$为起点到个点的$dist$,还有以$n$ ...