注意注意写项目了
已经学了这么长时间的编程了一直没有想起来做项目总结今天终于要写了心里还有点小激动(呵呵)我们学习任何东西都不能光说不练真正的真理都是咱实践中摸索出来的所以今天我也来摸索摸索!
咱们先来看一下项目需求:
某超市为了快速的占据零售业市场,希望开发一个库存管理系统对库存货品信息进行统一管理要求该系统能够根据货品名称来获取货品的位置并且能够快速找到客户满意度最高的商品的名字和位置
好了这就是我们要做的项目我们先来根据项目需求来归纳出三个类
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 调用方法之后项目就可以运行了赶紧去运行一下吧 !