超市收银系统

上传人:唐****1 文档编号:137331235 上传时间:2022-08-18 格式:DOC 页数:35 大小:216KB
收藏 版权申诉 举报 下载
超市收银系统_第1页
第1页 / 共35页
超市收银系统_第2页
第2页 / 共35页
超市收银系统_第3页
第3页 / 共35页
资源描述:

《超市收银系统》由会员分享,可在线阅读,更多相关《超市收银系统(35页珍藏版)》请在装配图网上搜索。

1、* 实践教学* 兰州理工大学计算机与通信学院2013年秋季学期Java课程设计 题 目: 超市收银系统 专业班级:计算机科学与技术班 姓 名: 学 号: 指导教师: 成 绩: 摘要随着销售行业竞争日益激烈,小型超市收银系统的引入显得极其重要。它不但可以提高进销存管理的工作效率,而且可以有效减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,从根本上提升超市的市场竞争力。本系统运用计算机管理信息技术,对超市的进销存过程进行详细的分析,实现了对超市的进货、销售和库存的科学管理。它主要包括以下几大模块:登录模块、商品入库模块、商品销售模块、营业统计模块、商品信息模块、供应商信息模

2、块、用户信息模块。各模块相许独立,同时又构成统一的整体。本文主要介绍了小型超市收银系统的环境、所用到的开发语言、功能作用、设计的方案等各方面的内容,其目的在于让使用者了解此系统,使他们能更好的运用本系统,使此系统发挥出应有的作用。另外在文中还予以指出了系统开发有待于进一步完善发展的方向。关键词:收银系统 控件 窗体 .net平台目录绪论61.统分析与设计5 1.1 设计内容7 1.2程序功能需求8 1.3程序性能需求8 1.4程序可靠性和可用性需求8 1.5程序出错处理需求8 1.6程序运行需求8 1.7程序将来可能提出的要求92. 详细设计10 2.1 程序设计总体框图102.2 类与类之间

3、的关系113. 系统测试173.1.系统主页面173.2.系统判断是不是会员173.3.输入商品代号183.5.消费总额193.6.信息总汇204.软件使用说明20 4.1.登录界面20 4.2非会员界面 21 4.3消费总额界面224.4总汇界面22总结23致谢24参考文献25附录 原程序(带注释)26绪论随着现代科学技术的迅猛发展,人们的生活方式正发生着巨大的变化。计算机技术已经渗透到各个领域,成为各个行业必不可少的工具。特别是Internet技术的推广和信息高速公路的建立,使得IT产业在市场竞争中越发显示出其独特的优势。科学技术是第一生产力,科学技术的发展让人类更加受益。各类信息系统应用

4、于各行各业,不但给管理上带来了极大的便利,而且还提高了工作效率。中小型超市在我国经济发展中具有重要地位,目前我国的中小型超市数量多,地区分布广泛,行业分布跨度大。随着全球经济一体化的发展和电子商务的兴起,中小型超市之间的竞争将越来越激烈。网络及电子商务的迅猛发展突破了时间、空间的局限性,给中小型超市带来了更多的发展机会,同时也增大了超市行业间的竞争强度。这就要求中小型超市必须改变营业管理模式,提高运营效率。目前,我国中小型超市的信息化水平还很低。随着技术的发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,超市行业采用电脑管理进货、库存、销售等诸多环节也已成为必然趋

5、势。1.系统分析与设计 社会生活的现代化,使得市场的走向发生巨大变化,由于经济的发展,人民对生活的需求已经不再满足于丰衣足食的低度要求,许多人们往往不是单纯为满足生活必须去购买,而是凭着喜欢、意欲和感官去购买。如果一个商店能够打动顾客、吸引顾客,自然会顾客盈门,而近几年新兴产业中超级市场(supermarket)的现代化管理方式和便捷的购物方式,尤其是它轻松的购物环境,往往是打动顾客,吸引顾客的最主要的原因,且良好的周密的销售服务更是赢得信誉、吸引的顾客的优势所在。商品经济的高速现代化发展也促进了竞争,使一切不甘落后的商家都争先恐后地采用最新的管理方法来加强自己的竞争地位。因为,超市经营者如果

