职工信息管理系统java源代码

合集下载

Java实现员工信息管理系统

Java实现员工信息管理系统

Java实现员⼯信息管理系统在Java SE中,对IO流与集合的操作在应⽤中⽐较重要。

接下来,我以⼀个⼩型项⽬的形式,演⽰IO流、集合等知识点在实践中的运⽤。

该项⽬名称为“员⼯信息管理系统”(或“员⼯收录系统”),主要是通过输⼊员⼯的id、姓名信息,实现简单的增删改查功能。

该项⽬主要在DOS窗⼝的控制台或者Eclipse的控制台上进⾏操作。

操作界⾯如下:该项⽬的⽂件结构如下:Step 1:⼊⼝类SystemMain的代码为:package empsystem;import java.util.Scanner;/*** 主界⾯* ⼀个Scanner录⼊对象* Employ类* ⽂件路径* 查重SearchID* @author 李章勇**/public class SystemMain {private Scanner sc=new Scanner(System.in);public SystemMain() {showWelcome();}public void showWelcome(){System.out.println("----员⼯收录系统");System.out.println("1.增加员⼯功能");System.out.println("2.查看员⼯功能");System.out.println("3.修改员⼯功能");System.out.println("4.删除员⼯功能");System.out.println("5.退出系统");String choice=sc.nextLine();switch(choice){case "1":System.out.println("您选择了增加⽤户功能");//Addnew Add();break;case "2":System.out.println("您选择了查看⽤户功能");//Searchnew ShowEmp();break;case "3":System.out.println("您选择了修改⽤户功能");//Modifynew Modify();break;case "4":System.out.println("您选择了删除⽤户功能");//删除⽤户Deletenew Delete();break;case "5":System.out.println("您选择了退出系统");return;default:System.out.println("⽆此功能");break;}}}Step 2:写⽂件路径FilePath接⼝。

简单的JAVA员工信息管理系统源码

简单的JAVA员工信息管理系统源码

// 项目目标:建立员工管理系统第一个版本。

// 实现图形用户界面的员工信息查询、增、删、改;与数据库建立,并将修改结果时时保存到数据库。

// 模块:1.GUI界面 2.数据库连接 3.查询 4.增、5删 6改(操作数据库)import javax.swing.*;public class EmpManageSys implements ActionListener {Connection con;Statement stmt;String sql;ResultSet rs;StringBuffer sb = new StringBuffer();JTextField jtf2 = new JTextField("张飞",10);JTextField jtf3 = new JTextField(10);JTextField jtf4 = new JTextField(10);JTextField jtf7 = new JTextField(10);JTextField jtf5 = new JTextField(10);JTextField jtf6 = new JTextField(10);JTextField jtf8 = new JTextField(10);JTextField jtf9 = new JTextField(10);JTextArea jta10 = new JTextArea(50, 40);public void actionPerformed(ActionEvent e) {String str = e.getActionCommand();if ("查询".equals(str)) {//if check the button of 查询,then go to method of searchEmp() searchEmp();} else if ("增加".equals(str)) {//if check the button of 增加,then go to method of addEmp() addEmp();} else if ("修改".equals(str)) {//if check the button of 修改,then go to method of alterEmp() alterEmp();} else if ("撤除".equals(str)) {//if check the button of 撤除,then go to method of deleteEmp() deleteEmp();}}//this is the constructor.EmpManageSys() {createGUI();connectToDataBase();// searchEmp();// addEmp();// deleteEmp();alterEmp();}//connect to the database by using the method getConnection from the class of JdbcUtil.//You can find the class of JdbcUtil at the button of this page.}public void searchEmp() {jta10.setText("");try {stmt = con.createStatement();// sql = "select * from Mstar where id=" + jtf3.getText(); // sql1="select * from sd100343 where ="+jtf3.getText(); sql = "select * from Mstar where chineseName="+ jtf2.getText().toLowerCase().trim() + "or id="+ jtf3.getText().toLowerCase().trim() + "or engName="+ jtf4.getText().toLowerCase().trim() + "or UNIT="+ jtf5.getText().toLowerCase().trim() + "or TEAM="+ jtf6.getText().toLowerCase().trim() + "or Phone="+ jtf7.getText().toLowerCase().trim() + "or region="+ jtf8.getText().toLowerCase().trim() + "or busStation=" + jtf9.getText().toLowerCase().trim();stmt.executeQuery(sql);rs = stmt.getResultSet();ResultSetMetaData meta = rs.getMetaData();int cols = meta.getColumnCount();while (rs.next()) {for (int i = 1; i <= cols; i++) {sb.append(" " + meta.getColumnName(i) + " ="); sb.append(rs.getString(i));}sb.append("\n");jta10.setText(sb.toString());}} catch (SQLException e11) {e11.printStackTrace();}}public void addEmp() {try {stmt = con.createStatement();sql = "update Mstar values(" + jtf2.getText() + jtf3.getText() + jtf4.getText() + jtf5.getText() + jtf6.getText()+ jtf7.getText() + jtf8.getText() + jtf9.getText() + ")";int i = stmt.getUpdateCount();if ((jtf2.getText() != null) && (jtf4.getText() != null)&& (jtf6.getText() != null) && (jtf7.getText() != null)) { stmt.executeUpdate(sql);jta10.setText("添加记录成功" + i + "条");} else {jta10.setText("带*号项为添加记录时不能为空");}} catch (SQLException e1) {e1.printStackTrace();}}public void deleteEmp() {searchEmp();try {stmt = con.createStatement();sql = "delete from Mstar where chineseName="+ jtf2.getText().toLowerCase().trim() + "or id="+ jtf3.getText().toLowerCase().trim() + "or engName="+ jtf4.getText().toLowerCase().trim() + "or UNIT="+ jtf5.getText().toLowerCase().trim() + "or TEAM="+ jtf6.getText().toLowerCase().trim() + "or Phone="+ jtf7.getText().toLowerCase().trim() + "or region="+ jtf8.getText().toLowerCase().trim() + "or busStation=" + jtf9.getText().toLowerCase().trim();stmt.executeUpdate(sql);int i = stmt.getUpdateCount();jta10.setText("撤除操作成功" + i + "条");} catch (SQLException e) {e.printStackTrace();}}public void alterEmp() {searchEmp();sql = "update Mstar set chineseName="+ jtf2.getText().toLowerCase().trim() + "and id="+ jtf3.getText().toLowerCase().trim() + "and engName="+ jtf4.getText().toLowerCase().trim() + "and UNIT="+ jtf5.getText().toLowerCase().trim() + "and TEAM="+ jtf6.getText().toLowerCase().trim() + "and Phone="+ jtf7.getText().toLowerCase().trim() + "and region="+ jtf8.getText().toLowerCase().trim() + "and busStation="+ jtf9.getText().toLowerCase().trim();int i = 0;try {stmt.executeUpdate(sql);i = stmt.getUpdateCount();} catch (SQLException e) {e.printStackTrace();}jta10.setText("修改操作成功" + i + "条");}public void createGUI() {JFrame jf = new JFrame("员工信息管理系统");jf.setLayout(new GridLayout(2, 1));// jf.setLayout(new GridLayout(10,2));JPanel jp00 = new JPanel(new GridLayout(5, 4)); JPanel jp1 = new JPanel();JButton jb11 = new JButton("查询"); jb11.addActionListener(this); JButton jb12 = new JButton("增加"); jb12.addActionListener(this);jp1.add(jb11);jp1.add(jb12);jp00.add(jp1);JPanel jp11 = new JPanel();JButton jb111 = new JButton("修改"); jb111.addActionListener(this); JButton jb112 = new JButton("撤除"); jb112.addActionListener(this);jp11.add(jb111);jp11.add(jb112);jp00.add(jp11);JPanel jp2 = new JPanel();JLabel jl2 = new JLabel("中文名 * "); jp2.add(jl2);jp2.add(jtf2);jp00.add(jp2);JPanel jp3 = new JPanel();JLabel jl3 = new JLabel("工号 ");jp3.add(jl3);jp3.add(jtf3);jp00.add(jp3);JPanel jp4 = new JPanel();JLabel jl4 = new JLabel("EngName*");jp4.add(jl4);jp4.add(jtf4);jp00.add(jp4);JPanel jp5 = new JPanel();JLabel jl5 = new JLabel("UNIT ");jp5.add(jtf5);jp00.add(jp5);JPanel jp6 = new JPanel();JLabel jl6 = new JLabel("TEAM* "); jp6.add(jl6);jp6.add(jtf6);jp00.add(jp6);JPanel jp7 = new JPanel();JLabel jl7 = new JLabel("Phone* "); jp7.add(jl7);jp7.add(jtf7);jp00.add(jp7);JPanel jp8 = new JPanel();JLabel jl8 = new JLabel("区域 "); jp8.add(jl8);jp00.add(jp8);JPanel jp9 = new JPanel();JLabel jl9 = new JLabel("公交站 ");jp9.add(jl9);jp9.add(jtf9);jp00.add(jp9);jf.add(jp00);JPanel jp01 = new JPanel();jta10.setText("--用户使用手册-- \n1、查询:选择一个字段,如 EngName 在文本框中输入相应内容,点击查询\n2、增加:在各个文本框中输入相应内容后,点击增加。

java 职工信息管理系统源代码

java 职工信息管理系统源代码

源代码package lesson2;import java。

sql。

*;public class employee{public String num;public String name;public String sex;public String age;public String edu;public String sla;public String add;public String tel;public void init(String x1,String x2,String x3,String x4,String x5,String x6,String x7,String x8){num=x1;name=x2;sex=x3;age=x4;edu=x5;sla=x6;add=x7;tel=x8;}public void load(String f){try{Class。

forName(”com.microsoft.sqlserver.jdbc。

SQLServerDriver”);String url=”jdbc:sqlserver://localhost:1433;DatabaseName=employee";String userName=”sa”;String password="xhw";Connection conn=DriverManager.getConnection (url,userName,password);if(conn!=null)System.out。

println(”已成功地与SQL Server 2005数据库建立连接!");Statement stmt=conn.createStatement();stmt.executeUpdate(f);stmt。

close();}catch(Exception e){e。

员工管理系统java课程设计代码

员工管理系统java课程设计代码

员工管理系统Java课程设计代码一、需求分析在公司中,员工管理是一个至关重要的环节。

为了提高管理效率,我们需要一个员工管理系统。

本系统可以实现员工信息的录入、查询、修改和删除等功能,同时能够根据不同的需求输出相应的报表。

本文将介绍员工管理系统的Java课程设计代码实现。

二、系统架构1. 数据库设计我们将使用MySQL数据库存储员工信息。

数据库中将包含一个employee表,用于存储员工的基本信息,如员工号、姓名、性别、职位、入职日期等字段。

2. 后台逻辑后台逻辑部分将采用Java语言进行编码。

我们将使用JDBC连接数据库,实现数据的增删改查操作。

同时,我们将采用面向对象的编程思想,设计Employee类来表示员工信息,EmployeeDAO类用于实现数据库操作。

3. 前端界面前端界面将采用简单的控制台界面。

用户可以通过控制台界面输入操作指令,实现员工信息的录入、查询、修改和删除操作。

三、功能实现1. 员工信息录入用户可以输入员工的基本信息,程序将会将信息保存到数据库中。

2. 员工信息查询用户可以通过员工号或者姓名进行查询,程序将会从数据库中检索相应的员工信息,并输出到控制台。

3. 员工信息修改用户可以输入员工号和需要修改的信息,程序将会更新数据库中对应员工的信息。

4. 员工信息删除用户可以输入员工号,程序将会从数据库中删除对应员工的信息。

5. 输出报表系统提供了不同的报表输出选项,如按照职位统计员工人数、按照性别统计员工平均工资等。

四、代码示例public class Employee {private int empId;private String empName;private String gender;private String position;private Date hireDate;// 省略getter和setter方法}public class EmployeeDAO {public void addEmployee(Employee emp) {// 实现员工信息添加逻辑}public Employee findEmployeeById(int empId) {// 实现根据员工号查询员工信息逻辑}public void updateEmployee(Employee emp) {// 实现员工信息更新逻辑}public void deleteEmployee(int empId) {// 实现员工信息删除逻辑}}// 程序入口public class Main {public static void main(String[] args) {// 主程序逻辑,包括界面交互和调用DAO方法}}五、总结通过本文的介绍,我们可以看到员工管理系统的Java课程设计代码实现是一个比较完整的系统,涵盖了从数据库设计到后台逻辑再到前端界面的全方位内容。

企业人事管理系统java源代码

企业人事管理系统java源代码

"where 员 工 编 号
JOptionPane.showMessageDialog(null,"修改成功! ","修改操作",JOptionPane.ERROR_MESSAGE);
}
else{JOptionPane.showMessageDialog(null," 修 改 失 败!","修改操作",JOptionPane.ERROR_MESSAGE);}}
{
protected JPanel p = new JPanel();
protected JPanel p1 = new JPanel();
protected JPanel p2 = new JPanel();
protected JPanel p3= new JPanel();
JMenuBar M =new JMenuBar(); JMenu m1 = new JMenu("基本信息模块"); JMenu m2 = new JMenu("考勤考评信息模块");
入操作",JOptionPane.ERROR_MESSAGE);
}
}
}
);
b3.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event)
{
try {
int r1=s.executeUpdate("update 员 工 基 本 信 息 表
if((!v1.equals( "" ))&&(!v2.equals(""))&&(!v3.equals(""))&&(!v4.equals(""))&&(!v5.equals ("")))

职工信息管理系统源代码

职工信息管理系统源代码

#include <malloc.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#define ALLMAX 100 //总共统计的职工的人数typedef struct Node{long int born_date,work_date,tele_num;charsex,name[ALLMAX],degree[ALLMAX],job[ALLMAX],address[ALLMAX];struct Node *next;}SLNode;typedef struct{long int born_date,work_date,tele_num;charname[ALLMAX],sex,degree[ALLMAX],job[ALLMAX],address[ALLMAX];}DataType;void ListInitiate(SLNode **head)//链表初始化{if((*head=(SLNode *)malloc(sizeof(SLNode)))==NULL) exit(1);//动态分配存储空间(*head)->next=NULL;}SLNode *ListInsert(SLNode *head,DataType x)//职工信息的插入姓名并按照升序排列{SLNode *p,*q,*s;p=head->next;if((q=(SLNode *)malloc(sizeof(SLNode)))==NULL) exit(1);//动态分配存储空间q->born_date=x.born_date;q->work_date=x.work_date;q->tele_num=x.tele_num;strcpy(q->name,);q->sex=x.sex;strcpy(q->degree,x.degree);strcpy(q->job,x.job);strcpy(q->address,x.address);if(head->next==NULL){//如果只有链表的头结点,没有其他的结点,直接插入在头结点后面head->next=q;head->next->next=NULL;}else{//链表非空for(;p;p=p->next){if(p->next!=NULL){if(strcmp(p->name,)<0&&strcmp(p->next->name,)>0){//位于两个结点之间s=p->next;p->next=q;q->next=s;break;}//else if(strcmp(p->name,)==0)break; //如果姓名相同则不插入信息}else if(strcmp(p->name,)<0&&p->next==NULL){//链表非空,并且在排序中是最后一个p->next=q;q->next=NULL;break;}if(strcmp(p->name,)>0){//位于链表头结点之后的位置s=head->next;head->next=q;q->next=s;break;}}}return head;}void ListDelete(SLNode *head)//职工信息的删除{SLNode *p,*s;char x[20];s=head;p=head->next;if(head->next==NULL){//链表为空,输出:名单中无职工信息,无须删除!printf("名单中无此职工信息,无须删除!\n");return;}printf("请输入要删除职工的姓名:\n"); //输入要删除的人的姓名scanf("%s",x);for(p;p;p=p->next){//在链表中从头到尾查找输入的人的姓名if(strcmp(p->name,x)==0){ //如果存在,则删除,否则输出:名单中无职工信息,无须删除!s->next=p->next;free(p);printf("删除成功!请继续操作!\n");break;}s=p;}if(p==NULL){//链表本身为空printf("名单中无此职工信息,无须删除!\n");}}void ListModify(SLNode *head)//职工信息的修改{DataType x;SLNode *p;p=head->next;if(p==NULL){//链表本身为空printf("职工名单无职工信息,无须修改!\n");return;}printf("请输入要修改的职工姓名:\n");scanf("%s",);for(;p;p=p->next){if(strcmp(,p->name)==0){//查找到了该职工的信息printf("依次写入该职工的新信息:\n");printf("请输入职工信息:\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");scanf("%s %c %d %d %s %s %s %d",p->name,&p->sex,&p->born_date,&p->work_ date,p->degree,p->job,p->address,&p->tele_num);printf("修改成功!请继续操作!\n");break;}}if(p==NULL)//如果链表为空printf("此职工不存在,无法修改其信息!\n");}void put(SLNode *head,FILE *fp)//职工信息的保存{SLNode *p;if((fp=fopen("Employee.txt","w"))==NULL){//printf("无法打开'Employee.txt'!\n");exit(0);}for(p=head->next;p;p=p->next){fprintf(fp,"%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_ date,p->degree,p->job,p->address,p->tele_num);}if(fclose(fp)){printf("无法关闭'Employee.txt'!\n"); exit(0);}}void Listfind(SLNode head)//职工信息的查找{int i,j;SLNode *p;DataType x;if(head.next==NULL){//链表为空printf("名单中无职工信息,查询失败!\n");return;}//返回主菜单printf("\n");printf("\t*********************************\n");printf("\t*职工信息查询操作*\n");printf("\t**\n");printf("\t*0.退出查询系统,回到主菜单\t\t 1.对姓名进行查询\t*\n\t * 2.对出生年月进行查询\t\t 3.对学历进行查询\t*\n\t* 4.对工作年月进行查询\t\t 5.对职务进行查询\t*\n\t* 6.对住址进行查询\t\t 7.对电话进行查询\t*\n");printf("\t*********************************\n");while(1){printf("请输入您要选择的操作:");scanf("%d",&i);if(i==0)//输入0,退出查询系统,回到主菜单break;else if(i==1){//输入1,对姓名进行查询p=head.next;printf("请输入姓名:");scanf("%s",);j=0;for(p;p;p=p->next){if(strcmp(p->name,)==0){//如果存在这个人,那么j自加++j;printf("\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}}if(j==0)//表示没有找到输入的信息printf("职工名单中不存在此人!\n");else printf("查询成功!继续操作!\n");}else if(i==2){//输入2,对出生年月进行查询p=head.next;printf("请输入出生年月:");scanf("%d",&x.born_date);j=0;for(p;p;p=p->next){if(p->born_date==x.born_date){//输入的出生年月在链表中存在++j;//如果存在这个人,那么j自加printf("\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}}if(j==0)//表示没有找到输入的信息printf("职工名单中没有这个时间出生的!\n");else printf("查询成功!请继续操作!\n");}else if(i==4){//输入4,对工作年月进行查询p=head.next;printf("请输入工作年月:");scanf("%d",&x.work_date);j=0;for(p;p;p=p->next){if(p->work_date==x.work_date){++j;//如果存在这个人,那么j自加printf("\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}}if(j==0)//表示没有找到输入的信息printf("职工名单中没有这个时间工作的!\n");else printf("查询成功!请继续操作!\n");}else if(i==3){//输入3,对学历进行查询p=head.next;printf("请输入学历:");scanf("%s",x.degree);j=0;for(p;p;p=p->next){if(strcmp(p->degree,x.degree)==0){++j;//如果存在这个人,那么j自加printf("\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}}if(j==0)//表示没有找到输入的信息printf("职工名单中没有这种学历的!\n");else printf("查询成功!请继续操作!\n");}else if(i==5){//输入5,对职务进行查询p=head.next;printf("请输入职务:");scanf("%s",x.job);j=0;for(p;p;p=p->next){if(strcmp(p->job,x.job)==0){++j;//如果存在这个人,那么j自加printf("\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}}if(j==0)//表示没有找到输入的信息printf("职工名单中没有这种职务的!\n");else printf("查询成功!请继续操作!\n");}else if(i==6){//输入6,对住址进行查询p=head.next;printf("请输入住址:");scanf("%s",x.address);j=0;for(p;p;p=p->next){if(strcmp(p->address,x.address)==0){++j;//如果存在这个人,那么j自加printf("\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}}if(j==0)//表示没有找到输入的信息printf("职工名单中没有住这的!\n");else printf("查询成功!请继续操作!\n");}else if(i==7){//输入7,对电话号码进行查询p=head.next;printf("请输入电话:");scanf("%d",&x.tele_num);j=0;for(p;p;p=p->next){if(p->tele_num==x.tele_num){++j;//如果存在这个人,那么j自加printf("\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}}if(j==0)//表示没有找到输入的信息printf("职工名单中没人用这个号码!\n");else printf("查询成功!请继续操作!\n");}else if(i!=0 && i!=1 && i!=2 && i!=3 && i!=4 && i!=5 && i!=6 && i!=7)//输入任意不是上述数字的,那么久显示输入错误printf("输入出错!请再次输入!\n");printf("\n");printf("\t*********************************\n");printf("\t*职工信息查询系统*\n");printf("\t**\n");printf("\t*0.退出查询系统,回到主菜单\t\t 1.对姓名进行查询\t*\n\t* 2.对出生年月进行查询\t\t 3.对学历进行查询\t*\n\t*4.对工作年月进行查询\t\t 5.对职务进行查询\t*\n\t* 6.对住址进行查询\t\t 7.对电话进行查询\t*\n");printf("\t*********************************\n");//printf("0.退出查询系统,回到主菜单\n1.对姓名进行查询\n2.对出生年月进行查询\n3.对工作年月进行查询\n4.对学历进行查询\n5.对职务进行查询\n6.对住址进行查询\n7.对电话号码进行查询\n");}}void print(SLNode *head)//职工信息的显示{SLNode *p;for(p=head->next;p!=NULL;p=p->next)//输出所有职工的信息printf("%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_date,p->work_date ,p->degree,p->job,p->address,p->tele_num);}void printLink(SLNode *head)//职工信息的显示{printf("职工名单:\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");print(head);}void Listpaixu(SLNode *head)//职工信息的排序{int i,n=0,m,flag=1;SLNode *p,*q,*s;if(head->next==NULL){//职工链表为空printf("名单中无职工信息,无法排序!\n\n");return;}// printf("输入出错!请再次输入!\n\n");printf("\t\t~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~\n");printf("\t\t~.~ 职工信息排序操作~.~\n");printf("\t\t~.~ ~.~\n");printf("\t\t~.~\t0.退出排序系统,回到主菜单~.~\n\t\t~.~\t1.对性别进行排序~.~\n\t\t~.~\t2.对出生年月进行排序~.~\n\t\t~.~\t3.对工作年月进行排序~.~\n\t\t~.~\t4.对姓名进行排序~.~\n");printf("\t\t~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~\n");while(1){printf("请输入您要选择的操作:");scanf("%d",&i);if(i==0)//输入0,退出排序系统,回到主菜单break;else if(i==1){//输入1,对性别进行排序n=0,m,flag=1;for(p=head;NULL!=p;p=p->next)//统计职工人数n++;for(m=1;flag&&m<=n;m++){flag=0;for(q=head->next,p=head,s=p;q;s=p,p=q,q=q->next){if(p->sex>q->sex)//p为当前节点,p的性别>p的后继节点的性别{if(head==p)//p为头结点{head->next=q->next;head=q;q->next=p;//交换节点信息q=head->next;p=head;}else{p->next=q->next;q->next=p;s->next=q;p=q;q=p->next;}flag=1;}}}printf("排好序的信息如下:\n");printLink(head);//输出所有节点的信息return;}else if(i==2){//输入2,对出生年月进行排序n=0,m,flag=1;for(p=head;NULL!=p;p=p->next)//统计职工人数n++;for(m=1;flag&&m<=n;n++)//循环{flag=0;for(q=head->next,p=head,s=p;q;s=p,p=q,q=q->next){if(p->born_date>q->born_date)//对出生年月进行排序{if(head==p){head->next=q->next;head=q;q->next=p;q=head->next;p=head;}else{p->next=q->next;q->next=p;s->next=q;p=q;q=p->next;}flag=1;}}}printf("排好序的信息如下:\n");printLink(head);return;}else if(i==3){//输入3,按工作时间进行排序n=0,m,flag=1;for(p=head;NULL!=p;p=p->next)n++;for(m=1;flag&&m<=n;n++){flag=0;for(q=head->next,p=head,s=p;q;s=p,p=q,q=q->next){ if(p->work_date>q->work_date){if(head==p){head->next=q->next;head=q;q->next=p;q=head->next;p=head;}else{p->next=q->next;q->next=p;s->next=q;p=q;q=p->next;}flag=1;}}}printf("排好序的信息如下:\n");printLink(head);return;}else if(i==4){n=0,m,flag=1;for(p=head;NULL!=p;p=p->next)n++;for(m=1;flag&&m<=n;n++){flag=0;for(q=head->next,p=head,s=p;q;s=p,p=q,q=q->next){if(p->name[0]>q->name[0]){if(head==p){head->next=q->next;head=q;q->next=p;q=head->next;p=head;}else{p->next=q->next;q->next=p;s->next=q;p=q;q=p->next;}flag=1;}}}printf("排好序的信息如下:\n");printLink(head);return;}else if(i!=0&&i!=1&&i!=2&&i!=3&&i!=4)printf("输入出错!请再次输入!\n\n");printf("\t\t~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~\n");printf("\t\t~.~ 职工信息排序系统~.~\n");printf("\t\t~.~~.~\n");printf("\t\t~.~\t0.退出排序系统,回到主菜单~.~\n\t\t~.~\t1.对性别进行排序~.~\n\t\t~.~\t2.对出生年月进行排序~.~\n\t\t~.~\t3.对工作年月进行排序~.~\n\t\t~.~\t4.显示全部职工信息~.~\n");printf("\t\t~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~\n");//printf("0.退出排序系统,回到主菜单\n1.对性别进行排序\n2.对出生年月进行排序\n3.对工作年月进行排序\n");}}void main(){DataType x;SLNode *head;int i,n;FILE *fp;ListInitiate(&head);//初始化链表printf("\n");printf("*************************************************************** ****************\n");printf("************************ 欢迎使用职工管理系统***************************\n");printf("*************************************************************** ****************\n");printf("请输入要录入的职工人数n:");//输入要录入的职工人数scanf("%d",&n);if(n==0) goto aa;printf("请输入职工信息:\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");for(i=0;i<n;i++)//职工信息的输入{scanf("%s %c %d %d %s %s %s %d",,&x.sex,&x.born_date,&x.work_date,x. degree,x.job,x.address,&x.tele_num);head=ListInsert(head,x);}if((fp=fopen("Employeetxt","a"))==NULL){printf("\t无法打开'Employee.txt'!\n");exit(0);}put(head,fp);if(fclose(fp)){printf("\t无法关闭'Employee.txt'!\n"); exit(0);}printLink(head);aa: printf("\n");printf("\t★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★☆☆★\n");printf("\t☆* 主菜单* ☆\n");printf("\t★********** ★\n");printf("\t☆☆\n");printf("\t★\t0.结束管理系统\t\t\t1.新增职工信息\t\t★\n\t☆\t2.删除职工信息\t\t\t3.查询职工信息\t\t☆\n\t★\t4.修改职工信息\t\t\t5.职工信息排序\t\t★\n");printf("\t☆☆\n");printf("\t★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★☆☆★\n");while(1){printf("请输入您要选择的操作:");scanf("%d",&i);if(i==0)//输入0,结束系统{printf("\t\t您已经成功退出职工管理系统,谢谢使用!\n");break;}else if(i==1){//输入1,新增一名职工printf("请输入职工信息:\n姓名、性别、出生年月、工作年月、学历、职务、住址、电话\n");scanf("%s %c %d %d %s %s %s %d",,&x.sex,&x.born_date,&x.work_date,x. degree,x.job,x.address,&x.tele_num);head=ListInsert(head,x);printf("新增成功!请继续操作!\n");printLink(head);put(head,fp);//保存在文件中else if(i==2){//输入2,删除一名职工ListDelete(head);if((fp=fopen("Employee.txt","w"))==NULL){printf("无法打开'职工名单.txt'!\n");exit(0);}put(head,fp);//保存在文件中if(fclose(fp)){printf("无法关闭'Employee.txt'!\n"); exit(0);}}else if(i==3)//输入3,查找一名职工Listfind(*head);else if(i==4){//输入4,修改职工信息ListModify(head);if((fp=fopen("Employee.txt","w"))==NULL){printf("无法打开'Employee.txt'!\n");exit(0);}put(head,fp);//保存在文件中if(fclose(fp)){printf("无法关闭'Employee.txt'!\n"); exit(0);}}else if(i==5){//输入5,对职工信息进行排序SLNode *p=head;Listpaixu(p);}//如果出入的不是上述任何一种情况就输出:输入出错else printf("输入出错!请再次输入!\n");printf("\n");printf("\t★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★☆☆★\n");printf("\t☆* 主菜单* ☆\n");printf("\t★********** ★\n");printf("\t☆☆\n");printf("\t★0.结束管理系统\t\t\t\t1.新增职工信息\t★\n\t☆ 2.删除职工信息\t\t\t\t3.查询职工信息\t☆\n\t★ 4.修改职工信息\t\t\t\t5.职工信息排序\t★\n");printf("\t☆☆\n");printf("\t★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★☆☆★\n");//printf("0.结束系统\n1.新增一名职工\n2.删除一名职工\n3.查询职工信息\n4.修改职工信息\n5.对职工信息进行排序\n");}}。

职工信息管理系统java源代码

职工信息管理系统java源代码

package exercise;import java.io.*;class staffInfo //职工类{public String name;public String num;public String sex;public String age;public String record;public String position;public String wanges;public String tel;public String addr;}public class StaffInfomation //实现部分{public static void main(final String[] args) throws IOException {staffInfo staffOne[]=new staffInfo[100];for(int j=0;j<100;j++)staffOne[j] = new staffInfo();final ways staffTwo=new ways();staffTwo.caidan(staffOne);staffTwo.creat(staffOne);staffTwo.output(staffOne);staffTwo.search(staffOne);staffTwo.delete(staffOne);}}class ways //方法类,重要实现职工信息的建立,显示,查找,删除,信息的保存与读取;这个类是整个程序的操作类。

{public String recordkey;public int i=0;//i用来存放职工的人数public String filename="Infomation.txt";BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));void caidan(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); //此处是JAVA语言中输入数据的基本格式,功能有如C中的scanf函数int choice;do{System.out.println("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");System.out.println("┃★★★★★★★★职工管理系统主菜单界面★★★★★★★★┃");System.out.println("┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫");System.out.println("┃★★★1.输入职工信息★★★┃");System.out.println("┃★★★ 2.预览职工信息★★★┃");System.out.println("┃★★★ 3.查找职工信息★★★┃");System.out.println("┃★★★ 4.删除职工信息★★★┃"); System.out.println("┃★★★5.读取已存数据★★★┃");System.out.println("┃★★★ 6.安全退出系统★★★┃");System.out.println("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");System.out.print(" 请输入您需要的功能代号(1--6):");choice=Integer.parseInt(buf.readLine());switch(choice){case 1:creat(staffOne);break;case 2:output(staffOne);break;case 3:search(staffOne);break;case 4:delete(staffOne);break;case 5:read(staffOne);break;case 6:save(staffOne);break;}}while(choice!=0);}void creat(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入职工信息(以0结束)\n");System.out.print("姓名:");staffOne[i].name=buf.readLine(); //用数组staffOne[i]来暂存职工的相关信息while(staffOne[i]pareTo("0")!=0) //用compareTo方法拟定鉴定是否应当写入新信息{System.out.print("工号:");staffOne[i].num=buf.readLine();System.out.print("性别:");staffOne[i].sex=buf.readLine();System.out.print("年龄:");staffOne[i].age=buf.readLine();System.out.print("学历:");staffOne[i].record=buf.readLine();System.out.print("职位:");staffOne[i].position=buf.readLine();System.out.print("工资:");staffOne[i].wanges=buf.readLine();System.out.print("电话:");staffOne[i].tel=buf.readLine();System.out.print("住址:");staffOne[i].addr=buf.readLine();i++;System.out.println("请输入下一个职工信息:");staffOne[i].name=buf.readLine();}}void output(staffInfo staffOne[]) throws IOException //这里是实现“输出(预览)职工信息”output的模块{for(int j=0;j<i;j++){if(i!=0){System.out.println("------------------------------------------------------------------------------------------------");System.out.println(" *职工信息表* ");System.out.println("-------------------------------------------------------------------------------------------------");System.out.println("姓名\t工号\t\t性别\t年龄\t学历\t职位\t\t工资\t电话号码 \t\t住址");System.out.println("-------------------------------------------------------------------------------------------------");System.out.print(staffOne[j].name+"\t"+staffOne[j].num+"\t"+staff One[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j].record+"\t"+staf fOne[j].position+"\t\t"+staffOne[j].wanges+"\t"+staffOne[j].tel+" \t"+staffOne[j].addr+"\n");System.out.println("-------------------------------------------------------------------------------------------------");}else System.out.println("没有职工信息!");}}void search(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入您要查找的职工工号:");recordkey=buf.readLine();boolean flg=true;for(int j=0;j<i;j++){if(recordkey.equals(staffOne[j].num)) //equals是字符串比较函数相等返回true{System.out.println("-------------------------------------------------------------------------------------");System.out.println(" *职工信息表* ");System.out.println("--------------------------------------------------------------------------------------");System.out.println("姓名\t工号\t\t性别\t年龄\t学历\t职位 \t\t 工资\t电话号码 \t\t住址");System.out.println("--------------------------------------------------------------------------------------");System.out.println(staffOne[j].name+"\t"+staffOne[j].num+"\t"+sta ffOne[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j].record+"\t"+st affOne[j].position+"\t\t"+staffOne[j].wanges+"\t"+staffOne[j].tel +"\t"+staffOne[j].addr+"\n");flg=false;}}if(flg)System.out.println("对不起,查无此人!");}void delete(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入您要删除的职工工号:");recordkey=buf.readLine();boolean flg=true;for(int j=0;j<i;j++){System.out.println("输入的工号为:"+recordkey);if(recordkey.equals(staffOne[j].num)){for(int k=j;k<=i-1;k++) //运用顺序表的删除算法,删除值之后,再把后面的值往前移位,从而实现删除{staffOne[k].name=staffOne[k+1].name ;staffOne[k].num=staffOne[k+1].num ;staffOne[k].sex=staffOne[k+1].sex;staffOne[k].age=staffOne[k+1].age ;staffOne[k].record=staffOne[k+1].record ;staffOne[k].position=staffOne[k+1].position ;staffOne[k].wanges=staffOne[k+1].wanges ;staffOne[k].tel=staffOne[k+1].tel ;staffOne[k].addr=staffOne[k+1].addr ;}i--;//职工人数减一flg=false;}}if(flg)System.out.println("对不起,查无此人!。

职工信息管理系统java源代码

职工信息管理系统java源代码

职工信息管理系统j a v a源代码Document number:NOCG-YUNOO-BUYTT-UU986-1986UTpackage exercise;import .*;class staffInfo 入职工信息★★★┃");"┃★★★ 2.预览职工信息★★★┃");"┃★★★ 3.查找职工信息★★★┃");"┃★★★ 4.删除职工信息★★★┃");"┃★★★ 5.读取已存数据★★★┃");"┃★★★ 6.安全退出系统★★★┃");"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");" 请输入您需要的功能代号(1--6):");choice=());switch(choice){case 1:creat(staffOne);break;case 2:output(staffOne);break;case 3:search(staffOne);break;case 4:delete(staffOne);break;case 5:read(staffOne);break;case 6:save(staffOne);break;}}while(choice!=0);}void creat(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader);"请输入职工信息(以0结束)\n");"姓名:");staffOne[i].name=(); "0")!=0) um=();"性别:");staffOne[i].sex=();"年龄:");staffOne[i].age=();"学历:");staffOne[i].record=();"职位:");staffOne[i].position=();"工资:");staffOne[i].wanges=();"电话:");staffOne[i].tel=();"住址:");staffOne[i].addr=();i++;"请输入下一个职工信息:");staffOne[i].name=();}}void output(staffInfo staffOne[]) throws IOExceptionum+"\t"+staffOne[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j]. record+"\t"+staffOne[j].position+"\t\t"+staffOne[j].wanges+"\t "+staffOne[j].tel+"\t"+staffOne[j].addr+"\n");"-------------------------------------------------------------------------------------------------");}else"没有职工信息!");}}void search(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader);"请输入您要查找的职工工号:");recordkey=();boolean flg=true;for(int j=0;j<i;j++){if(staffOne[j].num))um+"\t"+staffOne[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j]. record+"\t"+staffOne[j].position+"\t\t"+staffOne[j].wanges+"\t "+staffOne[j].tel+"\t"+staffOne[j].addr+"\n");flg=false;}}if(flg)"对不起,查无此人!");}void delete(staffInfo staffOne[]) throws IOException{final BufferedReader buf=new BufferedReader(new InputStreamReader);"请输入您要删除的职工工号:");recordkey=();boolean flg=true;for(int j=0;j<i;j++){"输入的工号为:"+recordkey);if(staffOne[j].num)){for(int k=j;k<=i-1;k++) ame=staffOne[k+1].name ; staffOne[k].num=staffOne[k+1].num ;staffOne[k].sex=staffOne[k+1].sex;staffOne[k].age=staffOne[k+1].age ;staffOne[k].record=staffOne[k+1].record ;staffOne[k].position=staffOne[k+1].position ; staffOne[k].wanges=staffOne[k+1].wanges ;staffOne[k].tel=staffOne[k+1].tel ;staffOne[k].addr=staffOne[k+1].addr ;}i--;ame+"\n");( staffOne[k].num+"\n");( staffOne[k].sex+"\n" );( staffOne[k].age+"\n");( staffOne[k].record+"\n");( staffOne[k].position+"\n") ;( staffOne[k].wanges+"\n");( staffOne[k].tel+"\n");( staffOne[k].addr+"\n");}();"系统已经安全退出!感谢您的使用!");(0);}void read(staffInfo staffOne[]) throws IOException{final FileReader fr=new FileReader(filename);final BufferedReader bfr=new BufferedReader(fr);if((recordkey=())!=null)i=(recordkey);for(int j=0;j<i;j++){staffOne[j].name=();staffOne[j].num=();staffOne[j].sex=();staffOne[j].age=();staffOne[j].record=();staffOne[j].position=() ;staffOne[j].wanges=();staffOne[j].tel=();staffOne[j].addr=();}();"\n数据已经成功读取!");}}。

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

class ways //方法类,主要实现职工信息的建立,显示,查找,删除,信息的保存与 读取;这个类是整个程序的操作类。
{
public String recordkey; public int i=0;//i用来存放职工的人数
public String filename="Infomation.txt";
System.out.println("------------------------------------------------------------------------------------------------");
} else System.out.println("没有职工信息!"); } }
package exercise; import java.io.*; class staffInfo //职工类 {
public String name; public String num; public String sex; public String age; public String record; public String position; public String wanges; public String tel; public String addr; }
------------------------------------------------");
System.out.println("
表*
");
*职工信息
System.out.println("-------------------------------------
-------------------------------------------------"); System.out.println("姓名\t工号\t\t性别\t年龄\t学历\t职位 \t\t
System.out.println("┣━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━┫");
System.out.println("┃
1.输入职工信息
★★ ★
┃");
★★★
System.out.println("┃
2.预览职工信息
★★ ★
┃");
★★★
System.out.println("┃
3.查找职工信息
★★ ★
┃");
★★★
System.out.println("┃
4.删除职工信息
★★ ★
┃");
ห้องสมุดไป่ตู้
★★★
System.out.println("┃
★ ★ ★ 5.读
取已存数据
★★ ★
┃");
System.out.println("┃
6.安全退出系统
★★★
┃");
★★★
System.out.println("┗━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━┛");
System.out.print(" 请输入您需要的功能代号(1--6):"); choice=Integer.parseInt(buf.readLine()); switch(choice){ case 1:creat(staffOne);break; case 2:output(staffOne);break; case 3:search(staffOne);break; case 4:delete(staffOne);break; case 5:read(staffOne);break; case 6:save(staffOne);break;
public class StaffInfomation //实现部分 {
public static void main(final String[] args) throws IOException { staffInfo staffOne[]=new staffInfo[100]; for(int j=0;j<100;j++) staffOne[j] = new staffInfo(); final ways staffTwo=new ways(); staffTwo.caidan(staffOne); staffTwo.creat(staffOne); staffTwo.output(staffOne); staffTwo.search(staffOne); staffTwo.delete(staffOne); } }
staffOne[i].position=buf.readLine(); System.out.print(" 工 资 :");
staffOne[i].wanges=buf.readLine();
System.out.print(" 电 话 :");
staffOne[i].tel=buf.readLine(); System.out.print(" 住 址 :");
相关信息 while(staffOne[i]pareTo("0")!=0)
判定是否应该写入新信息
//用compareTo方法确定
{ System.out.print(" 工 号 :");
staffOne[i].num=buf.readLine(); System.out.print(" 性 别 :");
工 资\t电话号码 \t\t住址");
System.out.println("-------------------------------------
-------------------------------------------------");
System.out.println(staffOne[j].name+"\t"+staffOne[j].num+"\t"+sta ffOne[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j].record+"\t"+st affOne[j].position+"\t\t"+staffOne[j].wanges+"\t"+staffOne[j].tel +"\t"+staffOne[j].addr+"\n");
BufferedReader
buf=new
BufferedReader(new
InputStreamReader(System.in));
void caidan(staffInfo staffOne[]) throws IOException
{
final
BufferedReader
buf=new
BufferedReader(new
\t\t工 资\t电话号码 \t\t住址"); System.out.println("----------------------------------
---------------------------------------------------------------");
System.out.print(staffOne[j].name+"\t"+staffOne[j].num+"\t"+staff One[j].sex+"\t"+staffOne[j].age+"\t"+staffOne[j].record+"\t"+staf fOne[j].position+"\t\t"+staffOne[j].wanges+"\t"+staffOne[j].tel+" \t"+staffOne[j].addr+"\n");
InputStreamReader(System.in)); //此处是JAVA语言中输入数据的基本格式,功
能有如C中的scanf函数 int choice; do{
System.out.println("┏━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━┓");
System.out.println("┃★ ★★ ★ ★★ ★ ★职工管理系统主菜单界面 ★ ★ ★★ ★ ★★ ★┃");
staffOne[i].addr=buf.readLine();
i++; System.out.println("请输入下一个职工信息:");
staffOne[i].name=buf.readLine();
}
}
void output(staffInfo staffOne[]) throws IOException “ //这里是实现 输出(预览)职工信息”output的模块
} }
flg=false; }
if(flg) System.out.println("对不起,查无此人!");
void delete(staffInfo staffOne[]) throws IOException
相关文档
最新文档