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