课程设计人事管理系统简单计算器设计.docx
- 文档编号:9884380
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:18
- 大小:211.64KB
课程设计人事管理系统简单计算器设计.docx
《课程设计人事管理系统简单计算器设计.docx》由会员分享,可在线阅读,更多相关《课程设计人事管理系统简单计算器设计.docx(18页珍藏版)》请在冰点文库上搜索。
课程设计人事管理系统简单计算器设计
山东建筑大学计算机科学与技术学院
课程设计任务书一
设计题目
人事管理系统
已知技术参数和设计要求
该系统主要处理商场中的人事信息。
人事信息主要包括:
员工编号、所在部门、职务、薪资等级、薪资、联系方式等内容。
部门信息主要包括:
部门编号、部门名称等内容。
完成以下的操作:
实现员工信息、部门信息的添加、修改、删除和查询。
设计内容与步骤
1、建立员工类、职务类、部门类
2、员工、职务、部门信息的初始化
3、员工信息的添加、修改、删除、查找
4、部门、职务信息的添加、修改、删除、查找
5、员工信息、部门信息的输出
6、程序设计、实现、调试
7、完成课程设计说明书
设计工作计划与进度安排
1、设计工作4学时
2、实现与调试12学时
3、课程设计说明书4学时
设计考核要求
1、考勤20%
2、课程设计说明书50%。
3、答辩30%
指导教师(签字):
教研室主任(签字)
山东建筑大学计算机科学与技术学院
课程设计任务书二
设计题目
简单计算器
已知技术参数和设计要求
可以用来解决一些简单的数学运算,包括:
A、加法运算
B、减法运算
C、乘法运算
D、除法运算
E、取余%运算
F、求平方根sqrt运算
设计内容与步骤
1、建立计算机类,包含6个方法,分别用来对应6种运算
2、采用图形界面,可以采用2个输入框作为输入操作数的控件
3、显示结果可以用标签控件或输入框
4、程序设计、实现、调试
5、完成课程设计说明书
设计工作计划与进度安排
1、设计工作4学时
2、实现与调试12学时
3、课程设计说明书4学时
设计考核要求
1、考勤20%
2、课程设计说明书50%
3、答辩30%
指导教师(签字):
教研室主任(签字):
题目一人事管理系统
一、问题描述
运用java与数据库技术来实现一个简单的学生成绩管理系统。
实现成绩信息的添加、修改、删除和查询。
二、基本要求
该系统主要处理商场中的人事信息。
人事信息主要包括:
员工编号、所在部门、职务、薪资等级、薪资、联系方式等内容。
部门信息主要包括:
部门编号、部门名称等内容。
完成以下的操作:
实现员工信息、部门信息的添加、修改、删除和查询。
3、类定义
a类名:
Department
作用:
输出部门编号,部门名称。
b类名:
addDepartment
作用:
添加部门信息界面
C类名:
addManage
作用:
添加员工信息界面
D类名:
Staff
作用:
输出员工信息
F类名:
ModStaff
作用:
添加,修改,删除员工信息
四、主要成员函数描述
1.addDepartment类:
JFramemainFrame;定义顶层布局JFrame
JPaneljPanel1,jPanel2;定义2个JPanel面板
JPanel1用于存放JLabel标签stflb
JPanel2用于存放其他添加信息的组件
JLabelstflb,dptlb;定义2个标签
JTextFieldstftf,dpttf;定义2个输入框用于添加信息
JButtonaddstbt,addptbt,skstbt,skptbt,bwstbt,bwptbt;
定义6个按钮,用于输入
JTextAreadisplay;定义1个大的输入框
2.Department类:
StringdptNum;定义部门编号
StringdptName;定义部门名称
3.ManageClass类:
JFrameaddptFrame;定义JFrame布局当顶层空间
JPaneljPanel1,jPanel2,jPanel3;
定义3个JPanel面板存放标签和按钮
JButtonaddInfobt,chgeInfobt,delInfobt;
定义3个按钮用于确定增加员工信息
JLabeldptNumlb,dptNamelb,stdInfolb,
stdchglb;定义4个按钮描述输入信息要求
JTextFielddptNumtf,dptNametf;
定义2个输入框用于添加信息
4.Staff类:
StringstfNum;StringstfName;
Stringdpt;Stringpost;
Stringslylevel;Stringsalary;
Stringphone;定义变量
5.ModStaff类:
JFrameaddFrame;定义JFrame布局当顶层空间
JPaneljPanel1,jPanel2,jPanel3;
定义3个JPanel面板存放标签和按钮
JButtonaddInfobt,chgeInfobt,delInfobt;
定义3个按钮用于确定增加员工信息
JLabelstdNamelb,stdNumlb,dptlb,postlb,slylellb,salarylb,phonelb,stdInfolb,stdchglb;定义9个按钮描述输入信息要求
JTextFieldstdNametf,stdNumtf,dpttf,posttf,slyleltf,salarytf,phonetf;定义7个输入框用于添加信息
staticintAddOrNo=0;用于判断输入是否正确
staticStringsearch;
String[]s={"2500?
?
","2500~3500","3500~4500","4500~5500","5500?
?
"};用于判断语句
五、测试数据及情况
1.程序界面
测试情况
题目二简单计算器
一、问题描述
运用Java语言编写简易计算器,能够实现简单的计算功能
二、基本要求
可以用来解决一些简单的数学运算,包括:
(1)加法运算
(2)减法运算
(3)乘法运算
(4)除法运算
(5)取余%运算
(6)求平方根sqrt运算
三、类定义
类名:
Calculator
作用:
功能代码,窗口布局设定
四、主要成员函数描述
A)设置2个JPanel布局pn11,pn12。
(pn11用于放置JTextField,pn12用于放置20个按钮)
B)设置1个文本框JTextFieldtextfield。
用于计算器显示数字
C)设置20个按钮JButtonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bp,bd;
badd,bsub,bmul,bdiv,bsqrt,bquyu,beql,bclear;
(b0代表按钮“0”;b1代表按钮“1”;
b2代表按钮“2”;b3代表按钮“3”;
b4代表按钮“4”;b5代表按钮“5”;
b6代表按钮“6”;b7代表按钮“7”;
b8代表按钮“8”;b9代表按钮“9”;
bp代表按钮“BK”;bd代表按钮“.”;
badd代表按钮“+”;bsub代表按钮“-”;
bmul代表按钮“×”;bdiv代表按钮“÷”;
bsqrt代表按钮“√”;bquyu代表按钮“%”;
beql代表按钮“=”;bclear代表按钮“EC”;)
D)方法Display(inti)显示按钮输入;
五、测试数据及情况
1、程序界面
2测试情况
(a)测试一
86%5=1
按按钮%(取余)并按按钮“5”,最后按按钮“=”
(b)测试二
8888按3次BK按钮
按3次BK按钮
6、相关代码
publicclassDepartmentFaceimplementsActionListener{
JFrameaddptFrame;
JPaneljPanel1,jPanel2,jPanel3;
JButtonaddInfobt,chgeInfobt,delInfobt;
JLabeldptNumlb,dptNamelb,stdInfolb,
stdchglb;
JTextFielddptNumtf,dptNametf;
staticintAddOrNo=0;
staticStringsearch;
publicDepartmentFace(){
//TODOAuto-generatedconstructorstub
addptFrame=newJFrame("添加信息");
addptFrame.setVisible(true);
addptFrame.setBounds(500,150,350,250);
addptFrame.setLayout(newBorderLayout(0,25));
addptFrame.setResizable(false);
Fontfont=newFont("黑体",Font.PLAIN,24);
Fontfont2=newFont("黑体",Font.PLAIN,16);
stdInfolb=newJLabel("请输入部门信息",JLabel.CENTER);
stdInfolb.setFont(font);
stdchglb=newJLabel("请修改或删除部门信息",JLabel.CENTER);
stdchglb.setFont(font);
dptNumlb=newJLabel("部门编号:
",JLabel.CENTER);
dptNumlb.setFont(font2);
dptNamelb=newJLabel("部门名称:
",JLabel.CENTER);
dptNamelb.setFont(font2);
addInfobt=newJButton("添加");
addInfobt.setPreferredSize(newDimension(80,40));
addInfobt.setFont(font2);
addInfobt.addActionListener(this);
chgeInfobt=newJButton("修改");
chgeInfobt.setPreferredSize(newDimension(80,40));
chgeInfobt.setFont(font2);
chgeInfobt.addActionListener(this);
delInfobt=newJButton("删除");
delInfobt.setPreferredSize(newDimension(80,40));
delInfobt.setFont(font2);
delInfobt.addActionListener(this);
dptNumtf=newJTextField(10);
dptNumtf.setFont(font2);
dptNametf=newJTextField(15);
dptNametf.setFont(font2);
jPanel1=newJPanel();
jPanel2=newJPanel();
jPanel2.setLayout(newGridLayout(2,2,0,16));
jPanel3=newJPanel();
addptFrame.add(jPanel1,BorderLayout.NORTH);
addptFrame.add(jPanel2,BorderLayout.CENTER);
addptFrame.add(jPanel3,BorderLayout.SOUTH);
if(AddOrNo==0){
jPanel1.add(stdInfolb);
jPanel3.add(addInfobt);
}else{
jPanel1.add(stdchglb);
schdptInfo();
jPanel3.add(chgeInfobt);
jPanel3.add(delInfobt);
}
jPanel2.add(dptNamelb);
jPanel2.add(dptNametf);
jPanel2.add(dptNumlb);
jPanel2.add(dptNumtf);
}
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
if(e.getSource()==addInfobt){
addInfo();
}
if(e.getSource()==chgeInfobt){
updateInfo();
}
if(e.getSource()==delInfobt){
deleteInfo();
}
}
//添加部门信息方法
voidaddInfo(){
try{
Statementstat=ManageClass.con.createStatement();
ResultSetset=stat
.executeQuery("select*fromdepartmentwhereidpt='"
+dptNumtf.getText()+"'");
if(set.next()){
JOptionPane.showMessageDialog(addptFrame,"这个部门已存在,不能重复录入!
");
}else{
PreparedStatementaddStmt=ManageClass.con
.prepareStatement("insertintodepartment(idpt,dptName)values(?
?
)");
addStmt.setString(1,dptNumtf.getText());
addStmt.setString(2,dptNametf.getText());
addStmt.execute();
intjudge=JOptionPane.showConfirmDialog(addptFrame,
"添加信息成功,是否还要继续添加?
");
if(judge==0){
dptNametf.setText("");
dptNumtf.setText("");
}elseif(judge==1)
addptFrame.dispose();
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//查询
voidschdptInfo(){
try{
Connectioncon=DriverManager.getConnection(ManageClass.strUrl,
"root","2302320520");
Statementstat=con.createStatement();
ResultSetset=stat
.executeQuery("select*fromdepartmentwhereidpt='"
+search+"'");
if(set.next()){
dptNumtf.setText(set.getString("idpt"));
dptNametf.setText(set.getString("dptName"));
}else{
addptFrame.setVisible(false);
JOptionPane.showMessageDialog(addptFrame,"没有这个部门,请重新输入部门编号!
");
addptFrame.dispose();
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//修改信息方法
voidupdateInfo(){
PreparedStatementaddStmt;
try{
addStmt=ManageClass.con
.prepareStatement("updatedepartmentsetdptName='"
+dptNametf.getText()+"'whereidpt='"
+dptNumtf.getText()+"'");
addStmt.execute();
intjudge=JOptionPane.showConfirmDialog(addptFrame,"修改成功,是否还要继续修改。
");
if(judge==1){
addptFrame.dispose();
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//删除部门信息方法
voiddeleteInfo(){
PreparedStatementaddStmt;
try{
intjudge=JOptionPane.showConfirmDialog(addptFrame,"是否要删除这个部门!
");
if(judge==0){
addStmt=ManageClass.con
.prepareStatement("deletefromdepartmentwhereidpt='"
+dptNumtf.getText()+"'");
addStmt.execute();
addptFrame.dispose();
JOptionPane.showMessageDialog(addptFrame,"删除成功!
");
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
结论
在修改操作时没有找到好方法,最后想到了创建新的界面进行操作,在新界面里先把相应的信息查找出来,再针对性的修改,最后成功。
本次程序设计用到的主要技术有:
图形界面,数据库等。
通过这次编写程序,我对java有了更加深刻的理解,写代码不但要正确,还得书写规范,否则程序有误的话,检查起来就会很麻烦。
本次程序设计主要遇到的问题是数据库中数据的查询,以及数据之间的适配等,将两个链表用一列相联系在一起。
参考文献
[1]刘宝林.Java程序设计与案例.高等教育出版社,2004
[2]RFC2616-HypertextTransferProtocol--HTTP/1.1
[3]RFC1866-HypertextMarkupLanguage-2.0
[4]RFC2854-The'text/html'MediaType
[5]《Java实例入门》刘勇,中国青年出版社,2002-01-01
[6]《Java程序设计与案例》刘宝林;高等教育出版社
[7]JavaTCP/IPSocket编程(原书第2版)机械工业,(美)卡尔弗特,周恒民译
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 人事管理系统 简单 计算器 设计