C++的商品管理系统
一、系统简要介绍
采用C++语言设计实现一个适合超市使用的进出货商品管理系统,实现商品的进货、销售、商品分类、营收管理、订单管理、管理员等功能。
二、系统分层数据流图
三、系统结构图
四、数据库设计
根据商品管理系统的概念设计,采用关系模型设计。系统共有3个实体对象表,并使用存储过程、函数和触发器等内容对数据库进行操作。分别是users表、goods表、indent表。
根据用户的属性,users表共包含四个字段,其字段名、属性、类型和约束如下表。用户对象中,用户编号id为主键isAdmin字段表示改用户是否是管理员,只能取两个值,1表示是管理员,0表示普通顾客。
字段名 | 属性 | 类型 | 约束 |
---|---|---|---|
Id | 用户编号 | int | Primary key |
username | 用户名 | Varchar(30) | not null |
password | 密码 | Varchar(30) | not null |
isAdmin | 是否管理员 | int | Check(isAdmin in(0,1)) |
根据商品的属性,goods商品信息表包含9个字段,其字段名、属性、类型和约束如下表。商品编号id作为主键。
字段名 | 属性 | 类型 | 约束 |
---|---|---|---|
id | 商品编号 | Int | Primary key |
name | 商品名称 | varchar(255) | not null |
brand | 生产厂商 | varchar(255) | not null |
purprice | 进价 | double(10) | not null |
saleprice | 售价 | double(10) | not null |
type | 商品类型 | varchar(255) | not null |
num | 商品库存 | int | not null |
salesnum | 商品销量 | int | not null |
date | 入库时间 | varchar(255) | not null |
根据订单的属性,indent订单信息表共包含7个字段,其字段名、属性、类型和约束如下表。其中订单编号id作为主键,商品编号和商品名称只能取goods表中已有的数据。username只能取users表中的数据。
字段名 | 属性 | 类型 | 约束 |
---|---|---|---|
id | 订单编号 | varchar(20) | Primary key |
username | 下单人姓名 | varchar(255) | not null |
goodid | 商品编号 | int | not null |
goodname | 商品名称 | varchar(255) | not null |
price | 商品售价 | double(10) | not null |
num | 购买数量 | int | not null |
sum_price | 订单总价 | double(20) | not null |
五、关键代码展示
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<Windows.h>
#include<WinSock.h>
#include<mysql.h>
#include<string.h>
#include<conio.h>
#include<ctime>
#include<stdio.h>
#include<iomanip>
#include "menu.h"using namespace std;
#pragma comment(lib,"libmysql.lib")
#pragma comment(lib,"wsock32.lib")
MYSQL* mysql = new MYSQL; //mysql连接
MYSQL_FIELD* fd; //字段列数组
char field[32][32]; //存字段名二维数组
MYSQL_RES* res; //这个结构代表返回行的一个查询结果集
MYSQL_ROW column; //一个行数据的类型安全(type-safe)的表示,表示数据行的列
char query[150]; //查询语句
//定义用户的用户名和密码
string username = "";
string password = "";
// 定义是否是管理员的标志,默认不是
bool isAdmin = false;
//定义商品类型
enum GoodsType//商品类别
{Food = 1, //食品Cosmetic, //化妆品Commodity, //日用品Drink, //饮料Stationery //文具
};//商品基本类型
struct Goods//商品基本信息
{int code;//商品编号string name;//商品名称string brand;//生产厂家double pur_price;//商品售价double price;//商品售价int num;//商品库存int salenum;//销量string type;//商品类别string date;//入库时间
};//商品订单基本类型
struct OrderGoods//商品基本信息
{string code;//订单编号string username; //下单人string goodname; //商品名称int goodid;//商品编号int num; //该商品的购买数量double price;//售价double sum_mony;//单品总价int salesum;//商品销量,更新销量时要用到string date;//入库时间double sum_price;//订单总价
};//连接数据库的函数
bool ConnectDatabase();
//顾客的主菜单,主要是展示商品,购买商品等功能
void CustomerMenu();
//仓库管理员的主菜单
void AdministratorMenu();
//选择登录角色
void ChooseLoginCharacter(string &,bool &);
//顾客登录页面
string CustormerLogin(void);
//顾客选择操作的主函数
void CustormerOperation();
//顾客浏览商品函数
void BrowseGoods();
//顾客购买商品函数
void BuyGoods();//管理员的登录页面
string AdministratorLogin(void);
//管理员选择操作的主函数
void AdministratorOperation();
//管理员添加商品的函数
void AddGoodsInfo();
//管理员修改商品信息的函数
void EditGoodsInfo();
//管理员删除商品的函数
void DeleteGoodsInfo();
//管理员查询商品的主函数
void SelectGoodsMain();
//管理员选择订单操作方式函数
void SelectOrderOperation();
//管理员查询订单函数
void SelectOrder();
//管理员删除订单函数
void DeleteOrder();
//选择查询方式的函数
void SelectMethod();
//查询商品通过id
void SelectGoodsById();
//查询商品通过商品名称
void SelectGoodsByName();
//查询商品通过生产厂商
void SelectGoodsByBrand();
//查询商品通过商品类型
void SelectGoodsByType();
//查询商品通过价格排序
void SelectGoodsByPriceSort();
//查询商品通过销量排序
void SelectGoodsBySaleSort();
//营收统计菜单
void RevenueMenu();
//选择营收统计方式
void SelectRevenue();
//单个商品营收统计
void RevenueById();
//所有商品营收统计
void RevenueAll();
//管理员订单管理函数
void OrderManagementMenu();
//修改用户的密码函数
void ChangePassword();
部分函数:
六、获取代码
该项目已开源至GitHub,欢迎star。
https://github.com/weiyuexin/CMS
C++的商品管理系统相关推荐
- java最终考核项目(实现商品管理系统)
文章目录 首先声明一点,java这门语言其实博主是个小白,有很多小细节没考虑进去,大家有需要的私下各自完善一下,还请各位大佬多多谅解,谢谢,祝大家取得好成绩,冲冲冲,加油!!! 第一步: 第二步: 第 ...
- 库存商品表html源码,JSP+Servlet+数据库的方式完成一个简易的库存商品管理系统...
[实例简介] JSP+Servlet+数据库的方式完成一个简易的库存商品管理系统 [实例截图] [核心代码] f48fd612-281d-454e-97d3-20c8f775879f └── Prod ...
- c语言编写的商品管理程序,C语言编写的商品管理系统
C语言编写的商品管理系统 商品的增删改查 #include #include #include #define K 5 int m=2; //商品种数 /*定义商品结构体*/ struct goods ...
- c语言商品管理系统文件,c语言商品管理系统(文件应用).doc
c语言商品管理系统(文件应用) //编制于2012.11.4-5号/************************库文件包含************************/ #include//输 ...
- 计算机毕业设计SSM超市商品管理系统【附源码数据库】
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- C++语言课程设计——超市商品管理系统
一.问题要求 使用C++语言编写程序,模拟超市的商品销售.进货.库存等一些列增删改查的功能 二.源码与安装 源码下载链接 百度网盘链接:点击跳转,提取码:BigG 安装教程 下载上述链接的文件,是一个 ...
- [附源码]Python计算机毕业设计超市商品管理系统
项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...
- Java---设计【超市商品管理系统】
超市商品管理系统 设计要求 实现代码 运行结果 设计要求 设计超市商品管理系统,实现以下功能: (1)输入5种商品名称.价格和数量: (2)统计商品的总价格及平均价格,最高价和最低价: (3)按价格降 ...
- MFC超市商品管理系统学生成绩管理系统学生信息管理系统通讯录管理系统图书管理系统
MFC超市商品管理系统学生成绩管理系统学生信息管理系统通讯录管理系统图书管理系统 序号 题目 数组保存数据 文件保存数据 数据库保存数据 1 超市商品管理系统 2 学生成绩管理系统 3 学生信息管理系 ...
- 基于JavaSwing+MySQL实现的超市商品管理系统
登陆 首页 新增 查询 统计信息 修改 附带内容 技术描述 开发工具: Idea/Eclipse 数据库: mysql Jar包仓库: jar 后端框架: JavaSwing 基于JavaSwing+ ...
最新文章
- SVN提交错误:working copy is not up-to-date解决方法
- Linux学习--目录结构
- 独家 | 关于Facebook数据泄露你需要知道的事
- java一维数组插入元素_Java 数组 之 一维数组 追加 元素
- 七牛云rs.php位置,七牛云存储PHP生成管理凭证以及查看文件(state)
- [转]一篇很喜欢的知乎美文
- LIBCLNTSH.SO: WRONG ELF CLASS: ELFCLASS32错误一例
- 前端学习(1925)vue之电商管理系统电商系统之美化一层循环的UI结构
- 常见排序查询算法Java代码实现
- 杭电1229 还是A+B
- 单点登录解决方案-CAS
- JVM原理及调优--网页链接收藏
- 【U-net】【粗读】Retinal blood vessel segmentation using fully convolutional network with transfer...
- C语言常用函数大整理
- Docker - 基于NVIDIA-Docker的Caffe-GPU环境搭建
- 为什么俺推荐Python「1」:作为脚本语言的Python
- 洛谷 字符串题单P1957:口算练习题
- 初学者如何学习好嵌入式开发?讲解嵌入式学习教程
- freetype的简单使用之 生成一个字体bmp
- 天嵌科技为E9卡片电脑Qt快速入门攻略