超市收银系统

上传人:枕*** 文档编号:124334633 上传时间:2022-07-24 格式:DOC 页数:44 大小:217KB
返回 下载 相关 举报
超市收银系统_第1页
第1页 / 共44页
超市收银系统_第2页
第2页 / 共44页
超市收银系统_第3页
第3页 / 共44页
点击查看更多>>
资源描述
* 实践教学* 兰州理工大学计算机与通信学院秋季学期Java课程设计 题 目: 超市收银系统 专业班级:计算机科学与技术班 姓 名: 学 号: 指引教师: 成 绩: 摘要随着销售行业竞争日益剧烈,小型超市收银系统的引入显得极其重要。它不仅可以提高进销存管理的工作效率,并且可以有效减少盲目采购、减少采购成本、合理控制库存、减少资金占用并提高市场敏捷度,从主线上提高超市的市场竞争力。本系统运用计算机管理信息技术,对超市的进销存过程进行具体的分析,实现了对超市的进货、销售和库存的科学管理。它重要涉及如下几大模块:登录模块、商品入库模块、商品销售模块、营业记录模块、商品信息模块、供应商信息模块、顾客信息模块。各模块相许独立,同步又构成统一的整体。本文重要简介了小型超市收银系统的环境、所用到的开发语言、功能作用、设计的方案等各方面的内容,其目的在于让使用者理解此系统,使她们能更好的运用本系统,使此系统发挥出应有的作用。此外在文中还予以指出了系统开发有待于进一步完善发展的方向。核心词:收银系统 控件 窗体 .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 类与类之间的关系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产业在市场竞争中越发显示出其独特的优势。科学技术是第毕生产力,科学技术的发展让人类更加受益。各类信息系统应用于各行各业,不仅给管理上带来了极大的便利,并且还提高了工作效率。中小型超市在国内经济发展中具有重要地位,目前国内的中小型超市数量多,地辨别布广泛,行业分布跨度大。随着全球经济一体化的发展和电子商务的兴起,中小型超市之间的竞争将越来越剧烈。网络及电子商务的迅猛发展突破了时间、空间的局限性,给中小型超市带来了更多的发展机会,同步也增大了超市行业间的竞争强度。这就规定中小型超市必须变化营业管理模式,提高运营效率。目前,国内中小型超市的信息化水平还很低。随着技术的发展,电脑操作及管理日趋简化,电脑知识日趋普及,同步市场经济迅速多变,竞争剧烈,超市行业采用电脑管理进货、库存、销售等诸多环节也已成为必然趋势。1.系统分析与设计 社会生活的现代化,使得市场的走向发生巨大变化,由于经济的发展,人民对生活的需求已经不再满足于丰衣足食的低度规定,许多人们往往不是单纯为满足生活必须去购买,而是凭着喜欢、意欲和感官去购买。如果一种商店可以打动顾客、吸引顾客,自然会顾客盈门,而近几年新兴产业中超级市场(supermarket)的现代化管理方式和便捷的购物方式,特别是它轻松的购物环境,往往是打动顾客,吸引顾客的最重要的因素,且良好的周密的销售服务更是赢得信誉、吸引的顾客的优势所在。商品经济的高速现代化发展也增进了竞争,使一切不甘落后的商家都争先恐后地采用最新的管理措施来加强自己的竞争地位。由于,超市经营者如果不掌握当今市场发展的这一走向,不能将超市现代化经营作为努力开拓的目的,就无法使经营活络、财源茂盛。现代化事业的发展,也使超市的管理数段发生前所未有的革命,计算机的运用正在发达国家的各类商店超市中普及。由于它可以精确记载和查询有关超市经营活动的大量数据,协助超市经营者掌握和分析营销状况,及时作出对的决策,并且有助于商店内部财务、工资、人员、库存、销售状况等管理,因而大大提高了现代超市的管理水平。国外诸多发达资本主义国家的有关人士都在开发超市管理系统,开发出诸多大型的软件,由于本人能力有限,开发一种小型超市管理系统,它可以使我们国内新起小型超市可以更好的操作。此系统的有减少差错,节省人力、减少顾客购物时间,增长客流量,提高顾客满意度等特点。我通过开发这个简朴管理信息系统,巩固了此前所学的知识,提高了应用能力。1.1 设计内容该软件重要实现了如下功能:(1)使用图形顾客界面;(2)由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同步把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费状况交数据库存储以供查询;(3)此外,对没有卡的消费状况不记录该顾客的消费状况等个人信息。如果一种未持卡顾客一次购物满200元,可为其发放一张会员卡,后来再该商场购物可享有9折优惠。1.2程序功能需求 1. 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同步把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费状况交数据库存储以供查询。2.判断顾客是不是会员。3.可以得到商品的价格。 4.可以计算出所有商品的价格和,并显示所有商品的价格的信息。1.3程序性能需求1)计算机硬件规定:P4以上微机。2)计算机软件规定:安装Java的JDK6软件。3)画图程序最后是在Windows操作系统上实现图形顾客界面的窗口化。 1.4程序可靠性和可用性需求超市收银系统程序的可靠性和可用性:即在选择了相应的程序按钮后其就能实现相应功能的作用。1.5程序出错解决需求 超市收银系统程序需要编写有相应的容错、调试等功能。例如关闭是提示保存;或当浮现其他什么错误时可以抛出异常、程序调试、基本的容错等功能。1.6程序运营需求超市收银系统程序运营需求:在P4以上的计算机,在Windows操作系统上安装Java的JDK程序,并配备好相应的“环境变量”。设立环境变量CLASSPATH和PATH。运营调试可以用windows系统自带的DOS中cmd.exe或破解版的“JCreator编辑器”、“EditPlus编辑器”等软件调试运营Java程序。 1.7程序将来也许提出的规定 功能规定:输出所买商品的总和,以及每种商品的个数,每件商品的单价,及够买商品的人数。2.程序总体设计思想 系统概要设计的基本目的是用比较抽象的概括方式拟定系统如何完毕预定的任务,也就是要拟定系统的配备物理方案。软件构造设计时应当遵循的最重要的原理是模块独立,让模块彼此间的接口关系应当尽量简朴。图书管理系统需要实现的功能重要有四大块:“判断”、“ 输入商品代号”、 “结帐”和“总汇”模块。功能的实现:1“判断”模块:(1) 会员(2)非会员2“输入商品代号”模块:(1)可以显示商品的单价,(2)商品总价,(3)商品数量3. “结帐” 模块:(1) 显示消费总额4. “总汇”模块(1)消费总额(2)商品的消费数量(3)消费人数2.1 程序设计总体框图如图2.1所示:总汇结帐系统开始失败判断输入会员卡号判断退出图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; /当天合计 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.setDefaultCloseOperation(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); 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.setHorizontalAlignment(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.add(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 button4=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(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.系统判断是不是会员如图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的同窗可以自由的在电脑上书写她们想要做到的操作我心里不禁倍感羡慕,对于我来说java不好理解某些应当懂得的基本知识都还没有较好的掌握例如GUI和接口尚有监听接口对我来说都是难点究其因素是平时应当下的功夫太少,没有好好温习教师传授的知识。至此有机会温习并实践课本上的知识对我来说也是一种机会通过对知识的复习以及教师同窗的指引对Java有了更深层次的领悟一对此后如何学习Java积累了经验。当看到自己写的东西在屏幕上运营是心中的喜悦不言而喻这不是Java课程设计的结束而是Java学习新的开始,快餐式的学习措施不可取,此后我要踏踏实实地从平日里就勤加练习,多多实践,只有实践的多,写代码才干纯熟。 道谢 一方面感谢我的指引教师,她在我的课程设计过程中提出了指引性的方案和架构,并指引我阅读有关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。在这两周的数据构造课程设计中,对课本中所学的多种数据构造进一步理解和掌握,学会了如何把学到的知识用于解决实际问题,锻炼了自己动手的能力。一种人要完毕所有的工作是非常困难和耗时的。在后来的学习中我会更加注意各个方面的能力的协调发展。在课程设计时遇到了诸多的问题,在教师的协助,和对多种资料的查阅中,将问题解决,培养了我自积极手,独立研究的能力,为此后在学习工作中能更好的发展打下了坚实的基本。我的同窗在我的课程设计中也给了我诸多无私的协助和支持,在此一并表达感谢。 参照文献1曲朝阳,杨杰明等.Java程序设计. 北京: 清华大学出版社,.102耿祥以,张跃平.Java大学生实用教程. 北京: 电子工业出版社,.6 3明日科技.Java典型编程.北京:清华大学出版社,.104李尊朝,苏军.Java语言程序设计.北京:中国铁道出版社,.25王博. 面向对象的建模、设计技术与措施. 北京但愿电脑公司,1990. 附录 原程序(带注释) package software; import java.awt.*; import java.awt.event.*; import javax.swing.*; class shangpin String SId; String Smane; int 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; /会员人数 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); 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); 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.setHorizontalAlignment(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.add(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 button4=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(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; ); button2.addActionListener(new ActionListener() shangpin shangpin1=new shangpin(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(shangpin1.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.setText( +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); String 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(%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); JLabel1.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(); JPanel 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.format(%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); JLabel2.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); 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=new 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); 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.setText(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);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; Spinsum1=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;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


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

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


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