【C++小项目---5】绘制售货员界面、完成点击事件的响应


完善查询按钮的响应和商品的加减操作响应

  • 从编辑框中获取到输入的商品名称
  • 构建相应的查询语句,查询数据库中的Inventory
  • 拿到库存数量的编辑框,点击查询后设置文本为Inventory的数据
	//获取商品名称
	CEditUI* pEDGoodname = (CEditUI*)m_PaintManager.FindControl(_T("ediGoodname"));
	CDuiString strGoodname = pEDGoodname->GetText();

	//构造数据库sql语句
	string strSQL = "select * from goods where GoodsName='";
	strSQL += StringFromLPCTSTR(strGoodname);
	strSQL += "';";
	//显示到库存量控件中
	CDuiString strGoodCount = (vRet[0][7]).c_str();
	((CEditUI*)m_PaintManager.FindControl(_T("ediGoodCount")))->SetText(strGoodCount);
  • 商品数量编辑框默认文本为0
  • 点击+号按钮,商品数量自增,库存数量自减
  • 点击-号按钮,商品数量自减,库存数量自增

注意:count的使用要使用atoi函数完成格式转换

  • 将CDuistring类型转为string类型
  • 将string类型转为int型
  • 一个count两次使用,重新赋值即可
	//库存减1
	CEditUI* pEDGoodCount = (CEditUI*)m_PaintManager.FindControl(_T("ediGoodCount"));
	CDuiString strGoodCount = pEDGoodCount->GetText();

	int count = 0;
	count = atoi(StringFromLPCTSTR(strGoodCount).c_str());
	--count;
	strGoodCount.Format(_T("%d"), count);
	pEDGoodCount->SetText(strGoodCount);

	//商品个数加1
	CEditUI* pECount = (CEditUI*)m_PaintManager.FindControl(_T("ediCount"));
	CDuiString strCount = pECount->GetText();

	count = atoi(StringFromLPCTSTR(strCount).c_str());
	++count;
	strCount.Format(_T("%d"), count);
	pECount->SetText(strCount);

在这里插入图片描述


  • 解决list控件中字体不居中
  • 在list控件的属性中加入itemalign=“center”
    在这里插入图片描述
    在这里插入图片描述
    8.20更新,查询商品库存若低于预警值,则弹窗提醒
    在这里插入图片描述
    注意:
  • 比较vRet中的数据要先格式转换
  • 否则会出现低于设置的20,如18,会报警
  • 但是库存低于10,为9,则不会报警
	//是否低于预警值,低于就报警
	if (atoi(vRet[0][7].c_str()) < atoi(vRet[0][8].c_str()))
	{
		MessageBox(m_hWnd, _T("库存不足,请及时备货!"), _T("提示信息"), NULL);
	}

完成部分确认输出按钮的功能

  • 统计价格,设置文本setText()到总计的编辑框
  • 更新数据库库存
  • string类转为int方便相减,得到应有的库存
  • 转回string类是防止更新数据库97变成a之类的错误

确认提交前的数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
确认输出之后的数据库

  • 冰红茶库存从100变为97
  • 脉动库存从100变为98
  • 橙汁库存从100变为99
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值