C#程序设计项目案例运动商场EPOS收银系统Word下载.docx

上传人:b****5 文档编号:21423449 上传时间:2023-01-30 格式:DOCX 页数:13 大小:70.77KB
下载 相关 举报
C#程序设计项目案例运动商场EPOS收银系统Word下载.docx_第1页
第1页 / 共13页
C#程序设计项目案例运动商场EPOS收银系统Word下载.docx_第2页
第2页 / 共13页
C#程序设计项目案例运动商场EPOS收银系统Word下载.docx_第3页
第3页 / 共13页
C#程序设计项目案例运动商场EPOS收银系统Word下载.docx_第4页
第4页 / 共13页
C#程序设计项目案例运动商场EPOS收银系统Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C#程序设计项目案例运动商场EPOS收银系统Word下载.docx

《C#程序设计项目案例运动商场EPOS收银系统Word下载.docx》由会员分享,可在线阅读,更多相关《C#程序设计项目案例运动商场EPOS收银系统Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

C#程序设计项目案例运动商场EPOS收银系统Word下载.docx

(三)功能需求描述

商品管理:

管理商品的基本信息:

商品代码、名称、规格、单价等信息。

针对商品信息进行添加、修改、删除、查询等功能,并实现商品信息的文件持久操作。

收银员管理:

管理收银员的基本信息:

名称、性别、密码等信息。

针对收银管信息进行添加、修改、删除、查询等功能,并实现收银员信息的文件持久操作。

收银结算:

实现收银员针对顾客的购买的商品进行收银结算,需要记录结算的日期,收银员,购买的商品、单价、数量等信息,同时具备合计购买金额等功能,能够将结算信息持久到文件中。

友情回馈:

提供简单的娱乐游戏,通过积分回馈用户,例如固定时间答题竞猜游戏,实现竞猜答题功能,实现时间计时显示及控制等。

查询统计:

针对结算信息,提供根据商品名称查询购买信息并能够实现按照商品进行统计当前商品的销售额。

二、总体设计

(一)设计思路

本系统使用C#语言进行开发和实现,总体思想基于面向对象的程序设计。

在本系统中使用两层结构,主要实现的是管理系统的增、删、改和查等典型功能,应用了高级语言程序设计中的基本控制结构和事件触发机制,在软件开发过程中应用了软件工程的基本理论。

(二)系统功能模块

运动商场EPOS收银系统是能够为商场对收银提供便利的软件系统,该系统涉及基础信息管理、收银结算、真情回馈和信息查询及统计等功能的结合。

根据“高内聚”与“低耦合”原则,将运动商场EPOS收银系统模块化,下面直接给出系统包括的4个功能模块。

1、基础信息管理模块

基础信息管理模块提供商品信息的管理(添加、修改、删除和查询)和收银员信息的管理(添加、修改、删除和查询),输入相应的数字进行相应的操作。

2、收银结算模块

收银结算模块提供商品的结算功能,通过商品代码和购买数量计算出商品的费用。

3、真情回馈模块

真情回馈模块提供游戏,输入相应的数字执行相应的操作。

4、信息查询及统计

信息查询及统计模块提供交易信息查询和商品销售统计,输入相应的数字进行相应的操作。

三、系统架构

图1运动商场EPOS收银系统架构

 

四、构建两层模型

使用类库构建两层模型,如图2所示:

图2两层模型

五、详细设计

(一)设计Model实体类

以Cashier实体类为例,代码如下:

//-------------------------------------------------------------------

publicclassCashier