6、不掌握当今市场发展的这一走向,不能将超市现代化经营作为努力开拓的目标,就无法使经营活络、财源茂盛。现代化事业的发展,也使超市的管理数段发生前所未有的革命,计算机的运用正在发达国家的各类商店超市中普及。由于它能够准确记载和查询有关超市经营活动的大量数据,帮助超市经营者掌握和分析营销情况,及时作出正确决策,并且有利于商店内部财务、工资、人员、库存、销售情况等管理,因而大大提高了现代超市的管理水平。国外很多发达资本主义国家的有关人士都在开发超市管理系统,开发出很多大型的软件,由于本人能力有限,开发一个小型超市管理系统,它可以使我们国内新起小型超市可以更好的操作。此系统的有减少差错,节省人力、减少顾客

7、购物时间,增加客流量,提高顾客满意度等特点。我通过开发这个简单管理信息系统,巩固了以前所学的知识,提高了应用能力。1.1 设计内容该软件主要实现了以下功能:(1)使用图形用户界面;(2)由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询;(3)另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后再该商场购物可享受9折优惠。1.2程序功能需求 1. 由收银员输入顾客的会员卡卡号

8、(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。2.判断顾客是不是会员。3.可以得到商品的价格。 4.可以计算出所有商品的价格和,并显示所有商品的价格的信息。1.3程序性能需求1)计算机硬件要求:P4以上微机。2)计算机软件要求:安装Java的JDK6软件。3)画图程序最终是在Windows操作系统上实现图形用户界面的窗口化。 1.4程序可靠性和可用性需求超市收银系统程序的可靠性和可用性:即在选择了相应的程序按钮后其就能实现相应功能的作用。1.5程序出错处理需求 超市

9、收银系统程序需要编写有相应的容错、调试等功能。比如关闭是提醒保存;或当出现其它什么错误时可以抛出异常、程序调试、基本的容错等功能。1.6程序运行需求超市收银系统程序运行需求:在P4以上的计算机,在Windows操作系统上安装Java的JDK程序,并配置好相应的“环境变量”。设置环境变量CLASSPATH和PATH。运行调试可以用windows系统自带的DOS中cmd.exe或破解版的“JCreator编辑器”、“EditPlus编辑器”等软件调试运行Java程序。 1.7程序将来可能提出的要求 功能要求:输出所买商品的总和,以及每种商品的个数,每件商品的单价,及够买商品的人数。2.程序总体设计

10、思想 系统概要设计的基本目的是用比较抽象的概括方式确定系统如何完成预定的任务,也就是要确定系统的配置物理方案。软件结构设计时应该遵循的最主要的原理是模块独立,让模块彼此间的接口关系应该尽量简单。图书管理系统需要实现的功能主要有四大块:“判断”、“ 输入商品代号”、 “结帐”和“总汇”模块。功能的实现:1“判断”模块:(1) 会员(2)非会员2“输入商品代号”模块:(1)可以显示商品的单价,(2)商品总价,(3)商品数量3. “结帐” 模块:(1) 显示消费总额4. “总汇”模块(1)消费总额(2)商品的消费数量(3)消费人数2.1 程序设计总体框图如图2.1所示:总汇结帐系统开始失败判断输入会

11、员卡号判断退出图2.12.2 程序详细设计(1)商品类的建立和说明public shangpin(String a,String b,int c) SId=a; Smane=b; jiage=c; class huiyuan String HId; String Hname; public huiyuan(String a,String b) HId=a; Hname=b; (2)超市类的建立和说明public class chaoshi extends JFrame static int key=0; /会员 static int sum1=0; /总消费 static int sum2=0

12、; /当天合计 static int huiyuansum=0; /会员人数 static int Spinsum1=0; /商品1合计 static int Spinsum2=0; /商品2合计 static int Spinsum3=0; /商品3合计 static int Spinsum4=0; /商品4合计 static int Spinsum5=0; /商品5合计 public static void main(String agrs) JFrame frame =new JFrame(超市); frame.setSize(400,250); frame.setDefaultClos

