超市管理系统Java课设

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超市管理系统Java课设
沈阳工程学院
课程设计
设计题目:面向对象程序设计课程设计
超市管理系统的开发与实现
系别信息工程系班级计专本121
学生姓名郑永凯刘智明李刚赵琦琳
学号2012461127 2012461119 2012461121 2012461129
指导教师史江萍、关颖职称讲师、讲师
起止日期:2012 年12月24日起——至2013年1月4日止
沈阳工程学院
课程设计任务书
课程设计题目:面向对象程序设计课程设计
超市管理系统的开发与实现
系别信息工程系班级计专本121
学生姓名郑永凯刘智明李刚赵琦琳
学号2012461127 2012461119 2012461121 2012461129
指导教师史江萍、关颖职称讲师、讲师
课程设计进行地点:实训F 606
任务下达时间:2012 年12 月20 日
起止日期:2012 年12 月24 日起——至2013年1月 4 日止
教研室主任杨弘平2012年12月19 日批准
1.设计的原始资料及依据
通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧,提高学生用程序的思想来解决实际问题的能力。

2.设计的主要内容及要求
本组设计题目:超市管理系统的开发与实现
需要完成的功能:
⑵数据库的创建、登陆界面
⑶查询子系统
⑷计价子系统
⑸人员管理子系统
⑸商品管理子系统
3.对设计说明书撰写内容、格式、字数的要求
⑴学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。

课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

⑵装订格式
封面、任务书、成绩评审意见表、摘要和关键词、目录、正文、结论、致谢、参考文献。

⑶课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。

文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,三级节标题采用黑体小四号字,表题与图题采用宋体五号字。

4. 设计完成后应提交成果的种类、数量、质量等方面的要求
⑴课程设计任务书
⑵课程设计报告
⑶设计成品(光盘)
5.时间进度安排
6.主要参考资料(文献)
[1] 耿祥义.JA V A2 实用教程.北京:清华大学出版社,2006
[2] 朱仲杰.JA V A2 全方位学习.北京:机械工业出版社,2006
[4] 汤一平.Java 语言程序设计.北京:科学出版社,2006
[5] 刘艺.Java 程序设计大学教程. 北京:机械工业出版社,2006 [7] Sharon Zakhour. Java教程. 北京:人民邮电出版社,2007
沈阳工程学院课程设计成绩评定表(每人一个)系(部):信息工程系班级:计专本121 学生姓名:
沈阳工程学院课程设计报告摘要
摘要
随着小型超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长,传统的人工记忆方式也慢慢的无法适应形势的变化。

随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。

而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。

软件产业已成为社会信息化进程中的一个战略性产业。

在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。

不断开发适应用户需求、市场需要的新型软件产品。

随着社会的发展,软件也在不断的更新换代。

由于有些超市里对商品的进货、售出及商品的基本信息等的一些繁琐处理都是通过手工进行记载并进行处理的,对商品信息的处理工作量特别大,不仅浪费大量的人力物力,而且还很容易出错,更重要的是为了方便顾客,超市需要时时刻刻对商品对各种信息进行统计分析。

一直以来人们使用传统人工的方式管理超市的各项工作, 这种管理方式存在着许多缺点, 如: 效率低、保密性差, 另外时间一长, 将产生大量的冗余文件和数据, 这给查找、统计、更新和维护工作都带来了很大的困难。

然而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。

如果有这样一套完整的小型超市管理系统软件,只需点击几下鼠标就可完成所需操作,那样就会大大的提高超市员工的工作效率和管理水平,并能进一步提高超市的工作效率并使超市实施规范化管理。

鉴于小型超市管理中存在的诸多问题, 我们在此次课程设计中以小型超市管理系统为研究课题,对此系统进行了全面的设计。

小型超市管理系统由销售界面、销售管理、商品管理、权限管理四部分组成。

它的内容对于超市的销售人员和管理者乃至顾客来说都至关重要, 所以小型超市管理系统应该能够为用户提供充足的信息和快捷的查询手段。

一个完整系统的设计,当然就离不开后台环境的支持,在此次设计中,我们主要以Access 数据库作为基础,实行此系统的开发。

