2022超市收银系统实训报告.docx

上传人:h**** 文档编号:11158014 上传时间:2022-04-16 格式:DOCX 页数:14 大小:37.87KB
返回 下载 相关 举报
2022超市收银系统实训报告.docx_第1页
第1页 / 共14页
2022超市收银系统实训报告.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022超市收银系统实训报告.docx》由会员分享,可在线阅读,更多相关《2022超市收银系统实训报告.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2022超市收银系统实训报告 超市收银系统实训报告信息技术系实训报告实训报告一、实训目的:如今,平价市场、超市因货物品种繁多且购物的人流量大,所以须要一套系统以实现商品的进、销、存、财务及人员等一体化、自动化管理,以降低管理费用,经营成本,最终达到以最小的投资实现最大的利润为目的。电子信息技术的应用发展,收款机系统以成为一个特地的行业。对于零售业的物品价格管理,销售收银,销售打单,以及选购及库存的各种报表,数据的汇总起着不行替代的作用。以收银系统为项目,我们可以熟识c#及数据库管理系统的结构与组成,了解该系统的运行环境,编写要求,巩固C#的基本概念,对C#的数据类型、分支和循环有着较深刻的理解

2、并能正确的运用,提高我们的编程实力。二、实训项目:信息技术系实训报告模拟超市收银功能,对于顾客购买的每一件商品,依据商品条码信息,查询商品名称,价格,计算商品的总应付金额。在此基础上,依据顾客付款金额,计算找零,完成交易。1.提示收银员输入商品条码信息;2.依据商品条码查找商品品名、价格等信息;3.提示收银员输入商品数量;4.计算该商品应付金额,输出明细,并将该金额加到总的应付金额上;5.询问是否还须要输入下一件商品的条码,假如是,则转步骤1,否则转步骤6;6.提示收银员应付金额,记录实收金额;7.计算找零;8.交易完成。信息技术系实训报告三、实训步骤:1需求分析:超市收银,对于顾客购买的每一

3、件商品,依据商品条码信息,查询商品名称,价格,计算商品的总应付金额。在此基础上,依据顾客付款金额,计算找零,完成交易。步骤:(1)提示收银员输入商品条码信息;(2)依据商品条码查找商品品名、价格等信息;(3)提示收银员输入商品数量;(4)计算该商品应付金额,输出明细,并将该金额加到总的应付金额上;(5)询问是否还须要输入下一件商品的条码,假如是,则转步骤(1),否则转步骤(6);(6)提示收银员应付金额,记录实收金额;(7)计算找零;(8)交易完成。流程图:提示收银员输入商品条码信息依据商品条码查找商品品名、价格等信息提示收银员输入商品数量计算该商品应付金额,输出明细计算总的购买金额接着输入否