13、eOperation(JFrame.EXIT_ON_CLOSE); Container c=frame.getContentPane(); c.add(pan(); frame.setVisible(true); static JPanel pan () JPanel panel=new JPanel(); JPanel part1=new JPanel(); part1.add(new JLabel(会员卡号:); final JTextField text1=new JTextField(); text1.setHorizontalAlignment(JTextField.RIGHT);

14、text1.setColumns(11); JButton button1=new JButton(确定); part1.add(text1); part1.add(button1); part1.setVisible(true); final JLabel JLabel00 =new JLabel(非会员); part1.add(JLabel00); panel.add(part1); JPanel part2=new JPanel(); part2.add(new JLabel(商品代号:); final JTextField text2=new JTextField(); text2.s

15、etHorizontalAlignment(JTextField.RIGHT); text2.setColumns(15); JButton button2=new JButton(确定); part2.add(text2); part2.add(button2); panel.add(part2); JPanel part3=new JPanel(); final JLabel JLabel0=new JLabel( ); final JLabel JLabel1=new JLabel(000); final JLabel JLabel2=new JLabel(0000); part3.ad

16、d(new JLabel(商品名); part3.add(JLabel0); part3.add(new JLabel(商品价格); part3.add(JLabel1); part3.add(new JLabel(元); part3.add(new JLabel(总价格); part3.add(JLabel2); part3.add(new JLabel(元); part3.add(new JLabel( ); panel.add(part3); JPanel part4=new JPanel(); JButton button3=new JButton(结账); JButton butto

17、n4=new JButton(总汇); part4.add(button3); part4.add(new JLabel( ); part4.add(button4); panel.add(part4); button1.addActionListener(new ActionListener() huiyuan huiyuan1=new huiyuan(00001,会员甲); huiyuan huiyuan2=new huiyuan(00002,会员乙); huiyuan huiyuan3=new huiyuan(00003,会员丙); public void actionPerformed

18、(ActionEvent e) String kahao=text1.getText(); if(kahao.equals(huiyuan1.HId) JLabel00.setText(huiyuan1.Hname); key=1; if(kahao.equals(huiyuan2.HId) JLabel00.setText(huiyuan2.Hname); key=1; if(kahao.equals(huiyuan3.HId) JLabel00.setText(huiyuan3.Hname); key=1; 3.超市收银系统测试3.1.系统主页面:如图3.1图3.13.2.系统判断是不是会

19、员如图3.2图3.23.3.输入商品代号如图3.3 图3.33.4.显示总额如图3.4图3.43.5.消费总额如图3.5 图3.53.6.信息总汇如图3.6 图3.64.软件使用说明4.1.登录界面如图4.1 图4.1 4.2非会员界面如图4.2 图4.24.3消费总额界面 如图4.3 图4.34.4总汇界面如图4.4 图4.4 总结通过这几天的课程设计的学习的亲身实践对我来说收获颇丰从一开始的懵懵懂懂到现在可以理解编译简单的程序经历了一段难忘的过程。Java语法很多要想熟练掌握在记下来的同时还要很好的理解,看见身边精通java的同学可以自由的在电脑上书写他们想要做到的操作我心里不禁倍感羡慕,

20、对于我来说java不好理解一些应该知道的基本知识都还没有很好的掌握比如GUI和接口还有监听接口对我来说都是难点究其原因是平时应该下的功夫太少,没有好好温习老师传授的知识。至此有机会温习并实践书本上的知识对我来说也是一个机会通过对知识的复习以及老师同学的指导对Java有了更深层次的领悟一对今后如何学习Java积累了经验。当看到自己写的东西在屏幕上运行是心中的喜悦不言而喻这不是Java课程设计的结束而是Java学习新的开始,快餐式的学习方法不可取,今后我要踏踏实实地从平日里就勤加练习,多多实践,只有实践的多,写代码才能熟练。 致谢 首先感谢我的指导老师,她在我的课程设计过程中提出了指导性的方案和架

21、构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。在这两周的数据结构课程设计中,对课本中所学的各种数据结构进一步理解和掌握,学会了如何把学到的知识用于解决实际问题,锻炼了自己动手的能力。一个人要完成所有的工作是非常困难和耗时的。在以后的学习中我会更加注意各个方面的能力的协调发展。在课程设计时遇到了很多的问题,在老师的帮助,和对各种资料的查阅中,将问题解决,培养了我自主动手,独立研究的能力,为今后在学习工作中能更好的发展打下了坚实的基础。我的同学在我的课程设计中也给了我很多无私的帮助和支持,在此一并表示感谢。 参考文献1曲朝阳,杨杰明等.Java程序设计. 北京: 清华

22、大学出版社,2008.102耿祥以,张跃平.Java大学生实用教程. 北京: 电子工业出版社,2012.6 3明日科技.Java经典编程.北京:清华大学出版社,2012.104李尊朝,苏军.Java语言程序设计.北京:中国铁道出版社,2004.25王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990. 附录 原程序(带注释) package software; import java.awt.*; import java.awt.event.*; import javax.swing.*; class shangpin String SId; String Smane; int

23、 jiage; public shangpin(String a,String b,int c) SId=a; Smane=b; jiage=c; class huiyuan String HId; String Hname; public huiyuan(String a,String b) HId=a; Hname=b; public class chaoshi extends JFrame static int key=0; /会员 static int sum1=0; /总消费 static int sum2=0; /当天合计 static int huiyuansum=0; /会员人

24、数 static int Spinsum1=0; /商品1合计 static int Spinsum2=0; /商品2合计 static int Spinsum3=0; /商品3合计 static int Spinsum4=0; /商品4合计 static int Spinsum5=0; /商品5合计 public static void main(String agrs) JFrame frame =new JFrame(超市); frame.setSize(400,250); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Con

25、tainer c=frame.getContentPane(); c.add(pan(); frame.setVisible(true); static JPanel pan () JPanel panel=new JPanel(); JPanel part1=new JPanel(); part1.add(new JLabel(会员卡号:); final JTextField text1=new JTextField(); text1.setHorizontalAlignment(JTextField.RIGHT); text1.setColumns(11); JButton button1

26、=new JButton(确定); part1.add(text1); part1.add(button1); part1.setVisible(true); final JLabel JLabel00 =new JLabel(非会员); part1.add(JLabel00); panel.add(part1); JPanel part2=new JPanel(); part2.add(new JLabel(商品代号:); final JTextField text2=new JTextField(); text2.setHorizontalAlignment(JTextField.RIGH

27、T); text2.setColumns(15); JButton button2=new JButton(确定); part2.add(text2); part2.add(button2); panel.add(part2); JPanel part3=new JPanel(); final JLabel JLabel0=new JLabel( ); final JLabel JLabel1=new JLabel(000); final JLabel JLabel2=new JLabel(0000); part3.add(new JLabel(商品名); part3.add(JLabel0)

28、; part3.add(new JLabel(商品价格); part3.add(JLabel1); part3.add(new JLabel(元); part3.add(new JLabel(总价格); part3.add(JLabel2); part3.add(new JLabel(元); part3.add(new JLabel( ); panel.add(part3); JPanel part4=new JPanel(); JButton button3=new JButton(结账); JButton button4=new JButton(总汇); part4.add(button3

29、); part4.add(new JLabel( ); part4.add(button4); panel.add(part4); button1.addActionListener(new ActionListener() huiyuan huiyuan1=new huiyuan(00001,会员甲); huiyuan huiyuan2=new huiyuan(00002,会员乙); huiyuan huiyuan3=new huiyuan(00003,会员丙); public void actionPerformed(ActionEvent e) String kahao=text1.ge

30、tText(); if(kahao.equals(huiyuan1.HId) JLabel00.setText(huiyuan1.Hname); key=1; if(kahao.equals(huiyuan2.HId) JLabel00.setText(huiyuan2.Hname); key=1; if(kahao.equals(huiyuan3.HId) JLabel00.setText(huiyuan3.Hname); key=1; ); button2.addActionListener(new ActionListener() shangpin shangpin1=new shang

31、pin(001,商品1,10); shangpin shangpin2=new shangpin(002,商品2,11); shangpin shangpin3=new shangpin(003,商品3,12); shangpin shangpin4=new shangpin(004,商品4,13); shangpin shangpin5=new shangpin(005,商品5,14); public void actionPerformed(ActionEvent e) String shangpinhao=text2.getText(); if(shangpinhao.equals(sh

32、angpin1.SId) JLabel0.setText( +shangpin1.Smane); String str = String.format(%04d,shangpin1.jiage); JLabel1.setText(str); sum1=sum1+shangpin1.jiage; sum2=sum2+shangpin1.jiage; String str1 = String.format(%04d,sum1); JLabel2.setText(str1); Spinsum1+; ; if(shangpinhao.equals(shangpin2.SId) JLabel0.setT

33、ext( +shangpin2.Smane); String str = String.format(%04d,shangpin2.jiage); JLabel1.setText(str); sum1=sum1+shangpin2.jiage; sum2=sum2+shangpin2.jiage; String str1 = String.format(%04d,sum1); JLabel2.setText(str1); Spinsum2+; ; if(shangpinhao.equals(shangpin3.SId) JLabel0.setText( +shangpin3.Smane); S

34、tring str = String.format(%04d,shangpin3.jiage); JLabel1.setText(str); sum1=sum1+shangpin3.jiage; sum2=sum2+shangpin3.jiage; String str1 = String.format(%04d,sum1); JLabel2.setText(str1); Spinsum3+; ; if(shangpinhao.equals(shangpin4.SId) JLabel0.setText( +shangpin4.Smane); String str = String.format

35、(%04d,shangpin4.jiage); JLabel1.setText(str); sum1=sum1+shangpin4.jiage; sum2=sum2+shangpin4.jiage; String str1 = String.format(%04d,sum1); JLabel2.setText(str1); Spinsum4+; ; if(shangpinhao.equals(shangpin5.SId) JLabel0.setText( +shangpin5.Smane); String str = String.format(%04d,shangpin5.jiage); J

36、Label1.setText(str); sum1=sum1+shangpin5.jiage; sum2=sum2+shangpin5.jiage; String str1 = String.format(%04d,sum1); JLabel2.setText(str1); Spinsum5+; ; ); button3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(sum1!=0) huiyuansum+; JDialog duox=new JDialog(); JPa

37、nel duoxP=new JPanel(); duox.getContentPane().add(duoxP); duox.setTitle(消费总额); duoxP.setVisible(true); duoxP.setLayout(new GridLayout(4,1,0,0); duox.setSize(200,300); duox.setVisible(true); JPanel panel1=new JPanel(); JPanel part11=new JPanel(); JPanel part12=new JPanel(); String str1 = String.forma

38、t(%04d,sum1); JLabel Label11=new JLabel(str1); Label11.setText(str1); part11.add(new JLabel(消费总额:); part11.add(Label11); if(key!=1)&sum1=200) part12.add(new JLabel(消费达200元发放一张会员卡); panel1.add(part12); panel1.add(part11); duoxP.add(panel1); key=0; sum1=0; JLabel0.setText( ); JLabel1.setText(000); JLa

39、bel2.setText(0000); JLabel00.setText(非会员); text1.setText(); text2.setText(); ); button4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JDialog duox=new JDialog(); JPanel duoxP=new JPanel(); duox.getContentPane().add(duoxP); duox.setTitle(消费总额); uoxP.setVisible(true

40、); duoxP.setLayout(new GridLayout(8,1,0,0); duox.setSize(200,400); duox.setVisible(true); JPanel part21=new JPanel();JPanel part22=new JPanel(); JPanel part23=new JPanel();JPanel part24=new JPanel(); JPanel part25=new JPanel();JPanel part26=new JPanel(); JPanel part27=new JPanel(); JButton button5=n

41、ew JButton(全部清零); final JLabel label21=new JLabel(); part21.add(new JLabel(总消费额); String str21 = String.format(%04d,sum2); label21.setText(str21); part21.add(label21); final JLabel label22=new JLabel(); art22.add(new JLabel(商品1消费量); String str22 = String.format(%04d,Spinsum1); label22.setText(str22)

42、; part22.add(label22); final JLabel label23=new JLabel(); part23.add(new JLabel(商品2消费量); String str23 = String.format(%04d,Spinsum2); label23.setText(str23); part23.add(label23);final JLabel label24=new JLabel(); part24.add(new JLabel(商品3消费量); String str24 = String.format(%04d,Spinsum3); label24.set

43、Text(str24); part24.add(label24); final JLabel label25=new JLabel(); part25.add(new JLabel(商品4消费量); String str25 = String.format(%04d,Spinsum4); label25.setText(str25); part25.add(label25); final JLabel label26=new JLabel(); part26.add(new JLabel(商品5消费量); String str26 = String.format(%04d,Spinsum5);

44、label26.setText(str26); part26.add(label26); final JLabel label27=new JLabel(); part27.add(new JLabel(消费人次); String str27 = String.format(%04d,huiyuans label27.setText(str27); part27.add(label27); button5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) sum2=0; Spins

45、um1=0; Spinsum2=0; Spinsum3=0; Spinsum4=0; Spinsum5=0; huiyuansum=0; label21.setText(0000);label22.setText(0000);label23.setText(0000); label24.setText(0000);label25.setText(0000);label26.setText(0000); label27.setText(0000); ); duoxP.add(part21);duoxP.add(part22);duoxP.add(part23);duoxP.add(part24); duoxP.add(part25);duoxP.add(part26); duoxP.add(part27);duoxP.add(button5); ); return panel;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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