关键字小型超市管理,商品销售,Java版小超市管理系统,Access数据库
目录
第1章绪论 (1)
第2章系统功能介绍 (2)
2.1系统功能总框图 (2)
2.2 本系统模块功能介绍 (2)
登录功能介绍 (2)
系统主界面功能介绍 (3)
查询管理功能介绍 (3)
计价管理功能介绍 (4)
删除管理功能介绍 (4)
商品添加管理功能介绍 (5)
计算商品盈利功能介绍 (5)
员工添加管理功能介绍 (6)
2.3 组内任务分工 (6)
第3章系统详细设计 (8)
3.1 数据库表的设计 (8)
3.2登录功能实现 (9)
3.3 主界面功能实现 (11)
3.4 查询界面功能实现 (14)
3.5 计价界面功能实现 (18)
3.6 删除界面功能实现 (22)
3.7 商品添加界面功能实现 (24)
3.8 盈利界面功能实现 (28)
3.9 员工添加界面功能实现 (31)
结论 (36)
致谢 (37)
参考文献 (38)
第1章绪论
随着人们生活水平的不断提高,购物已成为一种时尚。

每天都有大量的消费者在各大商场中留下消费信息,所以作为商场的管理人员就需要有一个自动化、智能化的管理系统来完成这些信息的处理。

由此我们设计开发小超市管理系统。

目前市场上的超市管理系统,大部分为基于分布式数据库的网络管理系统,对于规模较小的超市没有必要花巨资来购买这样功能全面的管理系统,此外,对于那样功能齐全的管理系统也需要花大精力来维护。

基于这种情况,我们用所学的java知识,可以开发一种既能节约资金,又能完成小超市日常的管理任务。

本系统所包括的功能主要有:限于管理员的登录界面;员工的查询功能;商品的计价信息;员工和商品的删除功能;商品添加功能;计算商品盈利功能;员工的添加功能。

在系统的设计中,管理员的管理功能可以管理登录本系统,如:管理员。

员工的查询功能;可以完成员工信息的查询。

如:输入一位员工的编号在查询栏就显示该员工的所有信息。

计价功能;就可以将商品进行计价,在交易过程中进行计算找零。

员工和商品的删除功能;可以完成将数据库中员工信息和商品信息进行删除操作。

如:在删除界面输入商品名称或员工编号,点击删除,该商品信息或员工信息就将在数据库中删除。

商品添加功能;可以完成超市进货后为数据库添加商品信息功能。

如:输入一件商品信息后,点击商品添加,该商品信息会自动添加到数据库中。

计算商品盈利功能;可以完成对商品进行利润计算。

如:输入一件商品信息,进行汇总后就能得到销售利润。

员工的添加功能;可以对员工进行添加管理,按照要求输入员工信息后添加,该员工信息将会保存到数据库当中。

在系统的安全性方面,我们规定了登录用户,管理员可以登录到任何一个管理模块,以及后台的数据库。

这样就可以方便的控制系统的安全性。

总之,小超市管理系统是一个经济、实惠的应用软件,适合小规模的商店和超市。

操作难度小,易学易用。

第2章系统功能介绍
2.1系统功能总框图
小超市管理系统是一个专门针对小型的商店和超市的智能化、自动化的管理系统。

其功能总框图如图2-1所示。

图2-1系统功能总框图
2.2 本系统模块功能介绍
登录功能介绍
登录功能是进入系统必须经过的验证过程,其主要功能是验证使用者的身份,确认使用者的权限,从而在使用软件过程中能安全地控制系统数据。

登录的界面如图2-2所示。

图2-2登录的界面
系统主界面功能介绍
系统主界面是本系统最重要的组成部分,该界面提供了其他子模块的接口。

超市管理系统的主界面如图2-3所示。

图2-3超市管理系统的主界面
2.2.3 查询管理功能介绍
查询管理功能是管理员工信息的界面。

管理人员可以使用此功能管理所有员工的信息。

对于已存在的用户技术管理员可以利用员工编号查询他们的信息,在上面的文本框显示。

查询操作后,单击“重置”后,既可以重新查询信息。

查询管理系统的主界面如图2-4所示。

图2-4查询管理系统2.2.4 计价管理功能介绍
计价管理功能主要功能是实现超市的收银找零。

管理员可以根据输入产品名称、产品数量、产品单价、实收金额的信息来实现收银现金找零功能。

计价管理功能的主界面如图2-5所示。

图2-5计价管理系统2.2.5 删除管理功能介绍
删除管理功能主要功能是实现超市的商品和员工数据的删除功能。