4、是显示应付金额,计算实收金额计算找零结束交易程序代码:信息技术系实训报告usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespace作业classProgramstaticvoidMain(stringargs)inttoalPrice=0;Console.WriteLine(=xx超市收银系统=);Console.WriteLine(收银时间:+DateTime.Now.ToLocalTime();Console.WriteLine(收款单号:模拟100收款员:100);Console.WriteLine(=);

5、/1.提示收银员输入商品条码信息;while(true)Console.Write(请输入商品条码:);stringbarCode=Console.ReadLine();/2.依据商品条码查找商品品名、价格等信息,此处为模拟过程,实际状况须要到/数据库中查找stringgoodsName=商品+barCode;/用商品+条码的形式模拟商品名称intgoodsPrice=newRandom().Next(20,50);/随机价格,到之间/3提示收银员输入商品数量;Console.Write(请输入商品数量:);intgoodsNum=int.Parse(Console.ReadLine();/4

6、计算该商品应付金额,输出明细,并将该金额加到总的应付金额上;toalPrice+=goodsPrice*goodsNum;/付款金额为单价*数量/输出单笔交易明细Console.WriteLine(01*2=3,goodsName,goodsPrice,goodsNum,goodsPrice*goodsNum);/6.询问是否还须要输入下一件商品你条码,假如是,则接着循环,否则退出循环;Console.Write(是否接着输入下一个商品(Y/N);stringisNext=Console.ReadLine();if(isNext=N|isNext=n)break;/假如输入为N,结束循环/7.

7、提示收银员应付金额,记录实收金额;Console.WriteLine(应付金额为:0,toalPrice);Console.Write(请输入实收金额:);intpay=int.Parse(Console.ReadLine();Console.WriteLine(实收金额为:0,pay);/8.计算找零;信息技术系实训报告Console.WriteLine(找零:0,pay-toalPrice);Console.WriteLine();/9.交易完成。Console.ReadLine();四、实训中遇到的问题及解决方法:怎样获得商品条码?怎样获得商品单价?intgoodsPrice=newRa

8、ndom().Next(20,50);/随机价格,到之间?扩展阅读:超市收银系统实习报告毕业实习报告1、课程设计目的:熟识大型数据库管理系统的结构与组成;熟识数据库应用系统的设计方法和开发过程;驾驭一种大型数据库管理系统(DM5、ORACLE或SQLSERVER)的应用技术和开发工具的运用;熟识数据库设计工具的运用;熟识数据库平安的相关学问和技术;熟识数据库系统的管理和维护。2、毕业实习设计要求:在课程设计指导老师的指导下,选定一个数据库应用系统的题目,完成数据库的设计和应用系统设计,并提交相应文档。数据库管理系统仅限DM5、Oracle以及MSSQLServer;开发工具限PowerBuil

9、der、Delphi、C+、JAVA、.NET平台或其它动态网页开发工具;系统采纳客户/服务器(C/S)结构或阅读器/服务器(B/S)结构实现。系统应严格遵照题目要求进行设计,可在其基础上进一步细化完善,但不得违反,原则上不额外增加与要求无关的功能。系统中应适当体现下列技术的应用:存储过程,触发器,索引。提交系统的源码及文档。一、设计的应用背景本系统是一个超市收银系统。顾名思义,本系统用来管理和更新超市日常交易数据,如收银员的管理,收银员的工作记录,日常交易记录,顾客信息管理,商品信息管理,等等,全部的数据存储在达梦数据库的system库中。本系统实现的主要功能为:1、收银:收银员输入顾客的会

10、员卡卡号(若有卡)、所购商品的货号等信息,系统依据这些信息获得相应的价格信息并计算应收取的总金额。完成收银后,记录交易信息,修改有关种类商品的剩余量以及该持卡顾客的消费状况。2、发卡:顾客可交纳肯定的费用(如50元)办理一张会员卡,以后在该商场购物可凭卡享受9折实惠。假如一个未持卡顾客一次购物满1000元,可为其免费发放一张会员卡,每张卡的实惠期为一年,一年内消费达到肯定金额的可接着享受下一年的实惠。3、款项盘存:收银员下班或交接班前对本收银台中本班次收取的款额进行盘存,明确责任。4、商品信息的录入、修改、删除和查询等。5、收银员身份及口令管理。二、数据库设计过程1、需求分析(1)、信息要求顾

11、客信息:顾客编号(会员卡号)、顾客姓名、顾客性别、注册时间、是否到期、消费金额。收银员信息:收银员编号、收银员姓名、收银员性别、登录名,密码。商品信息:商品编号、商品名称、单价、现有库存。收银信息:收银员编号、收银金额、登录时间,注销时间。交易信息:顾客编号,商品编号,交易时间,交易数量。(2)、处理要求A、处理方式:联机处理。B、处理时间要求:2S。C、处理功能:(I)、添加新信息,修改现存信息,删除无用信息,查询信息。(II)、计算一次交易的金额,假如是会员,就可以享受9折实惠,假如非会员消费金额超过1000元,免费为其发放一张为期一年的会员卡。(III)、只有收银员以正确的用户名和密码才

12、能登录本系统。(3)、平安性和完整性要求A、平安性要求:只有收银员以正确的用户名和密码才能登录本系统,进行相应操作。后台服务器(达梦数据库)会生成相应的日志文件。B、完整性要求:(I)实体完整性:如上信息要求一栏所示,黄色背景的为primarykey。(II)参照完整性:收银信息和交易信息中的收银员编号,顾客编号和商品编号均为前面的参照。(III)用户定义完整性:如性别只能为男或女,姓名不能为空,登录名必需唯一,密码必需六位以上,等等。2、概念设计依据需求分析得到的信息抽象为E-R模型如下:编号姓名性别密码收银员单价库存登录名M名称商品收银编号下班时间1交易金额上班时间N1数量时间顾客编号姓名

13、性别注册时间是否过期消费金额3、逻辑设计依据以上分析,得到本系统的基本关系模式为:顾客(顾客编号、顾客姓名、顾客性别、注册时间、是否到期、消费金额)。createtableCustomer(Cnochar(9)primarykey,Cnamechar(20),Csexchar(2)check(Csexin(男,女),Cregdate,Cactivechar(2)check(Cactivein(是,否),Cconsumptiondecimal(8,2);收银员(收银员编号、收银员姓名、收银员性别、登录名,密码)。createtableCashier();商品(商品编号、商品名称、单价、现有库存)

14、。createtableGoods(Gnochar(9)primarykey,Gnamechar(20)notnull,Gpricedecimal(5,2),Gstoragesmallint);收银(收银员编号、收银金额、登录时间,注销时间)。createtableCashinfo(Cnochar(9)notnull,Crecvdecimal(7,2),CtimeOntimestamp(0),CtimeOfftimestamp(0),foreignkey(Cno)referencesCashier(Cno);交易(顾客编号,商品编号,交易时间,交易数量)。createtableTradeinf

15、o(Cnochar(9),Gnochar(9),Tquantitysmallint,Ttimetimestamp(0),-primarykey(Cno,Gno),foreignkey(Cno)referencesCustomer(Cno),foreignkey(Gno)referencesGoods(Gno);为了编程的便利,另外建立了几个视图如下:查询收银信息(收银员编号、收银员姓名、收银金额、登录时间,注销时间)查询交易信息(顾客编号,顾客姓名,商品编号,商品名称,交易时间,交易数量)Cnochar(9)primarykey,Cnamechar(20)notnull,Csexchar(2)

16、check(Csexin(男,女),Clognamechar(20)unique,Clogpasschar(20)check(Clogpasslike_%)三、应用系统的设计过程1、系统模块结构图超市收银系统帮助登录管理收银员信息管理顾客信息管理商品信息管理交易信息管理收银信息管理注销、退出系统添加、删除、修改、查询添加、删除、修改、查询添加、删除、修改、查询添加、查询、交易添加、查询2、系统工作流程1)以收银员的身份登录(密码为123456),如下图:2)对收银员信息,顾客信息,商品信息做相应操作,以收银员信息为例:A、添加信息,假如出现非法的输入,会有提示,并会返回该界面等待重新输入(如两

17、次密码不同,编号已存在,性别是男女之外的其他,等等)。如图:B、删除信息,输入四个参数中随意的几个,系统会把满意此参数组合的全部记录删除掉。如图:C、修改信息,要输入正确的编号。在须要修改的地方输入新的参数,不须要修改的地方保持空白。如图:D、查询信息,可以采纳条件查询,方法同删除。如图:3)进行交易。输入商品编号和对应的数量(最多5种商品),假如是会员,输入会员卡号,否则不输入。以会员为例,如下图:输入购买信息推断为会员此后,系统会依据交易的状况,自动弹出修改相应数据(如顾客的消费金额,商品的库存,交易信息等等)的对话框,其中,正确的修改数据已经默认的填在了对话框中,收银员只需点击确定按钮即

18、可。4)3、关键技术和算法注销以后,会弹出重新登陆的对话框。退出干脆退出本系统。计算应收金额1)登录对话框增加了“记住用户名”这一选项。实现算法为:将选项是否勾选的状态用一个bool变量表示,新建一个名为“user.dat”的文件。每次登陆时,读取文件中的内容到“用户名”栏中。假如选择了“记住用户名”,则将用户输入的用户名重新写到user.dat文件中,否则写入空。2)系统中运用了许多对话框,而且每个对话框都不相同。我采纳了复用对话框的方式。实现方法为:定义状态变量typedefenumstypeCASHIER_ADD,CASHIER_DELETE,CASHIER_EDIT,CASHIER_Q

19、UERY,CUSTOMER_ADD,CUSTOMER_DELETE,CUSTOMER_EDIT,CUSTOMER_QUERY,GOODS_ADD,GOODS_DELETE,GOODS_EDIT,GOODS_QUERY,CASHINFO_ADD,CASHINFO_QUERY,TRADE_ADD,TRADE_QUERYSTYPE;在OnInitDialog()函数中,用switch-case语句来初始化不同用途的对话框。这样,16个对话框只用1个对话框资源。3)为了能够实时更新系统中的时间(如交易时间,上班下班时间等等),create几个触发器用来获得系统时间。/添加新会员的时候,自动获得系统时间

20、作为注册时间createtriggerInsert_CustomerbeforeinsertonCustomerforeachrowbegin:new.Creg:=curdate();end;/添加交易信息的时候,自动获得系统时间作为交易时间createtriggerInsert_TradebeforeinsertonTradeinfoforeachrowbegin:new.Ttime:=current_timestamp();end;-用户登录系统时插入新记录createtriggerInsert_CashinfoOnbeforeinsertonCashinfoforeachrowbegin

21、:new.CtimeOn:=current_timestamp();end;-用户更新Crecv时(logout)createtriggerInsert_CashinfoOffbeforeupdateonCashinfoforeachrowbeginif:old.CtimeOffisnullthen:new.CtimeOff:=current_timestamp();endif;end;为了查询的便利,创建了Query_Tradeinfo和Query_Cashinfo两个视图。createviewQuery_Cashinfo(Qcno,Qcname,Qcrecv,Qctimeon,Qctime

22、off)asselectCashinfo.Cno,Cname,Crecv,CtimeOn,CtimeOfffromCashinfo,CashierwhereCashinfo.Cno=Cashier.Cno;createviewQuery_Tradeinfo(Qcno,Qcname,Qgno,Qgname,Qgprice,Qttime,Qtquantity)asselectTradeinfo.Cno,Cname,Tradeinfo.Gno,Gname,Gprice,Ttime,TquantityfromTradeinfo,Customer,GoodswhereTradeinfo.Cno=Cust

23、omer.CnoandTradeinfo.Gno=Goods.Gno;4)5)在交易的过程中,会弹出其他的对话框用来更新数据库,采纳了重载消息函数的方法,使得更新的数据能以参数的形式传到对话框中。采纳了动态条件修改,删除和查询的方式,实现方法是,在源程序中动态变更查询的条件。以删除收银员为例:/m_Cashier是CCashierRecordSet(从CRecordSet继承,与Cashier表关联)的对象/假如输入不为空if(m_strEdit1.GetLength()if(bFirst)m_Cashier.m_strFilter+=and;strFilter.Format(Cno=%s,m

24、_strEdit1);/增加对应的条件m_Cashier.m_strFilter+=strFilter;bFirst=TRUE;if(m_strEdit2.GetLength()if(bFirst)m_Cashier.m_strFilter+=and;strFilter.Format(Cname=%s,m_strEdit2);m_Cashier.m_strFilter+=strFilter;bFirst=TRUE;if(m_strEdit3.GetLength()if(bFirst)m_Cashier.m_strFilter+=and;strFilter.Format(Csex=%s,m_st

25、rEdit3);m_Cashier.m_strFilter+=strFilter;bFirst=TRUE;if(m_strEdit4.GetLength()if(bFirst)m_Cashier.m_strFilter+=and;strFilter.Format(Clogname=%s,m_strEdit4);m_Cashier.m_strFilter+=strFilter;bFirst=TRUE;四、设计心得体会这次毕业实习设计收获颇大,首先对视图和触发器的相识和作用都上了一个台阶。通过这次的课程设计,我不仅拓宽了自己的学问面,还在实践过程中巩固和加深了自己所学的理论学问,使自己的技术素养和

26、实践实力有了进一步的提高,同时我的专业水平也有了很大的进步。熟识大型数据库管理系统的结构,熟识了数据库系统开发工具的运用。同时,在软件开发方面也累积了不少阅历,对软件工程的学问重要性的相识更深了。通过设计过程的熬炼,自己分析问题和解决问题的实力都得到了熬炼和提高,完善了自己的学问结构,加深了对所学学问的理解。这次课程设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的学问,吸取阅历,达到进步的目的。在学与做的过程中自身的努力以及相关图书资料的帮助,对ODBC编程接口的理解也从能够运用提高到了娴熟运用,对程序开发的一般过程和对数据库学问的运用也有了进一步的了解。在这个快速发展的当代社会

27、里,数据库已经普遍应用在各个领域。通过课程设计,我学习到不少的数据库方面的学问,但由于自己的理论学问水平有限,实践学问和设计阅历不足,在设计过程中难免存在一些问题,甚至错误。这些我会在以后的工作和实践中加以改进和提高。友情提示:本文中关于超市收银系统实训报告给出的范例仅供您参考拓展思维运用,超市收银系统实训报告:该篇文章建议您自主创作。本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第14页 共14页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