[Java] Viết chương trình quản lý cán bộ – Có code mẫu

Viết chương trình quản lý cán bộ java: nhập thông tin, tính tiền lương và phụ cấp cho từng cán bộ bằng ngôn ngữ lập trình java.

Xem thêm:

1. Bài toán quản lý cán bộ java

Bài 13 (TH-LTHDT-01): Cho một tập danh sách các cán bộ cần quản lý của một cơ quan nhà nước:

– CHUYÊN VIÊN; cán bộ làm tại các phòng ban.

– GIẢNG VIÊN: cán bộ làm công tác giảng dạy tại các khoa

– QUẢN LÝ: cán bộ làm công tác quản lý (trưởng — phó) tại các khoa và phòng ban.

Yêu cầu quản lý:

– Thông tin từng cán bộ

Tính tiền lương và phụ cấp cho từng cán bộ như sau:

  • CHUYÊN VIÊN: tiền lương – Hệ số lương * 1.350.000, không phụ cấp 0 GIẢNG VIÊN; tiền lương = (Hệ số lương ” 1.350.000)+ phụ cấp đặc biệt ngành (20% lương)
  • QUẢN LÝ: tiền lương = (hệ số lương + hệ số phụ cấp) * 1.350.000

Yêu cầu sinh viên:

– Dùng kiến thức mô hình hóa dữ liệu trong lập trình hướng đối tượng để xây dụng các lớp.

– Thiết kế mô hình cây phân cấp các lớp. Mối quan hệ giữa các lớp và các interface.

– Chuyển từ mô hình trên sang ngôn ngữ lập trình Java. (chuyển sang thiết kế các lớp và interface tương ứng bằng ngôn ngữ lập trình Java)

– Cài đặt test chương trình áp dụng nhập vào một danh sách đối tượng Cán bộ bất

kỷ (có thể là CHUYÊN VIÊN HOẶC GIẢNG VIÊN HOẶC QUẢN LÝ). Sau đó in lại danh sách thông tin các đối tượng Cán bộ đã nhập.

2. Code chương trình quản lý cán bộ java

2.1 Interface Luong

package bai13;

public interface Luong {
    float tinhLuong();
}

2.2 Class ChuyenVien

package bai13;


public class ChuyenVien extends CanBo implements Luong{

    @Override
    public float tinhLuong() {
        return hsl*135000;
        
    }
    
    public void nhapCV(){
        super.nhap();
    }
    
    public void xuatCV(){
        super.xuat();
        System.out.println("Luong: "+tinhLuong());
    }
    
}

2.3 Class GiangVien

package bai13;

public class GiangVien extends CanBo implements Luong{

    @Override
    public float tinhLuong() {
        return hsl*135000 + hsl*135000*0.2f;
    }
    
    public void nhapGV(){
        super.nhap();
    }
    
    public void xuatGV(){
        super.xuat();
        System.out.println("Luong: "+tinhLuong());
    }
    
}

2.4 Class QuanLy

package bai13;

import java.util.Scanner;

public class QuanLy extends CanBo implements Luong{
    float phuCap;
    Scanner sc = new Scanner(System.in);
    
    public void nhapQL(){
        super.nhap();
        System.out.println("Nhap phu cap: ");
        phuCap= sc.nextFloat();
    }
    
    @Override
    public float tinhLuong() {
        return (hsl+phuCap)*135000;
    }
    
    public void xuatQL(){
        super.xuat();
        System.out.println("Phu Cap: "+ phuCap);
        System.out.println("Luong: "+tinhLuong());
    }
    
}

2.5 Class CanBo

package bai13;

import java.util.Scanner;

public class CanBo {
    int maCB, tuoi;
    float hsl;
    String tenCB, diaChi;
    
    public CanBo(){
        
    }
    
    public CanBo(int maCB, int tuoi, float hsl, String tenCB, String diaChi){
        this.maCB=maCB;
        this.tuoi=tuoi;
        this.tenCB=tenCB;
        this.hsl=hsl;
        this.diaChi=diaChi;
    }

    public int getMaCB() {
        return maCB;
    }

    public void setMaCB(int maCB) {
        this.maCB = maCB;
    }

    public int getTuoi() {
        return tuoi;
    }

    public void setTuoi(int tuoi) {
        this.tuoi = tuoi;
    }

    public float getHsl() {
        return hsl;
    }

    public void setHsl(float hsl) {
        this.hsl = hsl;
    }

    public String getTenCB() {
        return tenCB;
    }

    public void setTenCB(String tenCB) {
        this.tenCB = tenCB;
    }

    public String getDiaChi() {
        return diaChi;
    }

    public void setDiaChi(String diaChi) {
        this.diaChi = diaChi;
    }
    
    public void nhap(){
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhap ma can bo: ");
        maCB= sc.nextInt();
        System.out.println("Nhap ten can bo: ");
        sc.nextLine();
        tenCB= sc.nextLine();
        System.out.println("Nhap dia chi: ");
        diaChi= sc.nextLine();
        System.out.println("Nhap tuoi can bo: ");
        tuoi = sc.nextInt();
        System.out.println("Nhap he so luong: ");
        hsl= sc.nextFloat();
    }
    
    public void xuat(){
        System.out.println("Ma can bo: "+ getMaCB());
        System.out.println("Ten can bo: "+ getTenCB());
        System.out.println("Dia chi: "+ getDiaChi());
        System.out.println("Tuoi can bo: "+ getTuoi());
        System.out.println("He so luong: "+getHsl());
        
    }
    
}

2.6 Class DanhSachCanBo

package bai13;

import java.util.ArrayList;
import java.util.Scanner;

public class DanhSachCanBo {
    ArrayList<CanBo> ds = new ArrayList<>();
    Scanner sc = new Scanner(System.in);
    int chon;
    public void menu(){
        System.out.println("1.Nhap Chuyen Vien");
        System.out.println("2.Nhap Giang Vien");
        System.out.println("3.Nhap Quan Ly");
        System.out.println("4.Xuat danh sach");
        System.out.println("0.Thoat");
    }
    
    public void nhapDS(){
        do {            
            menu();
            System.out.println("Lua chon: ");
            chon = sc.nextInt();
            switch(chon){
                case 1: {
                    ChuyenVien cv = new ChuyenVien();
                    cv.nhapCV();
                    ds.add(cv);
                    break;
                }
                case 2: {
                    GiangVien gv= new GiangVien();
                    gv.nhapGV();
                    ds.add(gv);
                    break;
                }
                case 3: {
                    QuanLy ql = new QuanLy();
                    ql.nhapQL();
                    ds.add(ql);
                    break;
                }
                case 4: xuatDS(); break;
                case 0: System.exit(0); break;
                default: break;
            }
        } while (chon!=0);
    }
    
    public void xuatDS(){
        System.out.println("Danh sach can bo: ");
        for(int i=0;i<ds.size();i++){
            ds.get(i).xuat();
        }
    }
}

2.7 Class main

package bai13;

import java.util.Scanner;


public class Bai13 {

    public static void main(String[] args) {
       DanhSachCanBo cb= new DanhSachCanBo();
       cb.nhapDS();
    }
    
}

3. Kết quả

Source code:

Trên đây là đoạn code mẫu về chương trình quản lý cán bộ. Cảm ơn các bạn đã tham khảo bài tập lập trình hướng đối tượng java trên ttnguyen.net.

Bài viết liên quan:

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em