管理员可以根据输入商品名称或员工编号,点击删除来完成数据库信息的删除功能。

删除管理功能的主界面如图2-6所示。

图2-6删除管理系统2.2.6 商品添加管理功能介绍
商品添加管理的功能是管理员在进货时所需要的界面,此界面功能是管理所有商品的添加,做到对商品信息的更新。

商品添加管理功能的主界面如图2-7所示。

图2-7商品添加管理系统
2.2.7 计算商品盈利功能介绍
计算商品盈利功能是管理员在卖出货物后统计利润时所需要的界面,此界面功能是管理所有商品卖出后的收益,做到对商品利润的计算。

计算商品盈利功能的主界面如图2-8所示。

图2-8计算商品盈利
系统
2.2.8 员工添加管理功能介绍
员工添加管理的功能是管理员管理员工的界面,此界面功能是管理添加新来员工信息的位置,做到对员工信息的管理。

员工添加管理功能的主界面如图2-9所示。

图2-9计算商品盈利
系统
2.3 组内任务分工
组内人员分工如表2-1所示。

表2-1 组内分工
组内分工
姓名 主要任务
成绩 组长 郑永数据库的设计、主界面和计
凯 价界面及功能
组员 刘智明 JA V A 课程设计报告、查询界
面和人员添加界面及功能
组员 李刚 商品添加界面和盈利界面及
功能
组员 赵琦琳
删除界面和登陆界面及功能
第3章 系统详细设计
在每个管理系统中都一定有储存机制,若单单以文件形式储存,查找和存储时速度比较缓慢,会降低系统的整体运行速度,一定要运用数据库的进行信息管理,所以我们的“小超市管理系统”运用了Microsoft Access 数据库,存储其后台数据。

下面将介绍本系统的数据库设计。

3.1 数据库表的设计
Person 表,其中存储的员工信息,用于记录员工的相关信息。

此表设计如3-1表所示:
表3-1 Password 信息表
字段名称 数据类型 长 度 备

PersonID 文 本 50 Name 文 本 50 Sex Birth Nat Address DeptID 文 本 文 本 文 本 文 本 文 本 50 50 50 50 50
Goods 表,其中存储的是商品售价的详细信息,作用是记录商品的售价信息及在本超市中的数量。

此表设计如3-2表所示。

表3-2Goods 信息表 字段名称 数据类型 长 度 备 注 Name 文 本 50

count 文 本 50 price 文 本 50
Sno 文 本 50
Sale 表,商品进价信息表。

该表存储的是商品的买进情况,其中包括商品单价、数量等。

此表设计如3-3表所示。

表3-3Sale 商品进价信息表 字段名称 数据类型 长 度 备 注 商品 文 本 50 单价 文 本 50 数量 文 本 50 销售额
文 本 50
3.2登录功能实现
登录界面是使用者在使用此软件时需要输入自已的账号和密码,从而使用自已的权限来管理超市的运行。

登录界面如图3.1所示。


3.1 登录界面
程序代码如下:
imp
class BBB extends JFrame implements ActionListener{
JButton button1,button2;
JTextField text;
JPasswordField pass;
JLabel labelA,labelB;
FlowLayout flow=new FlowLayout();
Connection con;
Statement sql;
ResultSet rs;
String str1,str2,str3;
static String username,secret;
BBB(){
labelA=new JLabel("用户名:");
labelB=new JLabel("密码:");
text=new JTextField(10);
pass=new JPasswordField(10);
button1=new JButton("登录");
button1.addActionListener(this);
button2=new JButton("重置");
button2.addActionListener(this);
add(labelA);
add(text);
add(labelB);
add(pass);
add(button1);
add(button2);
setLayout(flow);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(button1)){
if(text.getText().equals("zhengyongkai")&&pass.getText().equals("123")){ zhujiemian zhu=new zhujiemian();
zhu.setTitle("超市管理系统主界面");
zhu.setBounds(100, 100, 500, 400);
zhu.setVisible(true);
this.dispose();
}
else{
JOptionPane.showMessageDialog(this, "用户名或密码错误", "提示", JOptionPane.WARNING_MESSAGE);
}
}
if(e.getSource().equals(button2)){
text.setText(null);
pass.setText(null);
}
}
}
public class system{
public static void main(String args[]){
BBB bbb=new BBB();
bbb.setTitle("超市管理系统");
bbb.setBounds(100, 100, 200, 200);
bbb.setVisible(true);
}
}
3.3 主界面功能实现
主界面是管理员利用登陆界面看到的第一个界面,此界面有员工的查询功能;商品的计价信息;员工和商品的删除功能;商品添加功能;计算商品盈利功能;员工的添加功能。

