超市收银程序JAVA课程设计.docx
- 文档编号:7354969
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:14
- 大小:106.21KB
超市收银程序JAVA课程设计.docx
《超市收银程序JAVA课程设计.docx》由会员分享,可在线阅读,更多相关《超市收银程序JAVA课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
超市收银程序JAVA课程设计
软件学院
课程设计报告书
课程名称面向对象程序设计
设计题目超市收银程序
专业班级
学号
姓名
指导教师
2011年6月
1设计时间
2011.6.6-2011.06.10
2设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。
其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。
3设计任务
超市收银程序
(1)使用图形用户界面实现。
(2)由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。
从数据库中取出相关商品的价格信息,再把这些信息返回给收银台,计算出该顾客所购商品的总价格。
(3)每天营业结束把该收银台的销售总额进行统计汇总(要求包括商品种类、数量、销售总额、结账人次等信息,其余可自行丰富)并存储在数据库中。
(4)所有持卡顾客的消费商品情况存储到文件以供查询。
(5)对没有卡的消费情况不记录该顾客的消费情况等个人信息。
如果一个未持卡顾客一次购物满200元,结完账后系统提示可为其发放一张会员卡。
4设计内容
4.1概要设计
4.1.1体系结构设计
4.2功能模块设计
4.2.1功能说明
4.2.1.1消费者消费
普通消费者消费在超市收银的首界面显示,输入消费者购买商品的编号以及数量,算出消费总金额,如果消费者单次消费的金额达到了200元,系统提示此消费者可以成为会员。
会员消费在首界面输入会员卡号,然后显示会员姓名。
4.2.1.2账目结算
在本窗口中显示超市在该结账机上的当天的销售总额(包括会员消费总额以及非会员消费总额),同时还显示当天在该机上的出售的商品的情况。
4.2.1.3会员管理
如果消费者单次消费的金额达到了200元,系统提示此消费者可以成为会员,并且录入会员基本信息。
4.2.1.4商品管理
输入商品编号会在面板内提示相应的价格。
4.3程序运行与调试
4.3.1运行界面
主界面
确定会员以及商品价格
消费总额满200发会员卡一张总结全天账单
4.3.2程序代码及解释
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
classshangpin{
StringSId;
StringSmane;
intjiage;
publicshangpin(Stringa,Stringb,intc){
SId=a;
Smane=b;
jiage=c;
}
}
classhuiyuan{
StringHId;
StringHname;
publichuiyuan(Stringa,Stringb){
HId=a;
Hname=b;
}
}
publicclasschaoshiextendsJFrame{
staticintkey=0;//会员
staticintsum1=0;//总消费
staticintsum2=0;//当天合计
staticinthuiyuansum=0;//会员人数
staticintSpinsum1=0;//商品1合计
staticintSpinsum2=0;//商品2合计
staticintSpinsum3=0;//商品3合计
staticintSpinsum4=0;//商品4合计
staticintSpinsum5=0;//商品5合计
publicstaticvoidmain(String[]agrs){
JFrameframe=newJFrame("超市");
frame.setSize(400,250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Containerc=frame.getContentPane();
c.add(pan());
frame.setVisible(true);
}
//向窗口中添加面板和按钮
staticJPanelpan(){
JPanelpanel=newJPanel();
JPanelpart1=newJPanel();
part1.add(newJLabel("会员卡号:
"));
finalJTextFieldtext1=newJTextField();
text1.setHorizontalAlignment(JTextField.RIGHT);
text1.setColumns(11);
JButtonbutton1=newJButton("确定");
part1.add(text1);part1.add(button1);
part1.setVisible(true);
finalJLabelJLabel00=newJLabel("非会员");
part1.add(JLabel00);panel.add(part1);
JPanelpart2=newJPanel();
part2.add(newJLabel("商品代号:
"));
finalJTextFieldtext2=newJTextField();
text2.setHorizontalAlignment(JTextField.RIGHT);
text2.setColumns(15);
JButtonbutton2=newJButton("确定");
part2.add(text2);part2.add(button2);
panel.add(part2);
JPanelpart3=newJPanel();
finalJLabelJLabel0=newJLabel("");
finalJLabelJLabel1=newJLabel("000");
finalJLabelJLabel2=newJLabel("0000");
part3.add(newJLabel("商品名"));part3.add(JLabel0);
part3.add(newJLabel("商品价格"));part3.add(JLabel1);
part3.add(newJLabel("元"));
part3.add(newJLabel("总价格"));part3.add(JLabel2);
part3.add(newJLabel("元"));
part3.add(newJLabel(""));panel.add(part3);
JPanelpart4=newJPanel();
JButtonbutton3=newJButton("结账");
JButtonbutton4=newJButton("总汇");part4.add(button3);
part4.add(newJLabel(""));
part4.add(button4);panel.add(part4);
button1.addActionListener(newActionListener(){
huiyuanhuiyuan1=newhuiyuan("001","小李");
huiyuanhuiyuan2=newhuiyuan("002","小张");
huiyuanhuiyuan3=newhuiyuan("003","小王");//添加时间监听
publicvoidactionPerformed(ActionEvente){
Stringkahao=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(newActionListener(){
shangpinshangpin1=newshangpin("001","商品1",50);
shangpinshangpin2=newshangpin("002","商品2",100);
shangpinshangpin3=newshangpin("003","商品3",30);
shangpinshangpin4=newshangpin("004","商品4",60);
shangpinshangpin5=newshangpin("005","商品5",200);//添加时间监听
publicvoidactionPerformed(ActionEvente){
Stringshangpinhao=text2.getText();
if(shangpinhao.equals(shangpin1.SId)){
JLabel0.setText(""+shangpin1.Smane);
Stringstr=String.format("%04d",shangpin1.jiage);
JLabel1.setText(str);
sum1=sum1+shangpin1.jiage;
sum2=sum2+shangpin1.jiage;
Stringstr1=String.format("%04d",sum1);
JLabel2.setText(str1);Spinsum1++;
};
if(shangpinhao.equals(shangpin2.SId)){
JLabel0.setText(""+shangpin2.Smane);
Stringstr=String.format("%04d",shangpin2.jiage);
JLabel1.setText(str);
sum1=sum1+shangpin2.jiage;
sum2=sum2+shangpin2.jiage;
Stringstr1=String.format("%04d",sum1);
JLabel2.setText(str1);Spinsum2++;
};
if(shangpinhao.equals(shangpin3.SId)){
JLabel0.setText(""+shangpin3.Smane);
Stringstr=String.format("%04d",shangpin3.jiage);
JLabel1.setText(str);
sum1=sum1+shangpin3.jiage;
sum2=sum2+shangpin3.jiage;
Stringstr1=String.format("%04d",sum1);
JLabel2.setText(str1);Spinsum3++;
};
if(shangpinhao.equals(shangpin4.SId)){
JLabel0.setText(""+shangpin4.Smane);
Stringstr=String.format("%04d",shangpin4.jiage);
JLabel1.setText(str);
sum1=sum1+shangpin4.jiage;
sum2=sum2+shangpin4.jiage;
Stringstr1=String.format("%04d",sum1);
JLabel2.setText(str1);Spinsum4++;
};
if(shangpinhao.equals(shangpin5.SId)){
JLabel0.setText(""+shangpin5.Smane);
Stringstr=String.format("%04d",shangpin5.jiage);
JLabel1.setText(str);
sum1=sum1+shangpin5.jiage;
sum2=sum2+shangpin5.jiage;
Stringstr1=String.format("%04d",sum1);
JLabel2.setText(str1);Spinsum5++;
}
}
});
button3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(sum1!
=0)huiyuansum++;
JDialogduox=newJDialog();JPanelduoxP=newJPanel();
duox.getContentPane().add(duoxP);
duox.setTitle("消费总额");duoxP.setVisible(true);
duoxP.setLayout(newGridLayout(4,1,0,0));
duox.setSize(200,300);duox.setVisible(true);
JPanelpanel1=newJPanel();JPanelpart11=newJPanel();
JPanelpart12=newJPanel();
Stringstr1=String.format("%04d",sum1);
JLabelLabel11=newJLabel(str1);Label11.setText(str1);
part11.add(newJLabel("消费总额:
"));
part11.add(Label11);
if((key!
=1)&&sum1>=200){
part12.add(newJLabel("消费达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(newActionListener(){
publicvoidactionPerformed(ActionEvente){
JDialogduox=newJDialog();JPanelduoxP=newJPanel();
duox.getContentPane().add(duoxP);duox.setTitle("消费总额");
duoxP.setVisible(true);
duoxP.setLayout(newGridLayout(8,1,0,0));
duox.setSize(200,400);duox.setVisible(true);
JPanelpart21=newJPanel();JPanelpart22=newJPanel();
JPanelpart23=newJPanel();JPanelpart24=newJPanel();
JPanelpart25=newJPanel();JPanelpart26=newJPanel();
JPanelpart27=newJPanel();
JButtonbutton5=newJButton("全部清零");
finalJLabellabel21=newJLabel();
part21.add(newJLabel("总消费额"));
Stringstr21=String.format("%04d",sum2);
label21.setText(str21);part21.add(label21);
finalJLabellabel22=newJLabel();
part22.add(newJLabel("商品1消费量"));
Stringstr22=String.format("%04d",Spinsum1);
label22.setText(str22);part22.add(label22);
finalJLabellabel23=newJLabel();
part23.add(newJLabel("商品2消费量"));
Stringstr23=String.format("%04d",Spinsum2);
label23.setText(str23);part23.add(label23);
finalJLabellabel24=newJLabel();
part24.add(newJLabel("商品3消费量"));
Stringstr24=String.format("%04d",Spinsum3);
label24.setText(str24);part24.add(label24);
finalJLabellabel25=newJLabel();
part25.add(newJLabel("商品4消费量"));
Stringstr25=String.format("%04d",Spinsum4);
label25.setText(str25);part25.add(label25);
finalJLabellabel26=newJLabel();
part26.add(newJLabel("商品5消费量"));
Stringstr26=String.format("%04d",Spinsum5);
label26.setText(str26);part26.add(label26);
finalJLabellabel27=newJLabel();
part27.add(newJLabel("消费人次"));
Stringstr27=String.format("%04d",huiyuansum);
label27.setText(str27);part27.add(label27);
button5.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
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);
}
});
returnpanel;
}
}
5总结与展望
通过本次课程设计使我受益匪浅,对课堂上所学的知识有了进一步的巩固加深,本次课程设计锻炼了我各个方面的能力,对java有了更深的理解,让我学会了如何用课堂上所学的知识与实际联系起来,使我更灵活的运用JAVA的各项功能,加深了我对代码的熟识度和理解度,为以后奠定了良好的基础。
参考文献
[1]刘万军主编.面向对象程序设计.北京:
清华大学出版社,2006
[2]宛延闿等编著.实用Java程序设计教程.北京:
机械工业出版社,2006
[3]郑莉.王行言.马素霞编著.Java语言程序设计.北京:
清华大学出版社,2006
[4]丁振凡主编.Java语言实用教程.北京:
北京邮电大学出版社,2005
成绩评定
成绩教师签字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市收银程序 JAVA课程设计 超市 收银 程序 JAVA 课程设计