C++超市管理系统(MySQL)
#include<iostream>
#include<stdio.h>
#include<string>
#include<mysql.h>
#define Password "******" //定义密码
using namespace std;MYSQL mysql; //定义mysql变量
MYSQL_RES* res; //查询结果集
MYSQL_ROW row; //行数据展示//01购买函数
void MyPurchase() { string my_type,my_name,the_sql; //初始化所需要的局部变量float my_price;char my_num;int my_number;do { //用户选择商品类别 system("cls");cout << endl << " 1.食品 2.化妆品 3.日用品 4.饮料 " << endl;cout << endl << " 请输入序号选择购买商品的类别:";cin >> my_num;switch (my_num) {case '1':my_type = "食品";break;case '2':my_type = "化妆品";break;case '3':my_type = "日用品";break;case '4':my_type = "饮料";break;default:my_num = '0';cout << endl << " 输入错误,请重新输入!" << endl;system("pause"); }} while (my_num == '0'); //用户输入错误则循环操作cout << endl << " 请输入您要购买的商品的名称:"; //用户输入商品名称cin >> my_name;the_sql = "select * from market.my_system where name = \'"; //编辑SQL语句the_sql += my_name;the_sql += "\' and type = \'";the_sql += my_type += "\'";mysql_query(&mysql, the_sql.c_str()); //向数据库传递SQL查询语句并获取查询结果res = mysql_store_result(&mysql);row = mysql_fetch_row(res);if (!row) { //若没有商品则输出提示语句结束购买cout << endl << " 该记录不存在!" << endl;}else { //若有商品则进行购买操作cout << endl; //输出商品信息并提示用户输入购买数量cout << " 商品名称:\t" << row[1] << endl;cout << " 商品类别:\t" << row[2] << endl;cout << " 生产厂家:\t" << row[3] << endl;cout << " 商品品牌:\t" << row[4] << endl;cout << " 商品价格:\t" << row[5] << endl;cout << " 剩余库存:\t" << row[6] << endl << endl;cout << " 请输入购买的数量:";cin >> my_number;if (my_number > stoi(string((row[6]))) || stoi(string((row[6]))) == 0) {//若库存量不足则输出提示并结束购买cout << endl << " 库存量不足!" << endl;}else { //若库存量足够则进行购买操作my_price = stof(string(row[5]));my_price *= my_number; //计算消费价格cout << " 您此次购买一共花费:" << my_price << endl;cout << endl << " 购买成功,该商品售出! " << endl;the_sql = "update my_system set stock = "; //编辑SQL语句并传递到mysqlthe_sql += to_string(stoi(string(row[6])) - my_number);the_sql += " where name = \'";the_sql += my_name += "\'";mysql_query(&mysql, the_sql.c_str());}}system("pause");
}//02插入函数
void MyInsert(){char my_num; //初始化所需要的局部变量string value01, value02, value03, value04, value05, value06;do { //用户选择商品类别system("cls");cout << endl << " 1.食品 2.化妆品 3.日用品 4.饮料 " << endl;cout << endl << " 请输入序号选择添加商品的类别:"; cin >> my_num;switch (my_num) {case '1':value02 = "食品";break;case '2':value02 = "化妆品";break;case '3':value02 = "日用品";break;case '4':value02 = "饮料";break;default:my_num = '0';cout << endl << " 输入错误,请重新输入!" << endl;system("pause"); }} while (my_num == '0'); //如果输入错误则重新进行操作cout << endl << " 请输入商品的名称: "; //提示用户输入添加商品信息cin >> value01;cout << endl << " 请输入商品的生产厂家: ";cin >> value03;cout << endl << " 请输入商品的品牌: ";cin >> value04;cout << endl << " 请输入商品的价格: ";cin >> value05;cout << endl << " 请输入商品的库存量: ";cin >> value06;string the_sql = "insert into my_system values(\"0\",\""; //编辑sql语句 the_sql += value01 += "\",\"";the_sql += value02 += "\",\"";the_sql += value03 += "\",\"";the_sql += value04 += "\",\"";the_sql += value05 += "\",\"";the_sql += value06 += "\")";if (mysql_query(&mysql, the_sql.c_str())) { //执行插入语句并检查是否成功cout << mysql_error(&mysql) << endl;}else {cout << endl << " 添加成功!" << endl << endl;}system("pause");
} //03删除函数
void MyDelete() {char my_num; //初始化所需要的局部变量string my_type, my_name, the_sql;do { //提示用户选择商品的类别system("cls");cout << endl << " 1.食品 2.化妆品 3.日用品 4.饮料 " << endl;cout << endl << " 请输入序号选择商品删除的类别:";cin >> my_num; switch (my_num) {case '1':my_type = "食品";break;case '2':my_type = "化妆品";break;case '3':my_type = "日用品";break;case '4':my_type = "饮料";break;default:my_num = '0';cout << endl << " 输入错误,请重新输入!" << endl;system("pause"); }} while (my_num == '0'); //输入错误则重新进行操作cout << endl << " 请输入您要删除的商品的名称:"; //用户输入删除商品的名称cin >> my_name;the_sql = "select * from market.my_system where name = \'"; //编辑SQL语句the_sql += my_name;the_sql += "\' and type = \'";the_sql += my_type += "\'";mysql_query(&mysql, the_sql.c_str()); //传递SQL查询语句并获取结果集res = mysql_store_result(&mysql);row = mysql_fetch_row(res);if (!row) { //如果没有查询结果则输出提示并结束删除cout << endl << " 该记录不存在!" << endl << endl;}else { //如果有查询结果则进行删除操作the_sql = "delete from market.my_system where name = \'";the_sql += my_name += "\'";mysql_query(&mysql, the_sql.c_str());cout << endl << " 删除成功!" << endl << endl;}system("pause");
}//04修改函数
void MyUpdate() {char my_num; //定义所需要的局部变量string my_type,my_name,the_sql,my_value;do { //用户选择修改的商品类别system("cls");cout << endl << " 1.食品 2.化妆品 3.日用品 4.饮料 " << endl;cout << endl << " 请输入序号选择修改商品的类别:"; cin >> my_num;switch (my_num) {case '1':my_type = "食品";break;case '2':my_type = "化妆品";break;case '3':my_type = "日用品";break;case '4':my_type = "饮料";break;default:my_num = '0';cout << endl << " 输入错误,请重新输入!" << endl;system("pause");}} while (my_num == '0'); //如果输入错误则重新进行选择do { //用户输入商品名称并选择修改项目system("cls");cout << endl << " 请输入您要修改的商品的名称:"; cin >> my_name;cout << endl << " 1.修改价格" << endl << " 2.修改库存" << endl;cout << endl << " 请选择您要修改的项目:"; //用户选择修改的项目cin >> my_num;switch (my_num) {case '1':cout << " 请输入新价格:"; //提示用户输入价格并编辑SQL语句the_sql = "update my_system set price = ";cin >> my_value;the_sql += my_value += " where name = \"";the_sql += my_name += "\" and type = \"";the_sql += my_type += "\"";break;case '2':cout << " 请输入新库存:"; //提示用户输入库存并编辑SQL语句 the_sql = "update my_system set stock = ";cin >> my_value;the_sql += my_value += " where name = \"";the_sql += my_name += "\" and type = \"";the_sql += my_type += "\"";break;default:my_num = '0';cout << endl << " 输入错误,请重新输入!" << endl;system("pause");}} while (my_num == '0');mysql_query(&mysql, the_sql.c_str()); //执行SQL语句cout << endl << " 修改成功!" << endl << endl;system("pause");
}//05查询函数
void MySelect() {string my_name, my_manufacturer,the_sql; //初始化所需要的局部变量char my_num;do { //提示用户选择查询方式system("cls");cout << endl << " 1.按商品类别 2.按商品名称 3.按生产厂家 " << endl;cout << endl << " 请输入序号选择要查询的方式:"; cin >> my_num;switch (my_num) {case '1':cout << endl << " 1.食品 2.化妆品 3.日用品 4.饮料 " << endl;cout << endl << " 请输入要查询的类型:"; //提示用户选择要查询的类型cin >> my_num;switch (my_num) { //按不同的类型编写不同的SQL语句并执行case '1':mysql_query(&mysql, "select * from market.my_system where type = '食品'");break;case '2':mysql_query(&mysql, "select * from market.my_system where type = '化妆品'");break;case '3':mysql_query(&mysql, "select * from market.my_system where type = '日用品'");break;case '4':mysql_query(&mysql, "select * from market.my_system where type = '饮料'");break;}break;case '2':cout << endl << " 请输入要查询的名称:"; //提示用户输入查询的名称cin >> my_name;the_sql = "select * from market.my_system where name = '"; //编辑SQL语句并执行the_sql += my_name += "'";mysql_query(&mysql, the_sql.c_str());break;case '3':cout << endl << " 请输入要查询的生产厂家:";cin >> my_manufacturer;the_sql = "select * from market.my_system where manufacturer = '"; //编辑SQL语句并执行the_sql += my_manufacturer += "'";mysql_query(&mysql, the_sql.c_str());break;default:my_num = '0';cout << endl << " 输入错误,请重新输入!" << endl;system("pause"); }} while (my_num == '0'); //如果输入错误则重新输入res = mysql_store_result(&mysql); //获取结果集if (row = mysql_fetch_row(res)) { //如果有数据则分别输出cout << endl << "\t商品名称\t" << "商品类别\t" << "生产厂家\t" << "商品品牌\t" << "商品价格\t" << "商品库存\t" << endl;for (int i = 1; i <= 6; i++) {cout << "\t" << row[i];if (size(string(row[i])) < 8) { //为了排版整齐,若字符长度小于8则多输出一个制表位cout << "\t";}}cout << endl;while (row = mysql_fetch_row(res)) {for (int i = 1; i <= 6; i++) {cout << "\t" << row[i];if (size(string(row[i])) < 8) {cout << "\t";}}cout << endl;}}else { //如果没有数据则输出提示并退出查询cout << endl << " 该记录不存在!" << endl;}cout << endl;system("pause");
}//06统计函数
void MySort() {char my_num; //初始化所需要的局部变量string the_sql;do { //提示用户选择统计的方式并编辑SQL语句system("cls");cout << " 1.按价格统计 2.按库存统计 3.按厂家统计" << endl;cout << " 请选择要统计的方式:"; cin >> my_num;switch (my_num) {case '1':the_sql = "select * from my_system order by price desc";break;case '2':the_sql = "select * from my_system order by stock desc";break;case '3':the_sql = "select * from my_system order by manufacturer desc";break;default:my_num = '0';cout << endl << " 输入错误,请重新输入!" << endl;system("pause"); }} while (my_num == '0'); //用户输入错误则重新输入mysql_query(&mysql, the_sql.c_str());res = mysql_store_result(&mysql); //获取结果集if (row = mysql_fetch_row(res)) { //如果有数据则分别输出cout << endl << "\t商品名称\t" << "商品类别\t" << "生产厂家\t" << "商品品牌\t" << "商品价格\t" << "商品库存\t" << endl;for (int i = 1; i <= 6; i++) {cout << "\t" << row[i];if (size(string(row[i])) < 8) { //为了排版整齐,若字符长度小于8则多输出一个制表位cout << "\t";}}cout << endl;while (row = mysql_fetch_row(res)) {for (int i = 1; i <= 6; i++) {cout << "\t" << row[i];if (size(string(row[i])) < 8) {cout << "\t";}}cout << endl;}}else { //如果没有数据则输出提示并退出统计cout << endl << " 该记录不存在!" << endl;}system("pause");
}//展示菜单函数
void ShowMenu() {cout << endl << endl << endl;cout << " &&&&&&&&&&&&&&&&&&&&********************&&&&&&&&&&&&&&&&&&&" << endl << endl;cout << " ---------欢迎进入超市商品管理系统--------- " << endl << endl;cout << " ********** 1.购买商品 ********** " << endl << endl;cout << " ********** 2.添加商品 ********** " << endl << endl;cout << " ********** 3.删除商品 ********** " << endl << endl;cout << " ********** 4.修改商品 ********** " << endl << endl;cout << " ********** 5.查询商品 ********** " << endl << endl;cout << " ********** 6.统计商品 ********** " << endl << endl;cout << " ********** 0.退出系统 ********** " << endl << endl;cout << " &&&&&&&&&&&&&&&&&&&&********************&&&&&&&&&&&&&&&&&&&" << endl << endl;cout << " 请选择您要进行的操作项目(0-6):";
}//链接数据库函数
void MyConnect() {mysql_init(&mysql); //初始化数据库mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"); //设置字符编码//连接数据库,并检查是否连接成功if (mysql_real_connect(&mysql, "localhost", "root", "zsql1106", "market", 3306, NULL, 0) == NULL) { printf("错误原因: %s\n", mysql_error(&mysql));printf("连接失败!\n");exit(-1);}else {cout << endl << endl;cout << " ------------已连接数据库------------ " << endl << endl;}//检查是否存在数据表,如果没有则新建数据表 int cre = mysql_query(&mysql, "create table my_system(ID int primary key auto_increment,Name char(50),Type char (50),Manufacturer char(50),Brand char(50),Price float,Stock int);"); if (cre != 0) {if (string(mysql_error(&mysql)) == "Table 'my_system' already exists") {cout << " ------------数据表已存在------------ " << endl << endl;}else {cout << " " << mysql_error(&mysql) << endl << endl;}}else {cout << " ------------已创建数据表------------ " << endl << endl;}system("pause");system("cls");
}//管理员系统
void Management() {char my_num;do { //用户输入0-6选择功能system("cls");ShowMenu();cin >> my_num;switch (my_num) {case'1':MyPurchase();break;case'2':MyInsert();break;case'3':MyDelete();break;case'4':MyUpdate();break;case'5':MySelect();break;case'6':MySort();break;case'0':break;default:cout << "输入错误,请重新输入!" << endl;system("pause");}} while (my_num != '0'); //输入0退出系统
}//登录选择身份
void MyLogin() {char my_num; //初始化所需要的局部变量string my_password;do {system("cls");cout << endl << endl;cout << " 0. 路人 (退出操作系统)" << endl;cout << " 1. 顾客 (仅能进行购买)" << endl;cout << " 2. 管理员 (进行全部操作)" << endl << endl;cout << " 请选择您的身份:"; //用户选择身份进入系统cin >> my_num;switch (my_num) {case '1':MyPurchase();while (1) {system("cls");cout << endl << " 是否继续进行购买?" << endl;cout << " 1. 继续购买 2. 退出" << endl;cout << " ";cin >> my_num;if (my_num == '1') {MyPurchase();}else if (my_num == '2') {break;}}break;case'2':cout << " 请输入管理员密码:";cin >> my_password;if (my_password == Password) {Management();}else {cout << endl << " 密码错误,请重新进行选择!" << endl;system("pause");}break;case'0':break;default:my_num = 'R';cout << endl << " 输入错误,请重新进行选择!" << endl;system("pause");}} while (my_num == 'R');cout << endl << " 欢迎下次使用本系统!" << endl;mysql_close(&mysql); //关闭数据库
}//程序主函数
int main() { MyConnect(); //链接数据库MyLogin(); //进入程序系统return 0;
}
//I Love Munchie Zhou.
C++超市管理系统(MySQL)相关推荐
- 超市管理系统java swing+mysql报告_基于java+swing+mysql的超市管理系统
运行环境:java jdk 1.8 IDE环境:Eclipse,Myeclipse,IDEA都可以 硬件环境:windows 7/8/10 2G内存以上(推荐4G,4G以上更好) 可以实现: 销售管理 ...
- java计算机毕业设计社区生活超市管理系统源程序+mysql+系统+lw文档+远程调试
java计算机毕业设计社区生活超市管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计社区生活超市管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构 ...
- 基于Java的超市管理系统源码,数据库MySQL(附加论文13000字)
目录 1.摘要 2.社会背景 3.系统可行性研究 4.系统的功能结构(图) 5.功能需求 6.开发环境介绍 7.系统数据流(图) 8.数据库(E-R模型) 9.功能展示 10.论文目录结构 11.源码 ...
- JSP+Servlet+MySql超市管理系统项目源码
一. 开发背景 软件名称:超市管理系统(servlet+jsp) 使用对象:学习或了解过 java 基础课程,开始接触 javaWeb 的学生和软件爱好者 源码链接https://pan.baidu. ...
- 基于JAVA社区生活超市管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA社区生活超市管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA社区生活超市管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: ...
- 计算机毕业设计Java超市管理系统(源码+系统+mysql数据库+lw文档
计算机毕业设计Java超市管理系统(源码+系统+mysql数据库+lw文档 计算机毕业设计Java超市管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语言 ...
- Python版超市管理系统源代码,基于django+mysql
Python版超市管理系统源代码,基于django+mysql 安装步骤 1.在mysql中创建名为demo_django_supermarket的数据库,修改config/setting.py中数据 ...
- mysql创建超市管理_C#+mysql实现的超市管理系统
[实例简介] 本资源是是一套利用C#与MYSQL数据写的小型超市管理系统,可以实现基本的功能. [实例截图] [核心代码] 超市管理系统 └── 超市管理系统 ├── AYCSGJ │ ├── A ...
- 「超市管理系统——商品管理」 · Java Swing + MySQL JDBC开发
项目下载:超市管理系统JavaSwing+MySQLJDBC开发_javamysql超市管理系统-互联网文档类资源-CSDN下载 1.9元付费赞助下载:超市管理系统JavaSwing+MySQLJDB ...
- 基于SSM+MySql+Layui的在线生鲜超市管理系统
项目运行视频(打开观看效果更佳) 基于SSM+MySql+Layui的在线生鲜超市管理系统(附论文)-源码乐园 基于SSM+MySql+Layui的在线生鲜超市管理系统(附论文)-源码乐园_哔哩哔哩_ ...
最新文章
- lambda表达式(详)
- ubuntu 13.10 amd64安装ia32-libs
- JAVA国际化输出日期格式
- mybatis获取表名——mybatis动态调用表名和字段名#{},${}
- 详细认识一下CSS盒子模型
- css的背景图片不显示,wepback打包时,css的背景图片显示不出来,求教!
- pytorch—torch.tensor.scatter操作解析
- Codevs 1684 垃圾陷阱
- Codejock Xtreme MFC 图形界面控件包
- java下载 安卓版_java教程手机版-java宝典安卓版下载2.0 官方版-西西软件下载
- 百胜erp加密狗驱动_百胜分销系统ERP_DRP用户手册.pdf
- 小米无线网卡linux,NanoPi NEO安装小米随身WiFi
- 在阿帕奇服务器布置文件,Apache文件列表服务器美化 index of /
- echarts 迁徙图
- html可视化布局系统源码,一个开源可视化布局项目,在线生成纯css布局,可阅读的代码。...
- 家庭网络拓扑结构示意图
- 小学计算机走进智慧城堡教案,重庆大学出版社四年级上册信息技术教案设计.docx...
- 瑞芯微RK3288处理器详细信息介绍(参数,规格,应用,差异)
- ACL2022 PAIE: Prompting Argument Interaction for Event Argument Extraction
- 不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html
热门文章
- 长沙.NET技术社区正式成立
- 魔众EDM邮件营销系统 v1.1.0 页面SEO优化,系统升级调整
- 风清扬环保:分析乳化液破乳剂的实际应用
- Cpp多重继承会产生的问题
- linux各文件夹作用
- 爬虫学习01 什么是爬虫 爬虫的分类
- xbox360自建服务器,Xbox360自制系统GOD版的游戏怎么安装
- Not Adjacent Matrix、Same Differences、Arranging The Sheep
- 前端开发工程师需要具备哪些专业技能?
- html 6位数支付密码,支付宝支付密码怎么设置长密码 支付宝支付密码取消6位数字密码设置长密码的方法...