依次在主界面中显示,让管理员清晰明了。

主界面如图3.2所示。

图3.2主界面
程序代码如下:
public class zhujiemian extends JFrame implements ActionListener{
JButton button1,button2,button3,button4,button5,button6;
JPanel panel;
zhujiemian(){
panel=new JPanel();
button1=new JButton("查询");
button1.addActionListener(this);
button2=new JButton("计价");
button2.addActionListener(this);
button3=new JButton("删除");
button3.addActionListener(this);
button4=new JButton("商品添加");
button4.addActionListener(this);
button6=new JButton("员工添加");
button6.addActionListener(this);
button5=new JButton("盈利");
button5.addActionListener(this);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(button5);
panel.add(button6);
add(panel);
}
@Override
public void actionPerformed(ActionEvent e) { if(e.getSource().equals(button1)){
AAA aaa=new AAA();
aaa.setTitle("查询");
aaa.setBounds(100, 100, 220, 300);
aaa.setVisible(true);
aaa.setResizable(false);
}
else if(e.getSource().equals(button3)){
delete de=new delete();
de.setTitle("删除");
de.setBounds(100, 100, 220, 300);
de.setVisible(true);
de.setResizable(false);
}
else if(e.getSource().equals(button4)){
tian1 jia=new tian1();
jia.setTitle("添加");
jia.setBounds(100, 100, 400, 300);
jia.setVisible(true);
jia.setResizable(false);
}
else if(e.getSource().equals(button6)){
tian2 jia=new tian2();
jia.setTitle("添加");
jia.setBounds(100, 100, 400, 300);
jia.setVisible(true);
jia.setResizable(false);
}
else if(e.getSource().equals(button2)){
sal s=new sal();
s.setTitle("计价");
s.setBounds(100, 100, 220, 300);
s.setVisible(true);
s.setResizable(false);
}
else if(e.getSource().equals(button5)){
money m=new money();
m.setTitle("盈利");
m.setBounds(100, 100, 400, 300);
m.setVisible(true);
m.setResizable(false);
}
}
}
3.4 查询界面功能实现
查询界面是实现查询人员信息的界面,其中包括人员编号、人员姓名、性别、出生年月、民族、地址、其它。

管理员输入人员编号点击查询,其它信息便可以显示出来。

点击重置按钮,就可以继续进行查询工作了。

主界面如图3.3所示。

