代写C语言、C++、Java、Python、HTML、JavaScript、vue、MySQL相关编程作业,
长期接单,信誉有保证,标价10-20每份,如有需要请加文章最下方QQ。
本文资源:https://download.csdn.net/download/weixin_47040861/88820155
1.题目要求
商品管理系统
商品信息包括:包括编号、类别、名称、价格、折扣比例、生产时间 、存货数量等要求:
1、信息首先保存在文件中,然后打开文件进行读写操作,信息的改写必须与文件中保存的数据同步。
2、完成以下功能:
1 系统以菜单方式工作
2 增加商品信息
3 删除指定的商品信息
4 修改指定的商品信息
5 能按照多种方式查询(至少两种,如编号、类别、名称等
6 统计功能。按类别统计各种商品的存货数量,平均价格及存货量最多的商品信息
7 按照商品类别进行排序
2.实现效果
1.添加商品
2.修改商品
3.查询商品
4.删除商品
5.统计
6.排序
3.功能介绍
1.添加商品
-
创建一个名为
newProduct
的Product
结构体,用于存储新商品的信息。结构体的各字段包括编号(id
)、类别(category
)、名称(name
)、价格(price
)、折扣比例(discount
)、生产日期(productionDate
)和库存数量(inventory
)。 -
通过
printf
和scanf_s
函数,向用户展示商品信息的输入提示,并接收用户输入的商品信息。用户需要输入产品编号、类别、名称、价格、折扣比例、生产日期和库存数量。 -
将用户输入的新商品(
newProduct
)添加到商品数组(products
)的末尾,即数组的下一个位置。 -
打印"修改成功!"的提示消息,表示商品添加操作成功。
-
更新商品数组的长度,通过递增
len
指针所指向的值。 -
调用
saveToCSV
函数,将更新后的商品数组保存到CSV文件中。 -
使用
system("pause")
暂停程序执行,以便用户查看输出信息。这通常用于保持控制台窗口打开,直到用户手动关闭。
2.修改商品
-
用户首先被要求输入要修改的商品编号(
productId
)。 -
通过循环遍历商品数组(
products
),查找与用户输入的商品编号匹配的商品在数组中的位置(index
)。 -
如果找到对应编号的商品(
index != -1
),则向用户展示一个菜单,要求用户选择要修改的商品属性。 -
用户通过输入菜单编号,选择要修改的商品属性,包括商品类别、商品名称、商品价格、折扣比例、生产时间、存货数量等。
-
根据用户的选择,通过
switch
语句分别执行相应的修改操作。用户输入的新信息将替代原有的商品属性。 -
修改完成后,调用
saveToCSV
函数将更新后的商品数组保存到CSV文件中。 -
打印"修改成功"的提示消息,告知用户修改操作成功。
-
使用
system("pause")
暂停程序执行,以便用户查看输出信息。这通常用于保持控制台窗口打开,直到用户手动关闭。 -
如果未找到对应编号的商品,打印"未找到该商品编号"的提示消息。
3.查询商品
用户首先选择查询方式(通过商品编号、商品类别、商品名称或生产日期),然后输入相应的信息进行查询。根据用户的选择,函数会遍历商品数组,找到匹配的商品,并打印出相应的详细信息。如果找不到匹配的商品,会提示用户未找到。
4.删除商品
用户首先输入要删除的商品编号,函数会查找该编号对应的商品在数组中的位置。如果找到对应编号的商品,会打印出该商品的详细信息,并将数组中该位置后的所有数据向前移动一位,相当于删除该商品。最后,数组长度减一,表示删除了一个商品。如果未找到匹配的商品,会提示用户未找到。
5.统计
函数首先检查数组中是否存在商品信息,如果数组长度小于等于0,则输出提示信息暂无商品信息并返回。接下来,用户需要输入要统计的商品类别。函数会遍历商品数组,对于每一个匹配输入类别的商品,累加总存货量、总价格,并统计匹配商品数量。同时,函数寻找该类别存货量最多的商品信息。
最后,函数输出该类别的总存货量、平均价格,以及存货量最多的商品信息。如果该类别暂无商品信息,会相应地输出提示。
6.排序
首先,函数会检查数组的长度是否小于等于1,如果是,则表示无需排序,直接返回。接下来,函数使用冒泡排序算法,按照商品的类别进行升序排序。
内层循环比较相邻两个商品的类别,如果前一个商品的类别字符串大于后一个商品的类别字符串(按照字典顺序),则交换它们的位置,以达到升序排序的目的。
最后,函数打印排序后的商品信息,保存到CSV文件。