Wednesday, April 27, 2016

Bài tập lập trình hướng đối tượng với Java (Số 4)

//Họ Tên: Trần Văn Linh
//MaSV:581597
//Lớp:K58QLTT

Đề:
Khoa CNTT-DHTN cần quản lý việc thanh toán tiền lương cho các cán bộ giáo viên trong khoa. Để quản
lý được, thì nhà quản lý cần có những thông tin như sau:
- Với mỗi cán bộ giáo viên, có các thông tin như sau: lương cứng, thướng, phạt, lương thực lĩnh và các
thông tin cá nhân của mỗi cán bộ giáo viên
- Các thông tin cá nhân của mỗi cán bộ giáo viên: Họ và tên, ngày sinh, quê quán.
1. Hãy xây dựng lớp Nguoi để quản lý các thông tin cá nhân về mỗi cán bộ giáo viên
2. Xây dựng lớp CBGV ( cán bộ giáo viên) để quản lý các thông tin về mỗi cán bộ giáo viên
3. Xây dựng các phương thức : nhập, hiển thị các thông tin cá nhân của mỗi cán bộ giáo viên
4. Tính lương thực lĩnh cho mỗi cán bộ nếu công thức tính lương được tính như sau:
Lương thực lĩnh=Lương cứng + thưởng - phạt
5. In ra danh sách những cán bộ có lương thực lĩnh >= 8 triệu
    Giải

//Lớp Nguoi
import java.util.Scanner;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Nguoi
{
    private String hoTen;
    private Date ngaySinh;
    private String queQuan;
 
    public Nguoi()
    {
        this.ngaySinh=new Date();
    }
    public Nguoi(String hoTen,Date ngaySinh,String queQuan)
    {
        this.hoTen=hoTen;
        this.ngaySinh=ngaySinh;
        this.queQuan=queQuan;
    }
 
    public void nhapThongTin(Scanner sc)
    {
        System.out.print("Nhap ho ten: ");
        this.hoTen=sc.nextLine();
        System.out.println("Nhap ngay sinh(dd-MM-yyyy): ");
        String ns=sc.nextLine();
        this.ngaySinh=chuyenStringDate(ns);
        System.out.print("Nhap que quan: ");
        this.queQuan=sc.nextLine();
    }
    public Date chuyenStringDate(String str)
    {
        Date ns=null;
        SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy");
        try
        {
            ns=sdf.parse(str);
        }
        catch(Exception e)
        {
            System.out.println("Loi dinh dang ngay thang.!");
        }
        return ns;
    }
    public void hienThongTin()
    {
         System.out.println("Ho va ten: "+this.hoTen);
         System.out.println("Ngay Sinh: "+this.ngaySinh);
         System.out.println("Que quan: "+this.queQuan);
    }

}
//Lop CBGV
import java.util.Scanner;
import java.util.Date;
public class CBGV extends Nguoi
{
    private double luongCung;
    private double thuong;
    private double lThuclinh;
    private double phat;
    
    public CBGV()
    {
        
    }
    public  CBGV(String hoTen,Date ngaySinh,String queQuan,double luongCung,double thuong,double phat)
    {
        super( hoTen,ngaySinh, queQuan);
        this.luongCung=luongCung;
        this.thuong=thuong;
        this.phat=phat;
        this.lThuclinh=this.luongCung+this.thuong-this.phat;
    }
    
    public void nhapThongTin(Scanner sc)
    {
        super.nhapThongTin(sc);
        System.out.print("Nhap luong cung: ");
        this.luongCung=sc.nextDouble();
        System.out.print("Nhap thuong: ");
        this.thuong=sc.nextDouble();
        System.out.print("Nhap phat: ");
        this.phat=sc.nextDouble();sc.nextLine();
        this.lThuclinh=this.luongCung+this.thuong-this.phat;
    }
    public void hienThongTin()
    {
        super.hienThongTin();
        System.out.println("Luong cung: "+this.luongCung);
        System.out.println("Thuong: "+this.thuong);
        System.out.println("Phat: "+this.phat);
        System.out.println("Luong thuc linh: "+this.lThuclinh);
    }
    
    public double getLuongThucLinh()
    {
       return this.lThuclinh;
    }
    public static void main(String[] args)
    {
        CBGV dsCB[];
        Scanner sc=new Scanner(System.in);
        System.out.print("Nhap so luong can bo :");
        int n=sc.nextInt();sc.nextLine();
        dsCB=new CBGV[n];
        for(int i=0;i<n;i++)
        {
            System.out.println("Nhap can bo thu "+(i+1)+": ");
            dsCB[i]=new CBGV();
            dsCB[i].nhapThongTin(sc);
        }
        
        System.out.println("Can bo co luong thuc linh >=8trieu:");
        for(int i=0;i<n;i++)
        {
            if(dsCB[i].getLuongThucLinh()>=8000000)
                dsCB[i].hienThongTin();
        }
    }
}


0 comments:

Post a Comment