8 thg 5, 2011

Quản Lý Học Sinh

Xây dựng chức năng nhập xuất thông tin cá nhân và kết quả học tập của một học sinh.
Trong đó:
Thông tin học sinh gồm: họ tên, ngày sinh
Kết quả học tập gồm: tên môn học, điểm học kỳ 1, điểm học kỳ 2, điểm cả năm
Yêu cầu: nhập thông tin và kết quả học tập của một học sinh và xuất kết quả
Điểm cả năm của từng môn học được tính theo công thức:
Điểm cả năm = (Điểm HKI + Điểm HKII * 2 ) / 3
Điểm trung bình được tính theo công thức:
Điểm trung bình = tổng điểm cả năm của tất cả môn học / số môn học

import java.io.*;

public class QLHS {
    private String HoTen;
    private String NgaySinh;
    //danh sach bang diem mon hoc cua hoc sinh
    private Diem []BangDiem;


    public QLHS()throws Exception {
     nhapThongTin();
     XuatThongTin();
    }

    public void nhapThongTin() throws Exception{
        System.out.print("Ho Ten: ");
        BufferedReader _nhap=new BufferedReader(new InputStreamReader(System.in));
        HoTen=_nhap.readLine();
        System.out.print("Ngay Sinh: ");
        NgaySinh=_nhap.readLine();
        System.out.print("So Luong Mon Hoc: "); //Số lượng môn học phải nằm ở lớp Điểm chứ không thể ở đây
        int n= Integer.parseInt(_nhap.readLine());
        BangDiem= new Diem[n];
        //nhap diem cua tung mon hoc
        for(int i=0;i<n;++i){
         BangDiem[i]=new Diem();
         BangDiem[i].nhapDiem();
         System.out.println("");
        }
    }

    public void XuatThongTin(){
     System.out.println("Ho Ten: "+HoTen);
     System.out.println("Ngay Sinh: "+NgaySinh);
     System.out.println("STT    Mon          Diem HK1     Diem HK2     Diem TB");
     for (int i = 0; i<BangDiem.length; i++){
      BangDiem[i].xuatDiem(i+1);
     };
     System.out.printf("Diem Trung Binh: %2.2f\n",DiemTBCaNam());
     System.out.println("Xep Loai: "+XepLoai());
    }

    public String XepLoai(){
     if(DiemTBCaNam()<5.0)
      return "yeu";
     else if(DiemTBCaNam()>=5.0 && DiemTBCaNam()<6.5)
      return"Trung Binh";
     else if(DiemTBCaNam()>=6.5 &&DiemTBCaNam()<7.5)
      return"Kha";
     else if(DiemTBCaNam()>=7.5 && DiemTBCaNam()<8.5)
     return"Xuat Sac";
    }

    public double DiemTBCaNam(){
     double tong=0;
     for (int i = 0; i<BangDiem.length; i++){
      tong+=BangDiem[i].DiemTrungBinh();
     };
     return tong/BangDiem.length;
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)throws Exception {
        QLHS temp= new QLHS();
    }
}
//Xay Dung Class Diem De quang ly bang diem cua tung hoc sinh
class Diem{
 private String TenMon;
 private double DiemHK1;
 private double DiemHK2;

 public Diem(String _ten, double _DiemHK1,double _DiemHK2){
  TenMon=_ten;
  DiemHK1=_DiemHK1;
  DiemHK2=_DiemHK2;
 }
 public Diem(){

 }

 public void nhapDiem() throws Exception{
        System.out.print("\tTen Mon: ");
        BufferedReader _nhap=new BufferedReader(new InputStreamReader(System.in));
        TenMon=_nhap.readLine();
        System.out.print("Diem Hoc Ki 1: ");
        DiemHK1=Double.parseDouble(_nhap.readLine());
        System.out.print("Diem Hoc Ki 2: ");
        DiemHK2=Double.parseDouble(_nhap.readLine());

 }
 public void xuatDiem(int i){
  //in theo dang Stt tenMon DiemHK1 DiemHK2 DiemTB
  System.out.printf("%3d    %-12s %-12.2f %-12.2f %2.2f \n",i,TenMon,DiemHK1,DiemHK2,DiemTrungBinh());
        //System.out.println(i+"    "+TenMon+"         "+DiemHK1+"         "+DiemHK2+"    "+DiemTrungBinh());
    }

 public double DiemTrungBinh(){
  return (DiemHK1+DiemHK2*2)/3;
 }
}

Không có nhận xét nào:

Đăng nhận xét

Bản beta đầu tiên

Sau 6 tháng cả team cặm cụi làm việc điên cuồng, bản alpha cũng được giới thiệu ra toàn bộ công ty và được testing nội bộ công ty mà thôi. ...