Bài đăng diễn đàn 2 ¡ Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, ¡ Mỗi cán bộ cần quản lý lý các thuộc tính Họ tên, năm sinh, giới tính, địa chỉ ü Các công nhân cần quản lý Bậc (công n.
Trang 1¡ Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư,
¡ Mỗi cán bộ cần quản lý lý các thuộc tính: Họ tên, năm sinh, giới tính, địa chỉ
ü Các công nhân cần quản lý: Bậc (công nhân bậc 3/7, bậc 4/7 ), hệ số lương, hệ
số vượt khung
ü Các kỹ sư cần quản lý: Ngành đào tạo, hệ số lương
¡ Yêu cầu: xác định các lớp cần xây dựng
¡ Cần thực hiện các chức năng sau:
ü Nhập danh sách các công nhân và in lại danh sách
ü Nhập danh sách các kỹ sư và in lại danh sách
ü Tính tổng tiền lương của các công nhân
ü Tính tổng tiền lương của các kỹ sư
Trang 2package quanlycanboo;
import java.util.*;
public class CANBO
private String HoTen;
private int NamSinh;
private String GioiTinh;
private String DiaChi;
public CANBO()
{
HoTen=""; NamSinh=1900; GioiTinh=""; DiaChi=""; }
public void Nhap()
{
Scanner sc = new Scanner(System.in);
System.out.print("Nhap Ho Ten:");
HoTen = sc.nextLine();
System.out.print("Nhap Gioi Tinh:");
GioiTinh = sc.nextLine();
System.out.print("Nhap Dia Chi:");
DiaChi = sc.nextLine();
System.out.print("Nhap Nam Sinh:");
NamSinh=sc.nextInt();
}
public void Xuat()
{
System.out.printf("\n %15s", HoTen);
System.out.printf("%5s", GioiTinh);
System.out.printf("%15s", DiaChi);
System.out.printf("%7d", NamSinh);
}
public String getHT(){ return HoTen; }
public String getGT(){ return GioiTinh; }
public String getDC(){ return DiaChi; }
public int getNS(){ return NamSinh; }
public void setHT( String ht) { HoTen = ht; }
public void setGT( String gt) { GioiTinh = gt; } public void setDC( String dc) { DiaChi = dc; } public void setNS( int ns) { NamSinh = ns; }
} //end class CANBO
Trang 3package quanlycanboo;
import java.util.*;
public class CONGNHAN extends CANBO{
private int bac;
private float HSL;
private float HSVK=0; //he so vuot khung
public CONGNHAN()
{
super();
bac = 3; HSL = 2.34f;
}
public void Nhap()
{
super.Nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhap Bac CN:");
bac = sc.nextInt();
switch(bac)
{
case 3: HSL = 2.34f; break;
case 4: HSL = 2.67f; break;
case 5: HSL = 3.00f; break;
case 6: HSL = 3.33f; break;
case 7: HSL = 3.66f; break;
}
if(bac>=7)
{
System.out.print("Nhap HS Vuot Khung:"); HSVK = sc.nextFloat();
}
}
public void Xuat()
{
super.Xuat();
System.out.printf("%7d", bac);
System.out.printf("%7.1f", HSL);
System.out.printf("%7.1f", HSVK);
}
public float TinhLuong()
{
return HSL + HSVK)* 1650000;
}
} //end of class CONGNHAN
Trang 4package quanlycanboo;
import java.util.*;
public class KYSU extends CANBO{
private String NganhDT;
private float HSL;
public KYSU()
{
super();
NganhDT=""; HSL=0.0f;
}
public void Nhap()
{
super.Nhap();
Scanner sc = new Scanner(System.in);
System.out.print("Nhap Nganh DT:"); NganhDT = sc.nextLine();
System.out.print("Nhap HSL:");
HSL = sc.nextFloat();
}
public void Xuat()
{
super.Xuat();
System.out.printf("%15s",NganhDT); System.out.printf("%7.1f",HSL); }
public float TinhLuong()
{
return HSL*1650000;
}
} //end of class KYSU
Trang 5package quanlycanboo;
import java.util.*;
public class DSCN
ArrayList<CONGNHAN> lstCN;
public void NhapDSCN()
{
int i, ;
Scanner sc = new Scanner(System.in);
System.out.print("Nhap So CN:");
n = sc.nextInt();
lstCN = new ArrayList( );
for( =0;i n i++)
{
CONGNHAN x = new CONGNHAN();
x.Nhap();
lstCN.add( );
}
}
public void InDSCN()
{
System.out.print("\n DS CN da nhap \n"); for( CONGNHAN x: lstCN)
x.Xuat();
}
public void TinhTongTien()
{
float s = 0;
for( CONGNHAN x: lstCN)
s = s + x.TinhLuong();
System.out.print("\n Tong luong CN: " s); }
} ///end of class DSCN
Trang 6package quanlycanboo;
import java.util.*;
public class DSKYSU
ArrayList<KYSU> lstKS;
public void NhapDSKS()
{
int i, ;
Scanner sc = new Scanner(System.in);
System.out.print("Nhap so ky su:");
n = sc.nextInt();
lstKS = new ArrayList( );
for( =0;i n i++)
{
KYSU x = new KYSU();
x.Nhap();
lstKS.add( );
}
}
public void InDSKS()
{
System.out.print("\n DS Ky su \n");
for( KYSU x: lstKS)
x.Xuat();
}
public void TinhTongLuong()
{
float s = 0;
for( KYSU x: lstKS)
s = s + x.TinhLuong();
System.out.printf("\n Tong luong KS:%10.0f \n", ); }
} //end of class DSKS
Trang 7package quanlycanboo;
public class QuanLyCanBo
public static void main(String[] args) { // TODO code application logic here
DSCN to1 = new DSCN();
to1.NhapDSCN();
to1.InDSCN();
to1.TinhTongTien();
System.out.print("\n \n - \n ");
DSKYSU nhom1 = new DSKYSU();
nhom1.NhapDSKS();
nhom1.InDSKS();
nhom1.TinhTongLuong();
}
}