您好,登錄后才能下訂單哦!
這篇文章主要介紹“C#實(shí)現(xiàn)商城購(gòu)物功能的代碼怎么寫”,在日常操作中,相信很多人在C#實(shí)現(xiàn)商城購(gòu)物功能的代碼怎么寫問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”C#實(shí)現(xiàn)商城購(gòu)物功能的代碼怎么寫”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
商品類
namespace ShoppingSystem { /* * 商品信息包括:商品名稱、商品價(jià)格、商品型號(hào)、商品描述等 */ /// <summary> /// 商品類 /// </summary> class Goods { /// <summary> /// 商品名稱 /// </summary> private string goodName; /// <summary> /// 商品價(jià)格 /// </summary> private float goodPrice; /// <summary> /// 商品型號(hào) /// </summary> private string[] goodModel = new string[2]; /// <summary> /// 商品類別 /// </summary> private string goodType; /// <summary> /// 商品描述 /// </summary> private string goodDescribe; /// <summary> /// 賣家 /// </summary> private Seller seller; public Seller Seller { get { return seller; } set { seller = value; } } public string GoodName { get { return goodName; } set { goodName = value; } } public float GoodPrice { get { return goodPrice; } set { goodPrice = value; } } public string[] GoodModel { get { return goodModel; } set { goodModel = value; } } public string GoodType { get { return goodType; } set { goodType = value; } } public string GoodDescribe { get { return goodDescribe; } set { goodDescribe = value; } } /// <summary> /// 構(gòu)造函數(shù),對(duì)各個(gè)變量賦值并添加商品描述 /// </summary> /// <param name="goodName">商品名</param> /// <param name="goodPrice">商品價(jià)格</param> /// <param name="goodId">商品編號(hào)</param> /// <param name="goodModel">商品型號(hào)</param> /// <param name="goodType">商品類別</param> public Goods(string goodName, float goodPrice, string[] goodModel, string goodType) { this.goodName = goodName; this.goodPrice = goodPrice; this.goodModel = goodModel; this.goodType = goodType; goodDescribe = goodName + goodModel[0] + "|" + goodModel[1] + "|" + goodPrice + "|"; } } }
商品總庫(kù)
namespace ShoppingSystem { class GoodsSql { /// <summary> /// 商品總庫(kù) /// </summary> private Goods[] good = new Goods[20]; public Goods[] Good { get { return good; } set { good = value; } } } }
用戶類
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ShoppingSystem { /// <summary> /// 用戶類 /// </summary> class User { /// <summary> /// 用戶名 /// </summary> private string username; /// <summary> /// 用戶余額 /// </summary> private float userBalance; /// <summary> /// 購(gòu)物車 /// </summary> private ShoppingCart cart = new ShoppingCart(); public User(string username, float userBalance) { this.username = username; this.userBalance = userBalance; cart.User = this; } public string Username { get { return username; } set { username = value; } } public float UserBalance { get { return userBalance; } set { userBalance = value; } } public ShoppingCart Cart { get { return cart; } set { cart = value; } } /// <summary> /// 加入購(gòu)物車 /// </summary> /// <param name="good">要加入的商品</param> /// <param name="goodsNum">要買的數(shù)量</param> public void BuyGoods(Goods good, int goodsNum) { cart.AddGoods(good, goodsNum); //TODO } /// <summary> /// 結(jié)算并清空購(gòu)物車 /// </summary> public void CheckoutCart() { cart.CheckoutCart(); } } }
賣家類
using System; namespace ShoppingSystem { /// <summary> /// 賣家類 /// </summary> class Seller { /// <summary> /// 賣家姓名 /// </summary> private string sellerName; /// <summary> /// 賣家余額 /// </summary> private float sellerBalance; /// <summary> /// 賣家商品數(shù)組 /// </summary> private Goods[] sellerGoods = new Goods[5]; public Seller(string sellerName, float sellerBalance) { this.sellerName = sellerName; this.sellerBalance = sellerBalance; } public string SellerName { get { return sellerName; } set { sellerName = value; } } public float SellerBalance { get { return sellerBalance; } set { sellerBalance = value; } } public Goods[] SellerGoods { get { return sellerGoods; } set { sellerGoods = value; } } /// <summary> /// 上架新商品 /// </summary> /// <param name="good"></param> public void AddGood(Goods good,GoodsSql goods) { for (int i = 0; i < sellerGoods.Length; i++) { if (sellerGoods[i] == null) { sellerGoods[i] = good; good.Seller = this; for (int j = 0; j < goods.Good.Length; j++) { if (goods.Good[j] == null) { goods.Good[j] = good; break; } } Console.WriteLine("添加商品成功!"); break; } if (i == sellerGoods.Length - 1) { Console.WriteLine("添加商品失??!已達(dá)到可上架商品的上限!"); return; } } } /// <summary> /// 更新商品信息 /// </summary> /// <param name="good">要更新的商品</param> /// <param name="goodName">商品名稱</param> /// <param name="goodPrice">商品價(jià)格</param> /// <param name="goodId">商品編號(hào)</param> /// <param name="goodModel">商品型號(hào)</param> /// <param name="goodType">商品種類</param> public void UpdateGoodInfo(Goods good, string goodName, float goodPrice, string[] goodModel, string goodType) { if (good != null) { good.GoodName = goodName; good.GoodModel = goodModel; good.GoodType = goodType; good.GoodDescribe = goodName + goodModel[0] + "|" + goodModel[1] + "|" + goodPrice + "|"; Console.WriteLine("更新商品信息成功!"); return; } Console.WriteLine("更新商品信息失敗!"); } } }
服務(wù)類
namespace ShoppingSystem { class Service { private Goods[] goods = new Goods[20]; public Goods[] Goods { get { return goods; } set { goods = value; } } /// <summary> /// 按類型搜索商品 /// </summary> /// <param name="goodType"></param> /// <param name="goods"></param> public void Search(string goodType, GoodsSql goods) { this.goods = new Goods[20]; int count = 0; for (int i = 0; i < goods.Good.Length; i++) { if (goods.Good[i] != null && goods.Good[i].GoodType.Equals(goodType)) { this.goods[count++] = goods.Good[i]; } } } } }
購(gòu)物車類
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ShoppingSystem { /// <summary> /// 購(gòu)物車類 /// </summary> class ShoppingCart { /// <summary> /// 購(gòu)物條目數(shù)組 /// </summary> private ShoppingItems[] items; /// <summary> /// 購(gòu)物費(fèi)用總計(jì) /// </summary> private float totalPrice = 0.00f; /// <summary> /// 購(gòu)物車所屬用戶 /// </summary> private User user; public ShoppingItems[] Items { get { return items; } set { items = value; } } public float TotalPrice { get { return totalPrice; } set { totalPrice = value; } } public User User { get { return user; } set { user = value; } } /// <summary> /// 添加商品到購(gòu)物車 /// </summary> /// <param name="good">要加入的商品</param> /// <param name="goodsNum">要買的數(shù)量</param> public void AddGoods(Goods good, int goodsNum) { //若購(gòu)物車條目為空,實(shí)例化購(gòu)物車條目數(shù)組 if (items == null) { items = new ShoppingItems[10]; } //加入商品條目到購(gòu)物條目數(shù)組 for (int i = 0; i < items.Length; i++) { if (items[i] == null) { items[i] = new ShoppingItems(); items[i].Good = good; items[i].GoodsNum = goodsNum; totalPrice += good.GoodPrice * goodsNum; Console.WriteLine($"已將{good.GoodDescribe}數(shù)量:{goodsNum},加入購(gòu)物車"); break; } if (i == items.Length - 1) { Console.WriteLine("購(gòu)物車已滿!"); } } } /// <summary> /// 結(jié)算并清空購(gòu)物車 /// </summary> public void CheckoutCart() { //判斷購(gòu)物車是否為空 if (items == null) { Console.WriteLine("您的購(gòu)物車中沒有商品!"); return; } foreach (var item in items) { if (item != null) { item.Good.Seller.SellerBalance += item.Good.GoodPrice * item.GoodsNum; Console.WriteLine($"商品名稱:{item.Good.GoodName}"); } } Console.WriteLine($"{user.Username}已經(jīng)清空了購(gòu)物車,共計(jì)花費(fèi){totalPrice}元"); user.UserBalance -= totalPrice; items = null; //TODO } public void selectCart() { if (items == null) { Console.WriteLine("您的購(gòu)物車是空的!"); return; } foreach (var item in items) { Console.WriteLine($"{item.Good.GoodDescribe}數(shù)量:{item.GoodsNum}"); } } } }
購(gòu)物車條目類
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ShoppingSystem { /// <summary> /// 購(gòu)物車中的商品條目類 /// </summary> class ShoppingItems { /// <summary> /// 商品 /// </summary> private Goods good; /// <summary> /// 要買的數(shù)量 /// </summary> private int goodsNum; public Goods Good { get { return good; } set { good = value; } } public int GoodsNum { get { return goodsNum; } set { goodsNum = value; } } } }
服務(wù)臺(tái)
這里其實(shí)應(yīng)該封裝不少東西,我偷懶了,不搞了
using System; namespace ShoppingSystem { /// <summary> /// 軟件使用類 /// </summary> class SoftwareUsage { /// <summary> /// 獲取用戶指令 /// </summary> /// <returns></returns> public string Order() { Console.WriteLine("請(qǐng)先輸入指令:"); Console.WriteLine("0-退出,1-搜索,2-購(gòu)買,3-清空并結(jié)算購(gòu)物車,4-查詢購(gòu)物車"); return Console.ReadLine(); } } }
程序入口main函數(shù):
using System; namespace ShoppingSystem { class Program { static void Main(string[] args) { GoodsSql goodsSql = new GoodsSql(); Service service = new Service(); User user = new User("岳翔", 10000000.00f); SoftwareUsage use = new SoftwareUsage(); Seller seller01 = new Seller("賣家1", 10000.00f); Seller seller02 = new Seller("賣家2", 10000.00f); Seller seller03 = new Seller("賣家3", 10000.00f); Goods good01 = new Goods("編程之美(圖書)", 120.00f, new string[]{ "質(zhì)量", "普通版" }, "圖書"); Goods good02 = new Goods("編程之美(圖書)", 145.00f, new string[]{ "質(zhì)量", "精裝版" }, "圖書"); Goods good03 = new Goods("三毛流浪記(圖書)", 20.00f, new string[]{ "質(zhì)量", "普通版" }, "圖書"); Goods good04 = new Goods("三毛流浪記(圖書)", 25.00f, new string[]{ "質(zhì)量", "精裝版" }, "圖書"); Goods good05 = new Goods("iPhone 100(手機(jī))", 6000.00f, new string[]{ "RAM", "64GB" }, "手機(jī)"); Goods good06 = new Goods("iPhone 100(手機(jī))", 7000.00f, new string[]{ "RAM", "128GB" }, "手機(jī)"); Goods good07 = new Goods("iPhone 100(手機(jī))", 9000.00f, new string[]{ "RAM", "512GB" }, "手機(jī)"); Goods good08 = new Goods("Nokia(手機(jī))", 1000.00f, new string[]{ "型號(hào)", "E63" }, "手機(jī)"); Goods good09 = new Goods("Nokia(手機(jī))", 2000.00f, new string[]{ "型號(hào)", "N95" }, "手機(jī)"); Goods good10 = new Goods("Nokia(手機(jī))", 2300.00f, new string[]{ "型號(hào)", "N97" }, "手機(jī)"); Goods good11 = new Goods("Mac Book Pro(電腦)", 18000.00f, new string[]{ "配置", "低配版" }, "電腦"); Goods good12 = new Goods("Mac Book Pro(電腦)", 20000.00f, new string[]{ "配置", "中配版" }, "電腦"); Goods good13 = new Goods("Mac Book Pro(電腦)", 22000.00f, new string[]{ "配置", "?配版" }, "電腦"); seller01.AddGood(good01, goodsSql); seller01.AddGood(good02, goodsSql); seller01.AddGood(good03, goodsSql); seller01.AddGood(good04, goodsSql); seller01.AddGood(good05, goodsSql); seller02.AddGood(good06, goodsSql); seller02.AddGood(good07, goodsSql); seller02.AddGood(good08, goodsSql); seller02.AddGood(good09, goodsSql); seller02.AddGood(good10, goodsSql); seller03.AddGood(good11, goodsSql); seller03.AddGood(good12, goodsSql); seller03.AddGood(good13, goodsSql); Console.Clear(); while (true) { string order = use.Order(); switch (order) { case "0": Console.WriteLine("購(gòu)物結(jié)束!"); return; case "1": Console.WriteLine("請(qǐng)輸入搜索關(guān)鍵詞:"); string goodType = Console.ReadLine(); service.Search(goodType, goodsSql); Goods[] goods = service.Goods; Console.WriteLine($"當(dāng)前買家{user.Username}正在搜索商品:{goodType}"); Console.WriteLine("-----------------------"); foreach (var item in goods) { if (item != null) { Console.WriteLine($"商品名:{item.GoodName},商品類型({item.GoodModel[0]})" + $"{item.GoodModel[1]},{item.GoodPrice}元"); } } Console.WriteLine("-----------------------"); break; case "2": if (service.Goods[0] == null) { Console.WriteLine("請(qǐng)先搜索選購(gòu)!"); break; } Console.WriteLine("請(qǐng)先輸入商品編號(hào):"); int goodId = Int32.Parse(Console.ReadLine()); Console.WriteLine("請(qǐng)先輸入商品數(shù)量:"); int goodsNum = Int32.Parse(Console.ReadLine()); user.BuyGoods(service.Goods[goodId - 1], goodsNum); Console.WriteLine("-----------------------"); break; case "3": user.CheckoutCart(); Console.WriteLine($"賬戶余額:{user.UserBalance}"); break; case "4": user.Cart.selectCart(); break; default: Console.WriteLine("您輸入的指令不正確!"); break; } } } } }
到此,關(guān)于“C#實(shí)現(xiàn)商城購(gòu)物功能的代碼怎么寫”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。