C#简单超市收银系统源码Word文档格式.docx
《C#简单超市收银系统源码Word文档格式.docx》由会员分享,可在线阅读,更多相关《C#简单超市收银系统源码Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
classSamSung:
ProductFather
publicSamSung(stringid,doubleprice,stringName)
:
base(id,price,Name)
{
classAcer:
publicAcer(stringid,doubleprice,stringName)
classBanana:
ProductFather
publicBanana(stringid,doubleprice,stringName)
classJiangYou:
publicJiangYou(stringid,doubleprice,stringName)
classSupperMarket
//创建仓库对象
CangKuck=newCangKu();
///<
summary>
///创建超市对象的时候,给仓库的货架上导入货物
/summary>
publicSupperMarket()
ck.JinPros("
Acer"
1000);
SamSung"
JiangYou"
Banana"
///跟用户交互的过程
publicvoidAskBuying()
Console.WriteLine("
欢迎观临,请问您需要些什么?
"
);
我们有Acer、SamSung、Jiangyou、Banana"
stringstrType=Console.ReadLine();
您需要多少?
intcount=Convert.ToInt32(Console.ReadLine());
//去仓库取货物
ProductFather[]pros=ck.QuPros(strType,count);
//下面该计算价钱了
doublerealMoney=GetMoney(pros);
您总共应付{0}元"
realMoney);
请选择您的打折方式1--不打折2--打九折3--打85折4--买300送505--买500送100"
stringinput=Console.ReadLine();
//通过简单工厂的设计模式根据用户的舒服获得一个打折对象
CalFathercal=GetCal(input);
doubletotalMoney=cal.GetTotalMoney(realMoney);
打完折后,您应付{0}元"
totalMoney);
以下是您的购物信息"
foreach(variteminpros)
货物名称:
+item.Name+"
"
+"
\t"
货物单价:
+item.Price+"
货物编号:
+item.ID);
///根据用户的选择打折方式返回一个打折对象
paramname="
input"
>
用户的选择<
/param>
returns>
返回的父类对象但是里面装的是子类对象<
/returns>
publicCalFatherGetCal(stringinput)
CalFathercal=null;
switch(input)
case"
1"
:
cal=newCalNormal();
break;
2"
cal=newCalRate(0.9);
3"
cal=newCalRate(0.85);
4"
cal=newCalMN(300,50);
5"
cal=newCalMN(500,100);
returncal;
///根据用户买的货物计算总价钱
pros"
<
publicdoubleGetMoney(ProductFather[]pros)
doublerealMoney=0;
//realMoney=pros[0].Price*pros.Length;
for(inti=0;
i<
pros.Length;
i++)
realMoney+=pros[i].Price;
//realMoney=pros[i]*pros.Length;
returnrealMoney;
publicvoidShowPros()
ck.ShowPros();
///不打折该多少钱就多少钱
classCalNormal:
CalFather
publicoverridedoubleGetTotalMoney(doublerealMoney)
///按折扣率打折
classCalRate:
///折扣率
publicdoubleRate
publicCalRate(doublerate)
this.Rate=rate;
returnrealMoney*this.Rate;
///买M元送N元
classCalMN:
//买500送100
publicdoubleM
publicdoubleN
publicCalMN(doublem,doublen)
this.M=m;
this.N=n;
//600-100
//1000-200
//1200
if(realMoney>
=this.M)
returnrealMoney-(int)(realMoney/this.M)*this.N;
else
classCangKu
List<
List<
ProductFather>
list=newList<
();
///向用户展示货物
foreach(variteminlist)
我们超市有:
+item[0].Name+"
+"
有"
+item.Count+"
个,"
每个"
+item[0].Price+"
元"
//list[0]存储Acer电脑
//list[1]存储三星手机
//list[2]存储酱油
//list[3]存储香蕉
///在创建仓库对象的时候像仓库中添加货架
publicCangKu()
list.Add(newList<
());
///进货
strType"
货物的类型<
count"
货物的数量<
publicvoidJinPros(stringstrType,intcount)
count;
switch(strType)
list[0].Add(newAcer(Guid.NewGuid().ToString(),1000,"
宏基笔记本"
));
list[1].Add(newSamSung(Guid.NewGuid().ToString(),2000,"
棒之手机"
list[2].Add(newJiangYou(Guid.NewGuid().ToString(),10,"
老抽酱油"
list[3].Add(newBanana(Guid.NewGuid().ToString(),50,"
大香蕉"
///从仓库中提取货物
publicProductFather[]QuPros(stringstrType,intcount)
ProductFather[]pros=newProductFather[count];
pros[i]=list[0][0];
list[0].RemoveAt(0);
pros[i]=list[1][0];
list[1].RemoveAt(0);
pros[i]=list[2][0];
list[2].RemoveAt(0);
pros[i]=list[3][0];
list[3].RemoveAt(0);
returnpros;
classProgram
staticvoidMain(string[]args)
//创建超市对象
SupperMarketsm=newSupperMarket();
//展示货物
sm.ShowPros();
//跟用户交互
sm.AskBuying();
Console.ReadKey();