第一家做誘惑的網(wǎng)站廈門seo優(yōu)化
?本文資源:https://download.csdn.net/download/weixin_47040861/88820155
1.題目要求
商品管理系統(tǒng)
商品信息包括:包括編號、類別、名稱、價格、折扣比例、生產(chǎn)時間 、存貨數(shù)量等要求:
1、信息首先保存在文件中,然后打開文件進行讀寫操作,信息的改寫必須與文件中保存的數(shù)據(jù)同步。
2、完成以下功能:
1 系統(tǒng)以菜單方式工作
2 增加商品信息
3 刪除指定的商品信息
4 修改指定的商品信息
5 能按照多種方式查詢(至少兩種,如編號、類別、名稱等
6 統(tǒng)計功能。按類別統(tǒng)計各種商品的存貨數(shù)量,平均價格及存貨量最多的商品信息
7 按照商品類別進行排序
2.實現(xiàn)效果
1.添加商品
2.修改商品
3.查詢商品
4.刪除商品
5.統(tǒng)計
6.排序
3.功能介紹
1.添加商品
-
創(chuàng)建一個名為
newProduct
的Product
結(jié)構(gòu)體,用于存儲新商品的信息。結(jié)構(gòu)體的各字段包括編號(id
)、類別(category
)、名稱(name
)、價格(price
)、折扣比例(discount
)、生產(chǎn)日期(productionDate
)和庫存數(shù)量(inventory
)。 -
通過
printf
和scanf_s
函數(shù),向用戶展示商品信息的輸入提示,并接收用戶輸入的商品信息。用戶需要輸入產(chǎn)品編號、類別、名稱、價格、折扣比例、生產(chǎn)日期和庫存數(shù)量。 -
將用戶輸入的新商品(
newProduct
)添加到商品數(shù)組(products
)的末尾,即數(shù)組的下一個位置。 -
打印"修改成功!"的提示消息,表示商品添加操作成功。
-
更新商品數(shù)組的長度,通過遞增
len
指針?biāo)赶虻闹怠?/p> -
調(diào)用
saveToCSV
函數(shù),將更新后的商品數(shù)組保存到CSV文件中。 -
使用
system("pause")
暫停程序執(zhí)行,以便用戶查看輸出信息。這通常用于保持控制臺窗口打開,直到用戶手動關(guān)閉。
2.修改商品
-
用戶首先被要求輸入要修改的商品編號(
productId
)。 -
通過循環(huán)遍歷商品數(shù)組(
products
),查找與用戶輸入的商品編號匹配的商品在數(shù)組中的位置(index
)。 -
如果找到對應(yīng)編號的商品(
index != -1
),則向用戶展示一個菜單,要求用戶選擇要修改的商品屬性。 -
用戶通過輸入菜單編號,選擇要修改的商品屬性,包括商品類別、商品名稱、商品價格、折扣比例、生產(chǎn)時間、存貨數(shù)量等。
-
根據(jù)用戶的選擇,通過
switch
語句分別執(zhí)行相應(yīng)的修改操作。用戶輸入的新信息將替代原有的商品屬性。 -
修改完成后,調(diào)用
saveToCSV
函數(shù)將更新后的商品數(shù)組保存到CSV文件中。 -
打印"修改成功"的提示消息,告知用戶修改操作成功。
-
使用
system("pause")
暫停程序執(zhí)行,以便用戶查看輸出信息。這通常用于保持控制臺窗口打開,直到用戶手動關(guān)閉。 -
如果未找到對應(yīng)編號的商品,打印"未找到該商品編號"的提示消息。
3.查詢商品
用戶首先選擇查詢方式(通過商品編號、商品類別、商品名稱或生產(chǎn)日期),然后輸入相應(yīng)的信息進行查詢。根據(jù)用戶的選擇,函數(shù)會遍歷商品數(shù)組,找到匹配的商品,并打印出相應(yīng)的詳細信息。如果找不到匹配的商品,會提示用戶未找到。
4.刪除商品
用戶首先輸入要刪除的商品編號,函數(shù)會查找該編號對應(yīng)的商品在數(shù)組中的位置。如果找到對應(yīng)編號的商品,會打印出該商品的詳細信息,并將數(shù)組中該位置后的所有數(shù)據(jù)向前移動一位,相當(dāng)于刪除該商品。最后,數(shù)組長度減一,表示刪除了一個商品。如果未找到匹配的商品,會提示用戶未找到。
5.統(tǒng)計
函數(shù)首先檢查數(shù)組中是否存在商品信息,如果數(shù)組長度小于等于0,則輸出提示信息暫無商品信息并返回。接下來,用戶需要輸入要統(tǒng)計的商品類別。函數(shù)會遍歷商品數(shù)組,對于每一個匹配輸入類別的商品,累加總存貨量、總價格,并統(tǒng)計匹配商品數(shù)量。同時,函數(shù)尋找該類別存貨量最多的商品信息。
最后,函數(shù)輸出該類別的總存貨量、平均價格,以及存貨量最多的商品信息。如果該類別暫無商品信息,會相應(yīng)地輸出提示。
6.排序
首先,函數(shù)會檢查數(shù)組的長度是否小于等于1,如果是,則表示無需排序,直接返回。接下來,函數(shù)使用冒泡排序算法,按照商品的類別進行升序排序。
內(nèi)層循環(huán)比較相鄰兩個商品的類別,如果前一個商品的類別字符串大于后一個商品的類別字符串(按照字典順序),則交換它們的位置,以達到升序排序的目的。
最后,函數(shù)打印排序后的商品信息,保存到CSV文件。