{

///<

summary>

///静态成员变量,保存当前登录的用户信息

/summary>

publicstaticCashiercurrentCashier;

//收银员姓名

privatestringname;

publicstringName

get{returnname;

}

set{name=value;

//收银员性别

privatestringgender;

publicstringGender

get{returngender;

set{gender=value;

//收银员密码

privatestringpassword;

publicstringPassword

get{returnpassword;

set{password=value;

///构造方法

paramname="

name"

>

<

/param>

gender"

password"

publicCashier(stringname,stringgender,stringpassword)

this.name=name;

this.gender=gender;

this.password=password;

Console.WriteLine("

开始初始化收银员类的成员变量,收银员的构造方法调用了。

"

);

publicStringToSTring()

returnstring.Format("

收银员姓名:

{0}\n收银员性别:

{1}\n收银员密码:

{2}"

this.name,this.gender,this.password);

///验证用户的登录密码,

returns>

/returns>

publicboolValidate()

boolb=false;

if(this.name=="

admin"

&

&

this.password=="

b=true;

类普通成员调用被执行。

returnb;

///析构方法定义

~Cashier()

收银员的析构方法被调用了"

(二)业务逻辑层(BLL)的实现

以收银员信息管理为例,代码如下:

//-----------------------------------------------------------------

publicclassCashierBLL

//创建数组对象

staticCashier[]cashierColleciton;

///构造方法中初始化数组对象

staticCashierBLL()

//创建保存10个收银员的数组对象

cashierColleciton=newCashier[10];

///按照收银员代码查询收银员信息,并返回收银员信息

publicCashierLoad(stringname)

for(inti=0;

i<

10;

i++)

Cashierg=cashierColleciton[i];

if(g!

=null&

g.Name==name)

returng;

returnnull;

///在现有的集合中添加收银员信息

g"

publicboolAdd(Cashierg)

if(Load(g.Name)==null)

if(cashierColleciton[i]==null)

cashierColleciton[i]=g;

break;

///实现收银员信息的更新操作

publicboolUpdate(Cashierg)

{

//获取第i个数组元素的对象

Cashierobj=cashierColleciton[i];

//如果第i个元素的对象与输入收银员对象的代码对比

//代码相同,则替换当前对象的数据

if(obj.Name==g.Name)

obj.Gender=g.Gender;

obj.Password=g.Password;

///根据收银员代码删除数组中的制定元素

goodsCode"

publicboolDelete(stringgoodsCode)

//从数组中查找当前代码的对象

Cashierobj=this.Load(goodsCode);

if(obj!

=null)

//如果存在,则将当前查找出的对象赋值为空,则实现从数组中删除

obj=null;

}

(三)用户界面层(UI)的实现

以收银员信息管理界面为例,代码如下:

//----------------------------------------------------------------------

classCashierMenu

///创建商品的操作对象

BLL.CashierBLLbll=newBLL.CashierBLL();

publicvoidAddMenu()

stringname,gender,password;

***************运动商场EPOS系统收银员信息添加**********"

Console.Write("

请输入收银员姓名:

name=Console.ReadLine();

请输入收银员性别:

gender=Console.ReadLine();

请输入收银员密码:

password=Console.ReadLine();

Cashierobj=newCashier(name,gender,password);

boolb=bll.Add(obj);

if(b==true)

添加收银员信息成功"

else

添加收银员信息失败"

请按任意键继续"

Console.ReadKey();

publicvoidEditMenu()

stringgender,name,password;

***************运动商场EPOS系统收银员信息维护**********"

请输入需要收银员姓名:

Cashierobj=bll.Load(name);

bll.Update(obj);

修改收银员信息成功"

修改收银员信息失败"

///根据收银员姓名删除商品信息

publicvoidDeleteMenu()

***************运动商场EPOS系统收银员信息查看**********"

请输入需要删除商品代码:

stringcode=Console.ReadLine();

boolb=bll.Delete(code);

if(b)

删除的收银员信息成功"

删除的收银员信息失败"

///按照收银员姓名查询

publicvoidQueryMenu()

请输入需要查询收银员姓名:

Cashierobj=bll.Load(code);

Console.WriteLine(obj.ToString());

不存在修改的收银员"

(四)其他模块的实现

具体代码详见源代码文件夹。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1