小型超市收银台

本文介绍了一个使用C++、VS2017和MySQL Server 8.0开发的小型超市收银系统。系统包含登录界面、管理员和员工操作界面,实现了商品管理、收银功能。通过Duilib库创建界面,结合Win32消息循环处理事件,利用C++封装的MySQL API与数据库交互。项目主要目的是提升开发者个人技能,熟悉Duilib的使用和数据库操作。
摘要由CSDN通过智能技术生成

#收银台
开发环境:C/C++、VS2017、MySQL Server 8.0
项目功能:实现小型超市管理货物和收银。
老板具有管理员超级权限可以对员工进行管理。
员工可以对货物仓库进行管理。
收银功能的简单实现。
项目描述:该项目是借助Duilib库实现了小型超市管理货物和收银功能,使用C++类
封装MySQL的一些API,并配合Duilib程序Win32消息循环进行事件响应,
分别给员工和管理员提供不同的操作,员工具有仓库管理和收银的功能,而管
理员加了管理员工的操作。针对不同用户登陆区分不同的功能。

收银台:大家每天都在使用,为人类生活提供方便。

每写一个项目都是成长的经历,当然每次都要进行环境的配置。
我就不介绍了,一切参照Duilib入门教程汇总

这个项目做起来没有太大的现实意义,因为我深知可以买到更好的,而这个项目做起来的意义在于对与我个人能力的提高,Duilib 是一款强大的界面开发工具,这个项目我学会了它的使用方法,虽然过程是艰辛的,可是收获真的不少。

下面我介绍一下这个项目:
核心功能

1.登陆界面。
2.管理员操作界面。
3.售货员操作界面。

具体实现:如下

1.登录界面

超级管理员和售货员根据自己的账号和密码进行登录。
输入账号以及密码后,根据身份的不同,进入不同界面,进行相应的操作。

登陆密码判断是根据数据库存储内容进行判断,具体登陆窗口主逻辑代码如下:

void LogInWnd::LogIn()
 {
   
	 //从编辑框获取用户名和密码
	 //需要强转
	 CEditUI * pEditUserName = (CEditUI*)m_PaintManager.FindControl(_T("EDIT_USER_NAME"));
	 CDuiString strUserName = pEditUserName->GetText();


	 CEditUI * pEditPassword = (CEditUI*)m_PaintManager.FindControl(_T("EDIT_USER_PASSWORD"));
	 CDuiString strUserPassword = pEditPassword->GetText();
	 //查询数据库,检测用户是否存在

	 string strSQL("select * from ceshi where name1 = '");
	 //ascII UNICODE
	 strSQL += UnicodeToANSI(strUserName);
	 strSQL += "';";
	vector<vector<string>> vRet = m_pMySQL->Select(strSQL);
	 if (vRet.empty())
	 {
   
		 MessageBox(m_hWnd, _T("用户名错误"), _T("Cashier"), IDOK);
		 return;
	 }
	 string userpassward = UnicodeToANSI(strUserPassword);

	 if (userpassward != vRet[0][4])
	 {
   
		 MessageBox(m_hWnd, _T("用户密码错误"), _T("Cashier"), IDOK);
		 return;
	 }

	 //隐藏登陆窗口

	 ShowWindow(false);


	 if (vRet[0][5] == "管理员")
	 {
   
	 //创建主窗口
		 MainWnd mainWnd(m_pMySQL);
		 mainWnd.Create(NULL, _T("MainWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
		 mainWnd.CenterWindow();
		 mainWnd.ShowModal();
	 }  
	 else
	 {
   
		//创建主窗口
	 CCashierWnd mainWnd(m_pMySQL);
	 mainWnd.Create(NULL, _T("CashierWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
	 mainWnd.CenterWindow();
	 mainWnd.ShowModal();
	  }
	// 控件  tablayoue 
 }


2.管理员操作界

查询员工基本信息

添加新员工,员工离职后,删除员工信息,员工信息变更时,更新员工信息

界面操作使用DuiDersigner_d可视化工具搭建界面,操作XML文件。

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Window size="959,600" sizebox="4,4,4,4" caption="0,0,0,32" mininfo="600,400">
    <VerticalLayout width="907" height="675" bkimage="C:\Users\Administrator\Desktop\20161019212101_52148.jpg" bkcolor="#FFF0F0F0" bkcolor2="#FFAAAAA0">
        <HorizontalLayout height="32" bkcolor="#FF57FF80" bkcolor2="#FFAAAAA0">
            <Button name="BTN_MIN" text="最小化" float="true" pos="855,0,0,0" width="53" height="32" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" align="center" normalimage="file=&apos;skin\sys_dlg_min.png&apos; &#x0D;&#x0A;source=&apos;26,0,52,17&apos;" pushedimage="file=&apos;skin\sys_dlg_min.png&apos; &#x0D;&#x0A;source=&apos;0,0,26,17&apos;" focusedimage="file=&apos;skin\sys_dlg_min.png&apos; &#x0D;&#x0A;source=&apos;52,0,78,17&apos;" />
            <Button name="BTN_CLOSE" text="关闭" float="true" pos="907,0,0,0" width="53" height="32" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" align="center" normalimage="file=&apos;skin\sys_dlg_close.png&apos; &#x0D;&#x0A;source=&apos;90,0,135,17&apos;" pushedimage="file=&apos;skin\sys_dlg_close.png&apos; &#x0D;&#x0A;source=&apos;0,0,45,17&apos;" focusedimage="file=&apos;skin\sys_dlg_close.png&apos; &#x0D;&#x0A;source=&apos;45,0,90,17&apos;" />
        </HorizontalLayout>

            <VerticalLayout width="958" height="522">
                <Edit name="username" text="page1" width="113" height="34" bkcolor="#FFFFFFFF" textpadding="4,3,4,3" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" />
                <Combo name="usergender" float="true" pos="112,2,0,0" width="140" height="32" bkimage="skin\GameRes\Combo_nor.bmp" itemtextcolor="#FF000000" itemselectedtextcolor="#FF000000" itemselectedbkcolor="#FFC1E3FF" itemhottextcolor="#FF000000" itemhotbkcolor="#FFE9F5FF" itemdisabledtextcolor="#FFCCCCCC" itemdisabledbkcolor="#FFFFFFFF" normalimage="file=&apos;ComboBox/Combo_nor.bmp&apos;" 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值