当前位置: 首页 > news >正文

C++超市商品管理系统

一、简要介绍

1.本项目为面向对象程序设计的大作业,基于Qt creator进行开发,Qt框架版本6.4.1,编译环境MINGW 11.2.0。

2.项目结构简介:关于系统逻辑部分的代码的头文件在head文件夹中,源文件在s文件夹中。与图形界面相关的代码在项目头文件和源文件的文件夹内。
应用程序内使用的一些图片、动图在rc文件夹内。

3.UML类图:

image

二、使用方式

1.可下载源码使用Qt creator进行构建后运行

2.若无Qt环境,可以直接下载Releases版本运行,无需任何依赖。若需要测试用例,可将文件夹内的测试数据文件夹内的文件移动至可执行程序目录中。
若不移动,则系统无初始数据,需要输入初始密码。

三、关键代码

#include "mainwindow.h"
#include "ui_mainwindow.h"void MainWindow::on_backBtn_released()
{ui->stackedWidget->setCurrentWidget(ui->mainPg);
}void MainWindow::on_backBtn_2_released()
{ui->stackedWidget->setCurrentWidget(ui->mainPg);
}void MainWindow::on_backBtn_3_released()
{ui->stackedWidget->setCurrentWidget(ui->mainPg);
}void MainWindow::on_backBtn_5_released()
{ui->stackedWidget->setCurrentWidget(ui->mainPg);
}
void MainWindow::on_showBtn_released()
{ui->stackedWidget->setCurrentWidget(ui->showPg);
}void MainWindow::on_buyBtn_released()
{ui->stackedWidget->setCurrentWidget(ui->buyPg);
}void MainWindow::on_saleStatBtn_released()
{ui->stackedWidget->setCurrentWidget(ui->saleStatPg);//更新总成本和总收入ui->sumRevenLcd->display(rm.getSumRevenue());ui->sumCostLcd->display(rm.getSumCost());
}void MainWindow::on_comManagerBtn_released()
{ui->stackedWidget->setCurrentWidget(ui->managerPg);
}void MainWindow::on_exitBtn_released()
{this->close();
}

logindia.cpp

#include "logindia.h"
#include "ui_logindia.h"
#include<QInputDialog>
#include<QMessageBox>
#include<fstream>LoginDia::LoginDia(QWidget *parent) :QDialog(parent),ui(new Ui::LoginDia)
{_canLog=false;ui->setupUi(this);this->setWindowIcon(QIcon(":/new/prefix1/rc/n133f35jvek.jpg"));QImage* keyImg=new QImage(":/new/prefix1/rc/key.png");ui->imgLab->setScaledContents(true);ui->imgLab->setPixmap(QPixmap::fromImage(*keyImg));std::ifstream ifs("passWord.pwd");if(ifs.is_open()){std::string buff;ifs>>buff;_passWord = buff.c_str();ifs.close();}else  //不存在密码文件{bool  ok=false;_passWord = QInputDialog::getText(this,"设置密码","请输入新密码:",QLineEdit::Password,"",&ok);if(!ok){this->close();}std::ofstream ofs("passWord.pwd");ofs<<_passWord.toStdString();ofs.close();}}LoginDia::~LoginDia()
{delete ui;std::ofstream ofs("password.pwd");ofs<<_passWord.toStdString();
}bool LoginDia::canLog()
{return _canLog;
}void LoginDia::on_okBtn_released()  //确定密码
{if(ui->pwdEdit->text() ==_passWord&&ui->accountEdit->text()==QString("admin")){_canLog=true;this->close();}else{QMessageBox::critical(this,tr("错误"),tr("密码错误,请重新输入"));}}void LoginDia::on_cancelBtn_released()  //关闭窗口
{this->close();
}void LoginDia::on_chPwdEdit_released() //改密码
{bool ok;auto oriPwd = QInputDialog::getText(this,"输入","请输入旧密码:",QLineEdit::Password,"",&ok);if(ok){if(oriPwd==_passWord){auto newPwd = QInputDialog::getText(this,"输入","请输入新密码:",QLineEdit::Password,"",&ok);if(ok){_passWord = newPwd;QMessageBox::information(this,tr("提示"),tr("修改成功!"));}}else{QMessageBox::critical(this,tr("错误"),tr("原密码错误"));}}
}void LoginDia::on_aboutBtn_released()
{QMessageBox::about(this,tr("关于系统"),tr("制作者:刘家麒 赵鹿均\n\n系统版本:V1.0\n\nQt版本:Qt 6.4.1"));
}

四、运行截图

登录界面

image

商品信息输入窗口

image

主界面

image

库存商品页面

捕获

销售统计

捕获1

收银台界面

捕获3

五、联系与交流

q:969060742 完整代码、程序报告

相关文章:

  • 计算机网络基础——网络安全/ 网络通信介质
  • 大学 Python 程序设计实验报告:判断变量名是否合法
  • XSKY 智能存储,助力“数据要素 X”先进制造
  • openGauss Index-advisor_索引推荐
  • docker 的八大技术架构(图解)
  • 【Web前端】CSS基本语法规范和引入方式常见选择器用法常见元素属性
  • Android 观察者模式
  • 【KMeans聚类概述】
  • HTTPS握手解析
  • 智慧公厕的技术融合策略
  • Ubuntu Desktop Server - user 用户与 root 用户切换
  • Spring:面试八股
  • c语言编译和链接
  • 二分图
  • web CSS笔记1
  • php的引用
  • 78. Subsets
  • CEF与代理
  • eclipse的离线汉化
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • HTTP 简介
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JavaScript设计模式之工厂模式
  • Octave 入门
  • rc-form之最单纯情况
  • SpiderData 2019年2月25日 DApp数据排行榜
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 电商搜索引擎的架构设计和性能优化
  • 动态魔术使用DBMS_SQL
  • 分布式事物理论与实践
  • 记录一下第一次使用npm
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 设计模式(12)迭代器模式(讲解+应用)
  • 学习JavaScript数据结构与算法 — 树
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​人工智能书单(数学基础篇)
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # include “ “ 和 # include < >两者的区别
  • #QT(智能家居界面-界面切换)
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)丶RabbitMQ的六大核心
  • (六)软件测试分工
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NetCore项目nginx发布
  • .net对接阿里云CSB服务
  • .Net中的集合