注意注意寫項目了
已經學了這么長時間的編程了一直沒有想起來做項目總結今天終於要寫了心里還有點小激動(呵呵)我們學習任何東西都不能光說不練真正的真理都是咱實踐中摸索出來的所以今天我也來摸索摸索!
咱們先來看一下項目需求:
某超市為了快速的占據零售業市場,希望開發一個庫存管理系統對庫存貨品信息進行統一管理要求該系統能夠根據貨品名稱來獲取貨品的位置並且能夠快速找到客戶滿意度最高的商品的名字和位置
好了這就是我們要做的項目我們先來根據項目需求來歸納出三個類
1.商品類
2.倉庫類
3.程序的入口類
之后我們在逐個分析每個類所擁有的字段、屬性、和方法咱們先來分析商品類。
商品類:字段 屬性 方法
名稱 名稱
位置 位置
價格 價格
滿意度 滿意度
通過分析我們知道了商品類的屬性和方法之后我們再來看倉庫類。
倉庫類:字段 屬性 方法
商品 顯示菜單
初始化倉庫貨品信息
輸出庫存現有貨品的名稱
根據貨品名稱輸出貨品的位置
獲取滿意度最高的貨品
輸出滿意度最高的貨品信息
第一我們要先在此類中聲明一個商品類的對象數組存放在倉庫內然后再根據各個方法的功能需求來編寫代碼再在程序入口類中的Main方法中調用就可以了所以說這個項目的核心也就是倉庫類了那咱們現在就來看一下每個方法的具體實現
顯示菜單:
1 public void ShowMenu() 2 { 3 4 int Xuanze ; 5 do 6 { 7 //輸出歡迎菜單 8 Console.WriteLine("------------------------------歡迎光臨小聖庫存管理系統-------------------------"); 9 Console.WriteLine("1:根據貨品名稱獲取貨品位置 2:取得客戶滿意度最高的貨品 3:退出"); 10 Console.WriteLine("-------------------------------------------------------------------------------"); 11 Console.WriteLine("請選擇"); //提示用戶輸入選項 12 Xuanze = int.Parse(Console.ReadLine()); //接收用戶輸入的選項 13 } while (Xuanze>3||Xuanze<0);//判斷用戶輸入的選項是否合法決定是否循環 14 /* 15 *根據用戶輸入的選項調用指定方法 16 */ 17 switch (Xuanze) 18 { 19 case 1: 20 GetGoodsPlace(); 21 break; 22 case 2: 23 24 GetMaxPleased(GetPleased()); 25 break; 26 case 3: 27 Console.WriteLine("退出系統"); 28 break; 29 default: 30 break; 31 } 32 }
初始化倉庫貨品信息:
public void Initial() { Goods good1 = new Goods();//創建對象 //給對象賦值
good1.Name = "定海神針"; good1.Index = "東海龍宮"; good1.Lick_some = 99.9; good1.Amony1 = 1000; goods[0] = good1;//將對象賦給對象數組
Goods good2 = new Goods();//創建對象 //給對象賦值
good2.Name = "唐僧肉"; good2.Index = "西天"; good2.Lick_some = 100; good2.Amony1 = 2000; goods[1] = good2;//將對象賦給對象數組 Goods good3 = new Goods();//創建對象 //給對象賦值
good3.Name = "生死薄"; good3.Index = "地府"; good3.Lick_some = 99; good3.Amony1 = 5000; goods[2] = good3;//將對象賦給對象數組 }
輸出庫存現有貨品的名稱:
1 public void ShowGoods() 2 { 3 foreach (var item in goods)//遍歷數組 4 { 5 if (item!=null) 6 { 7 Console.WriteLine(item.Name);//如果數組的當前項不為空則輸出對象的Name屬性 8 } 9 } 10 }
根據貨品名稱輸出貨品的位置:
1 public void GetGoodsPlace() 2 { 3 Console.WriteLine("請輸入貨品名稱");//提示用戶輸入貨品名稱 4 string neme = Console.ReadLine();接受用戶輸入的貨品名稱 5 bool falg = false; 6 foreach (var item in goods)//遍歷數組 7 { 8 if (item!=null)//判斷數組的當前項是否為空 9 { 10 if (item.Name.Equals(neme))判斷用戶輸入的名稱是否和數組的當前項的Name屬性是否相同 11 { 12 Console.WriteLine(item.Index);//輸出數組當前項的Index屬性 13 falg = true; 14 break; 15 } 16 } 17 } 18 if (falg==false) 19 { 20 Console.WriteLine("您輸入的貨品名稱不正確"); 21 } 22 ShowMenu(); 23 }
獲取滿意度最高的貨品:
public Goods GetPleased() { // 使用冒泡排序法將數組降序排序 for (int i = 0; i < goods.Length-1; i++) { for (int j = 0; j < goods.Length-1-i; j++) { if (goods[i].Lick_some<goods[i+1].Lick_some) { Goods temp = new Goods(); temp = goods[i]; goods[i] = goods[i + 1]; goods[i + 1] = temp; } } } return goods[0];//返回數組下標為0的那一項 }
輸出滿意度最高的貨品信息:
public void GetMaxPleased(Goods heat) { Console.WriteLine("溫馨提示:"); Console.WriteLine("客戶滿意度最高的貨品,{0}擺放在:{1} 滿意度:{2} 價格:{3}",heat.Name,heat.Index,heat.Lick_some,heat.Amony1); ShowMenu(); }
好了,倉庫類的代碼寫完咱們的這個項目就基本完成了。只要在程序入口類里調用就可以了
在Main方法中調用的代碼如下:
static void Main(string[] args) { Storage st = new Storage();//創建一個倉庫類對象 st.Initial();//調用初始化貨品信息的方法 st.ShowGoods();//調用輸出現有庫存商品的名稱的方法 st.ShowMenu();//調用顯示菜單的方法 Console.ReadLine(); }
ok 調用方法之后項目就可以運行了趕緊去運行一下吧 !
注:本人是剛學編程的菜鳥下望各位大神能多多指教。謝謝(跪求贊!!)