一、设计要求
小美学完线性表后,想设计一个小程序,管理自己的网店销售情况,她想实现以下功能,请设计程序帮她实现:
(1)可以录入商品信息,格式如下:
(商品编号、商品名称、数量、进价、标价、折扣、售价)样例:(c0001,海飞丝,40,20,30,0.9,27)
其中,售价由程序根据标价和折扣自动计算。(2)商品信息查询
(a)输出所有商品信息,按剩余数量升序输出结果。
(b)根据商品名称实现模糊查询,按标价降序输出结果。
©根据商品编号查询相应商品信息。
(d)根据售价区间查询商品信息,按照售价降序显示。
(e)查询折扣力度最高的三种商品信息。
可以实现销售(即将相应商品数量减1)。
可以删除指定的商品
(a)按商品编号删除指定的商品。
(b)按商品名称删除商品,如果有多个,则全部删除。
存货过少预警
当某种商品数量不足5个,程序启动时,发出预警信息。
(6)修改折扣信息。
可以根据商品编号修改折扣信息。
可以实现进货(即将相应商品数量增加)。
假设小美准备按天结算当天营业额,请计算并输出每天的营业额(退出程序表示当天营业结束,启动程序表示一天开始)
统计当天的销售情况(按销售数量降序输出当天销售的所有商品。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
二、设计思路
首先,定义一个ItemsMesage类,定义一个成员函数,finditems用来打印用户想要是用的功能,程序会提示用户使用当前哪个功能。主要的功能包括增加商品、查询商品、删除商品、修改上品折扣信息、销售商品、商品进货、营业额查询,主要使用for循环遍历ItemsMesage对象的私有属性打印提示信息。并考虑当对象内没有信息时,打印提示商品为空,请添加商品的信息。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
在ItemsMesage类,定义一个成员函数additems,添加商品,当用户根据提示输入1时,会cout提示引导用户输入cin商品编号、商品名称、数量、进价、标价、折扣、售价的所有信息,并将对象分别push_back到ItemsMesage对象对应的各个属性当中,并提示商品添加成功的字样。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
在ItemsMesage类,定义一个成员函数finditems,查询当前可以出售的商品,当用户根据提示输入2时,使用for循环遍历ItemsMesage对象的私有属性打印提示信息。并考虑当对象内没有信息时,打印提示商品为空,请添加商品的信息。
下图显示的是全部一次性打印出来的所有商品的信息,其他部分见附件源码部分。
在ItemsMesage类,定义一个成员函数deleteitems,查询当前可以删除的商品,当用户根据提示输入3时,使用for循环遍历ItemsMesage对象的私有属性打印提示信息。使用if条件判断来查找当前的信息是否有与想要删除的商品编号一致的商品,如果商品标号一致,那么就会删除当前可以出售商品中的所有编号的商品,如果没有该商品,程序会跳出并提示您输入的有误,并考虑当对象内没有信息时,打印提示商品为空,请添加商品的信息。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
在ItemsMesage类,定义一个成员函数saleitems,查询当前可以出售的商品,当用户根据提示输入5时,使用for循环遍历ItemsMesage对象的私有属性打印提示信息。使用if条件判断来查找当前的信息是否有与想要购买的商品编号一致的商品,如果商品标号一致,那么就会购买当前可以出售商品中的所有编号的商品,如果没有该商品,程序会跳出并提示您输入的有误,并考虑当对象内没有信息时,打印提示商品为空,请添加商品的信息。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
在ItemsMesage类,定义一个成员函数yingyee,查询当前已经卖出的商品的总价格,当输入7时,使用for循环遍历ItemsMesage对象的私有属性并使用使用count×售价来计算出当前的销售总额,并使用并考虑当对象内没有信息时,打印提示商品为空,您没有卖出任何商品
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
三、功能展示
添加商品:
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
查询商品
删除商品
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈
销售商品
进货
营业额
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 销售库存 ” 获取。👈👈👈