图3.2查询界面程序代码如下:
impor
class AAA extends JFrame implements ActionListener{
JLabel labelA,labelB,labelC,labelD,labelE,labelF,labelG;
JTextField txt1,txt2,txt3,txt4,txt5,txt6,txt7;
JButton button1,button2;
FlowLayout flow=new FlowLayout();
Connection con;
Statement sql;
ResultSet rs;
String s1,s2,s3,s4,s5,s6,s7;
AAA(){
labelA=new JLabel("人员编号");
labelB=new JLabel("人员姓名");
labelC=new JLabel("性别");
labelD=new JLabel("出生年月");
labelE=new JLabel("民族");
labelF=new JLabel("地址");
labelG=new JLabel("其它");
txt1=new JTextField(10);
txt2=new JTextField(10);
txt3=new JTextField(10);
txt4=new JTextField(10);
现txt5=new JTextField(10);
txt6=new JTextField(10);
txt7=new JTextField(10);
button1=new JButton("查询");
button1.addActionListener(this);
button2=new JButton("重置");
button2.addActionListener(this);
add(labelA);
add(txt1);
add(labelB);
add(txt2);
add(labelC);
add(txt3);
add(labelD);
add(txt4);
add(labelE);
add(txt5);
add(labelF);
add(txt6);
add(labelG);
add(txt7);
add(button1);
add(button2);
setLayout(flow);
}
void ss(String s){
if (s.equals("")) {
JOptionPane.showMessageDialog(this, "请输入员工编号!", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
try {
}
catch (ClassNotFoundException e) {}
try {
con=DriverManager.getConnection("jdbc:odbc:market","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM Person WHERE PersonID='"+s+"'" );
//sql.executeUpdate("DELETE FROM Goods WHERE Name='"+s1+"'");
while(rs.next()){
s1=rs.getString(1);
s2=rs.getString(2);
s3=rs.getString(3);
s4=rs.getString(4);
s5=rs.getString(5);
s6=rs.getString(6);
s7=rs.getString(7);
}
con.close();
}
catch (SQLException e) {}
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(button1)){
ss(txt1.getText());
txt1.setText(s1);
txt2.setText(s2);
txt3.setText(s3);
txt4.setText(s4);
txt5.setText(s5);
txt6.setText(s6);
txt7.setText(s7);
}
if(e.getSource().equals(button2)){
txt1.setText(null);
txt2.setText(null);
txt3.setText(null);
txt4.setText(null);
txt5.setText(null);
txt6.setText(null);
txt7.setText(null);
}
}
}
public class chaxun{
public static void main(String args[]){
AAA aaa=new AAA();
aaa.setTitle("查询");
aaa.setBounds(100, 100, 400, 300);
aaa.setVisible(true);
}
}
3.5 计价界面功能实现
计价界面是管理员实现收银找零的功能。

其中包括商品名称、商品数量、商品单价、实收现金和现金找零。

通过输入商品名称、数量、单价和实收信息点击找零按钮来得出现金找零的功能。

计价界面如图3.4所示。

图3.4计价界面
程序代码如下:
class sal extends JFrame implements ActionListener { FlowLayout flow=new FlowLayout();
String s1,s2,s3,sA,sB,sC,sD,sE;
double d1,d2,d3,d4;
JLabel labelA,labelB,labelC,labelD,labelE;
JTextField txt1,txt2,txt3,txt4,txt5;
JButton button1,button2;
Connection con;
Statement sql;
ResultSet rs;
sal(){
labelA=new JLabel("商品名称");
labelB=new JLabel("商品数量");
labelC=new JLabel("商品单价");
labelD=new JLabel("实收现金");
labelE=new JLabel("现金找零");
txt1=new JTextField(10);
txt2=new JTextField(10);
txt3=new JTextField(10);
txt4=new JTextField(10);
txt5=new JTextField(10);
txt5.setEditable(false);
button1=new JButton("找零");
button1.addActionListener(this);
button2=new JButton("清空");
button2.addActionListener(this);
add(labelA);
add(txt1);
add(labelB);
add(txt2);
add(labelC);
add(txt3);
add(labelD);
add(txt4);
add(labelE);
add(txt5);
add(button1);
add(button2);
setLayout(flow);
}
void ss(String s){
try {
}
catch (ClassNotFoundException e) {}
try {
con=DriverManager.getConnection("jdbc:odbc:market","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM Goods WHERE Name='"+s+"'" );
//sql.executeUpdate("DELETE FROM Goods WHERE Name='"+s1+"'");
while(rs.next()){
sA=rs.getString(1);
sB=rs.getString(2);
sC=rs.getString(3);
sD=rs.getString(4);
sE=rs.getString(5);
}
con.close();
}
catch (SQLException e) {}
}
@Override
public void actionPerformed(ActionEvent e) { if(e.getSource().equals(button1)){
ss(txt1.getText());
s1=txt2.getText();
s2=sC;
s3=txt4.getText();
d1=Double.parseDouble(s1);
d2=Double.parseDouble(s2);
d3=Double.parseDouble(s3);
d4=d3-d1*d2;
txt5.setText(""+d4);
txt3.setText(sC);
}
if(e.getSource().equals(button2)){
txt1.setText(null);
txt2.setText(null);
txt3.setText(null);
txt4.setText(null);
txt5.setText(null);
}
}
}
public class sale{
public static void main(String args[]){
sal s=new sal();
s.setTitle("");
s.setBounds(100, 100, 400, 300);
s.setVisible(true);
}
}
3.6 删除界面功能实现
删除界面是管理员对数据库信息进行的删除操作。

其中包括商品名称、员工编号。

通过输入商品名称或员工编号点击删除按钮就可以删除数据库中的信息。

删除界面如图3.5所示。

图3.5删除界面
程序代码如下:
public class delete extends JFrame implements ActionListener{
Connection con;
Statement sql;
ResultSet rs;
FlowLayout flow=new FlowLayout();
JLabel labelA,labelB;
JTextField txt1,txt2;
String s1,s2;
JButton button;
JPanel panelA;
public delete() {
labelA=new JLabel("商品名称");
labelB=new JLabel("员工编号");
txt1=new JTextField(10);
txt2=new JTextField(10);
button=new JButton("删除");
button.addActionListener(this);
panelA=new JPanel();
panelA.add(labelA);
panelA.add(txt1);
panelA.add(labelB);
panelA.add(txt2);
panelA.add(button);
panelA.setLayout(flow);
add(panelA);
}
void A(){
try {
}
catch (ClassNotFoundException e) {}
try {
con=DriverManager.getConnection("jdbc:odbc:market","","");
sql=con.createStatement();
sql.executeUpdate("DELETE FROM Person WHERE PersonID='"+s2+"'");
sql.executeUpdate("DELETE FROM Goods WHERE Name='"+s1+"'");
con.close();
}
catch (SQLException e) {}
}
@Override
public void actionPerformed(ActionEvent e) {
s1=txt1.getText();
s2=txt2.getText();
A();
txt1.setText(null);
txt2.setText(null);
}
}
3.7 商品添加界面功能实现
商品添加界面实现对刚进货的录入功能,包括商品名称、商品数量、商品单价、商品编号。

当输入好信息后点击商品添加,数据库就可以记录下商品信息了。

删除界面如图3.6所示。

图3.6商品添加界面
程序代码如下:
class tian1 extends JFrame implements ActionListener{
FlowLayout flow=new FlowLayout();
JLabel labelA,labelB,labelC,labelD;
JTextField txt1,txt2,txt3,txt4;
JButton button1,button2;
JPanel panelA;
String s1,s2,s3,s4;
Connection con;
Statement sql;
ResultSet rs;
tian1() {
labelA=new JLabel("商品名称");
labelB=new JLabel("商品数量");
labelC=new JLabel("商品单价");
labelD=new JLabel("商品编号");
txt1=new JTextField(10);
现txt2=new JTextField(10);
txt3=new JTextField(10);
txt4=new JTextField(10);
button1=new JButton("商品添加");
button1.addActionListener(this);
button2=new JButton("商品清空");
button2.addActionListener(this);
panelA=new JPanel();
panelA.add(labelA);
panelA.add(txt1);
panelA.add(labelB);
panelA.add(txt2);
panelA.add(labelC);
panelA.add(txt3);
panelA.add(labelD);
panelA.add(txt4);
panelA.add(button1);
panelA.add(button2);
add(panelA);
}
void A(){
s1=txt1.getText();
s2=txt2.getText();
s3=txt3.getText();
s4=txt4.getText();
if (s1.equals("") || s2.equals("") || s3.equals("") || s4.equals("")) {
JOptionPane.showMessageDialog(this, "请填写完整!", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
try {
}
catch (ClassNotFoundException e) {}
try {
con=DriverManager.getConnection("jdbc:odbc:market","","");
sql=con.createStatement();
sql.executeUpdate("INSERT INTO Goods V ALUES('"+s1+"','"+s2+"','"+s3+"','"+s4+"')");
con.close();
JOptionPane.showMessageDialog(this, "添加成功", "恭喜", JOptionPane.WARNING_MESSAGE);
}
catch (SQLException e) {
}
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
A();
}else if (e.getSource() ==button2) {
txt1.setText("");
txt2.setText("");
txt3.setText("");
txt4.setText("");
}
}
}
public class goods{
public static void main(String args[]){
tian1 t=new tian1();
t.setTitle("增加商品信息");
t.setBounds(100, 100, 400, 300);
t.setVisible(true);
//t.setLayout(new BorderLayout().CENTER);
}
}
3.8 盈利界面功能实现
盈利界面实现销售利润的计算。

其中包括商品名称、商品数量、商品单价、商品进价、销售总额、销售利润。

通过输入商品名称、数量、单价、进价、销售总额可以计算出销售利润。

方便超市管理员统计利润。

盈利界面如图3.7所示。

图3.7盈利界面程序代码如下:
public class money extends JFrame implements ActionListener {
沈阳工程学院课程设计报告第3章系统功能实
现FlowLayout flow=new FlowLayout();
JLabel labelA,labelB,labelC,labelD,labelE,labelF; JTextField txt1,txt2,txt3,txt4,txt5,txt6;
JButton button;
String s1,s2,s3,s4,s5,sA,sB,sC,sD,sE,sF,sG,sH,sI; double t1,t2,t3,t4,t5;
Connection con;
Statement sql;
ResultSet rs1,rs2;
public money() {
labelA=new JLabel("商品名称");
labelB=new JLabel("商品数量");
labelC=new JLabel("商品单价");
labelD=new JLabel("商品进价");
labelE=new JLabel("销售总额");
labelF=new JLabel("销售利润");
txt1=new JTextField(10);
txt2=new JTextField(10);
txt3=new JTextField(10);
txt4=new JTextField(10);
txt5=new JTextField(10);
txt6=new JTextField(10);
button=new JButton("汇总");
button.addActionListener(this);
add(labelA);
add(txt1);
add(labelB);
add(txt2);
add(labelC);
add(txt3);
add(labelD);
add(txt4);
add(labelE);
add(txt5);
add(labelF);
add(txt6);
add(button);
setLayout(flow);
沈阳工程学院课程设计报告第3章系统功能实
现}
void ss(String s){
try {
}
catch (ClassNotFoundException e) {}
try {
con=DriverManager.getConnection("jdbc:odbc:mark et","","");
sql=con.createStatement();
rs1=sql.executeQuery("SELECT * FROM Goods WHERE Name='"+s+"'" );
//sql.executeUpdate("DELETE FROM Goods WHERE Name='"+s1+"'");
while(rs1.next()){
sA=rs1.getString(1);
sB=rs1.getString(2);
sC=rs1.getString(3);
sD=rs1.getString(4);
}
rs2=sql.executeQuery("SELECT * FROM sale WHERE 商品='"+s+"'" );
while(rs2.next()){
sF=rs2.getString(1);
sG=rs2.getString(2);
sH=rs2.getString(3);
sI=rs2.getString(4);
}
con.close();
}
catch (SQLException e) {}
}
public void actionPerformed(ActionEvent e) {
ss(txt1.getText());
s1=txt2.getText();
s2=sC;
沈阳工程学院课程设计报告第3章系统功能实
现s3=sG;
t1=Double.parseDouble(s1);
t2=Double.parseDouble(s2);
t3=Double.parseDouble(s3);
t4=t1*t2;
t5=t1*(t2-t3);
//txt2.setText(sB);
txt3.setText(sC);
txt4.setText(sG);
txt5.setText(""+t4);
txt6.setText(""+t5);
}
}
3.9 员工添加界面功能实现
员工添加界面实现对员工的管理,包括员工编号、员工姓名、性别、出生年月、民族、地址、工作部门、薪水、考核、其它。

如有新来员工就可以在这录入并添加到数据库中。

员工添加界面如图3.8所示。

图3.8员工添加界面
程序代码如下:
沈阳工程学院课程设计报告第3章系统功能实

class tian2 extends JFrame implements ActionListener{
FlowLayout flow=new FlowLayout();
JLabel labelE,labelF,labelG,labelH,labelI,labelJ, labelK,labelL,labelM,labelN;
JTextField
txt5,txt6,txt7,txt8,txt9,txt10,txt11,txt12,txt13,txt14; JButton button3,button4;
JPanel panelB;
Connection con;
Statement sql;
ResultSet rs;
String s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;
tian2() {
labelE=new JLabel("员工编号");
labelF=new JLabel("员工姓名");
labelG=new JLabel("性别");
labelH=new JLabel("出生日期");
labelI=new JLabel("民族");
labelJ=new JLabel("地址");
labelK=new JLabel("工作部门");
沈阳工程学院课程设计报告第3章系统功能实
现labelL=new JLabel("薪水");
labelM=new JLabel("考核");
labelN=new JLabel("其它");
txt5=new JTextField(10);
txt6=new JTextField(10);
txt7=new JTextField(10);
txt8=new JTextField(10);
txt9=new JTextField(10);
txt10=new JTextField(10);
txt11=new JTextField(10);
txt12=new JTextField(10);
txt13=new JTextField(10);
txt14=new JTextField(10);
button3=new JButton("员工添加");
button3.addActionListener(this);
button4=new JButton("员工清空");
button4.addActionListener(this);
panelB=new JPanel();
panelB.add(labelE);
panelB.add(txt5);
panelB.add(labelF);
panelB.add(txt6);
panelB.add(labelG);
panelB.add(txt7);
panelB.add(labelH);
panelB.add(txt8);
panelB.add(labelI);
panelB.add(txt9);
panelB.add(labelJ);
panelB.add(txt10);
panelB.add(labelK);
panelB.add(txt11);
panelB.add(labelL);
panelB.add(txt12);
panelB.add(labelM);
panelB.add(txt13);
panelB.add(labelN);
panelB.add(txt14);
panelB.add(button3);
沈阳工程学院课程设计报告第3章系统功能实
现panelB.add(button4);
add(panelB);
}
void A(){
s1=txt5.getText();
s2=txt6.getText();
s3=txt7.getText();
s4=txt8.getText();
s5=txt9.getText();
s6=txt10.getText();
s7=txt11.getText();
s8=txt12.getText();
s9=txt13.getText();
s10=txt14.getText();
if (s1.equals("")) {
JOptionPane.showMessageDialog(this, "请输入员工编号!", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
try {
}
catch (ClassNotFoundException e) {}
try {
con=DriverManager.getConnection("jdbc:odbc:mark et","","");
sql=con.createStatement();
sql.execute("INSERT INTO Person V ALUES('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"', '"+s6+"','"+s7+"','"+s8+"','"+s9+"','"+s10+"')");
JOptionPane.showMessageDialog(this, "添加成功", "恭喜", JOptionPane.WARNING_MESSAGE);
con.close();
}
catch (SQLException e) {
沈阳工程学院课程设计报告第3章系统功能实
现}
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() ==button3) {
A();
} else if (e.getSource() == button4) {
txt5.setText("");
txt6.setText("");
txt7.setText("");
txt8.setText("");
txt9.setText("");
txt10.setText("");
txt11.setText("");
txt12.setText("");
txt13.setText("");
txt14.setText("");
}{
}
}
}
public class tianjia{
public static void main(String args[]){
tian2 t=new tian2();
t.setTitle("增加人员信息");
t.setBounds(100, 100, 400, 300);
t.setVisible(true);
}
}
沈阳工程学院课程设计报告结论
结论
经过了两个星期的努力,在老师的大力支持和帮助下,我小组在规定时间内完成了此次课程设计的任务“超市管理系统”。

通过此次课程设计,使我们摆脱了单纯理论知识的学习状态,和实际的结合锻炼了我们解决实际设计中遇到问题的能力,也更加深了我们对所学的基础知识的掌握,深深地体会到了课程设计对理论知识促进与提高和对实践的具体应用。

选择设计题目很关键,小组人员共同研究讨论,最终确定了超市管理系统。

之后在收集资料过程中,我们上网下载,并去了几家超市进行实地的考察,对超市的管理进行了需求分析,资料众多而且复杂,但我们克服了。

从最开始的不适应到将程序顺利的完成,是需要我们付出努力的,同时要有百折不挠的精神。

这期间让我们懂得了许多在课堂上学不懂,学不透的知识,同时让我们感受到知识的重要性。

开始时我们处于对很多相关知识不是很熟悉甚至不知道的状态,我们便开始研究和查看大量的相关资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己的作品一步步完善起来,每一次改进都是我们学习的收获。

从中我们也充分认识到了面向对象Java程序设计给我们的学习带来了很大的帮助,也让我们学到了很多团结合作的经验,也锻炼了我们的整体思维的能力。

有的时候把自己的新想法与他人分享,大家往往会提出置疑,但也就是在这种争论中才使我们的想法不断的提高、成熟。

通过对整体的设计,对局部的取舍,以及对细节的斟酌处理,都使我们的能力得到了锻炼,经验得到了丰富,并且意志品质力、抗压能力以及耐力也都得到了不同程度的提升,我想这就是我们课程设计要达到的目的。

经过长时间的艰辛努力最终换来了丰硕的成果,虽然有些不完善的地方,但毕竟是我们小组成员花费大量的时间设计出来的,也感到有一丝的欣慰。

可以肯定地说现在的我们对程序设计这一块也有了一定的了解,但我们深知我们所了解的不过仅仅是皮毛而已,离真正的运用自如还相距甚远。

学无止境,学习生活无穷尽,只有掌握更多的、更新的知识才能使自己始终立于不败之地。

如果只为现在所取得的成绩而沉浸于喜悦、骄傲之中的话,那么,我们就不会前进,只能停留在原来的地方踏步,甚至还会倒退。

所以从毕业设计所暴露出的问题入手,不断努力完善自己,哪里欠缺,哪里补足。

相关文档
最新文档