1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo môn lập trình hướng đối tượ ng tạo class có tên sohoc gồm có các thành phần dữ liệu sau

34 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tạo Class Có Tên SoHoc Gồm Có Các Thành Phần Dữ Liệu Sau
Tác giả Phan Lê Phúc Nguyên, Huỳnh Ngọc Thái
Người hướng dẫn ThS. Nguyễn Hữu Tiến
Trường học Trường Đại Học Phan Thiết
Chuyên ngành Lập Trình Hướng Đối Tượng
Thể loại Báo Cáo
Năm xuất bản 2022
Thành phố Bình Thuận
Định dạng
Số trang 34
Dung lượng 2,1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

* Khởi tạo đầy đủ tham số * Property cho các trường * NhapThongTin: Nhập thông tin cho nhân viên * XuatThongTin: Hiển thị thông tin nhân viên ra màn hình * TinhTienThuong: Tính tiền t

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC PHAN THIẾT KHOA CÔNG NGHỆ THÔNG TIN

-BÁO CÁO MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢ NG

Giảng viên hướ ng dẫn: ThS Nguy  ễ  n H  ữ  u Ti  ế  n  

Sinh viên thự c hiện:  PHAN LÊ PHÚC NGUYÊ N –  H U Ỳ NH NGỌC THÁI H ỌC

Trang 3

Bình Thuận, ngày 21 tháng 12 năm 2022  Câu 1

Tạo class có tên SoHoc gồm có các thành phần dữ liệu sau:

* private number1 (float)

* private number2 (float)

Phương thức

* Phương thức khở  i tạo mặc định

* Phương thức khở  i tạo có tham số 

* Các property cho tất cả các trườ  ng

* Nhap(): Nhậ  p hai số number1, number2

* Xuat(): Hiển thị hai số number1, number2

* Cong(): Dùng để cộng number1, number2

* Tru(): Dùng để tr  ừ number1, number2

* Nhan(): Dùng để nhân number1, number2

* Chia(): Dùng để chia number1, number2

private float number1;

private float number2;

this.number1 = number1;

this.number2 = number2;

}

public float Number1

{

get { return number1; }

set { number1 = value; }

}

Trang 4

public float Number2

{

get { return number2; }

set { number2 = value; }

}

public void Nhap()

{

Console.Write("Nhap so thu nhat: ");

number1 = float.Parse(Console.ReadLine());

Console.Write("Nhap so thu hai: ");

number2 = float.Parse(Console.ReadLine());

}

public void Xuat()

{

Console.WriteLine("So thu nhat: "+number1);

Console.WriteLine("So thu hai: "+number2);

Trang 5

* Khởi tạo đầy đủ tham số 

* Property cho các trường 

* NhapThongTin(): Nhập thông tin cho nhân viên 

* XuatThongTin(): Hiển thị thông tin nhân viên ra màn hình 

* TinhTienThuong(): Tính tiền thưởng của nhân viên theo công thức sau: 

* Nếu tổng số giờ làm của nhân viên >=200 thì thưởng = Lương *20% 

* Nếu tổng số giờ làm của nhân viên <200 và >=100 thì thưởng = lương * 10%

* Nếu tổng số giờ làm của nhân viên <100 thì thưởng = 0 

private string ten;

private int tuoi;

private string diaChi;

private double luong;

private int soGioLam;

this.ten = ten;

this.tuoi = tuoi;

this.diaChi = diaChi;

this.luong = luong;

this.soGioLam = soGioLam;

}

Trang 6

public string Ten

{

get { return ten; }

set { ten = value; }

}

public int Tuoi

{

get { return tuoi; }

set { tuoi = value; }

}

public string DiaChi

{

get { return diaChi; }

set { diaChi = value; }

}

public double Luong

{

get { return luong; }

set { luong = value; }

}

public int SoGioLam

{

get { return soGioLam; }

set { soGioLam = value; }

Console.Write("Nhap tuoi nhan vien: ");

tuoi = int.Parse(Console.ReadLine());

Console.Write("Nhap đia chi nhan vien: ");

diaChi = Console.ReadLine();

Console.Write("Nhap luong nhan vien: ");

luong = double.Parse(Console.ReadLine());

Console.Write("Nhap so gio lam cua nhan vien: ");

soGioLam = int.Parse(Console.ReadLine());

}

public void XuatThongTin()

{

Console.WriteLine("Ten nhan vien: " + ten);

Console.WriteLine("Tuoi nhan vien: " + tuoi);

Console.WriteLine("Dia chi nhan vien: " + diaChi);

Console.WriteLine("Tien luong nhan vien: " + luong);

Console.WriteLine("So gio lam nhan vien: " + soGioLam);

Trang 7

* Tuổi: phải lớn hơn hoặc bằng 18 

* Lớp: Phải Bắt đầu bằng ký tự ‘A’ hoặc ‘C’  

Viết các phương thức sau: 

* Khởi tạo mặc định 

* Khởi tạo có tham số 

* Property cho các trường 

* Nhập thông tin cho sinh viên (theo các ràng buộc dữ liệu trên) 

* Hiển thị thông tin sinh viên ra màn hình 

* Kiểm tra xem sinh viên có được học bổng không (điểm trung bình >=8.0) 

private string maSV;

private float diemTB;

private int tuoi;

private string lop;

public Student()

Trang 8

this.maSV = maSV;

this.diemTB = diemTB;

this.tuoi = tuoi;

this.lop = lop;

}

public string MaSV

{

get { return maSV; }

set { maSV = value; }

}

public float DiemTB

{

get { return diemTB; }

set { diemTB = value; }

}

public int Tuoi

{

get { return tuoi; }

set { tuoi = value; }

}

public string Lop

{

get { return lop; }

set { lop = value; }

}

public void NhapThongTin()

{

Console.Write("Nhap ma sinh vien: ");

string tempMaSV = Console.ReadLine();

if (tempMaSV.Length != 8)

{

Console.WriteLine("Ma sinh vien khong dung 8 ki tu!");

return;}

Console.Write("Nhap diem trung binh: ");

float tempDiemTB = float.Parse(Console.ReadLine());

if (tempDiemTB < 0 || tempDiemTB > 10)

{

Console.WriteLine("Diem sinh vien khong hop le !");

return;}

Console.Write("Nhap so tuoi: ");

int tempTuoi = int.Parse(Console.ReadLine());

if (tempTuoi < 18)

{

Console.WriteLine("Tuoi cua sinh vien phai lon hon bang 18");

return;}

Console.Write("Nhap lop sinh vien: ");

string tempLopSV = Console.ReadLine();

if (!(tempLopSV.StartsWith('A') || tempLopSV.StartsWith('C'))){

Trang 9

Console.WriteLine("Ma lop phai bat dau bang A hoac C!");

return;}

Console.WriteLine("Ma so sinh vien: " + maSV);

Console.WriteLine("Diem trung binh: " + diemTB);

Console.WriteLine("Tuoi sinh vien: " + tuoi);

Console.WriteLine("Lop sinh vien: " + lop);

Viết các phương thức sau: 

* Kiểm tra hai Vector có bằng nhau không  

* Tính góc giữa hai vector   

* Tính module của 2 vector   

Trang 10

* Kiểm tra hai vector có cùng phương không 

* Cộng, trừ, nhân hai vector   

Hàm Main(): Nhập vào hai vector và thực hiện các phép toán trên hai vector đó  

// X1, Y1 la diem bat dau 

// X2, Y2 la diem ket thuc 

public double X1 { get; set; }

public double Y1 { get; set; }

public double X2 { get; set; }

public double Y2 { get; set; }

public Vector(double x1, double y1, double x2, double y2)

double tichVoHuong = TichVoHuong(v);

double doDaiA = TinhModule();

double doDaiB = v.TinhModule();

double goc = Math.Acos(tichVoHuong / (doDaiA * doDaiB));

Trang 11

double y2 = Y2 + v.Y2;

return new Vector(x1, y1, x2, y2);

double y2 = Y2 - v.Y2;

return new Vector(x1, y1, x2, y2);

Trang 12

* Giới tính 

* Ngày sinh

* Địa chỉ 

Viết các phương thức sau:  

* Khởi tạo mặc định, khởi tạo có tham số, property cho các thành phần dữ liệu  

* Viết phương thức nhập, xuất thông tin ra màn hình 

protected string ten;

protected int gioiTinh;

protected DateTime ngaySinh;

protected string diaChi;

this.ten = ten;

this.gioiTinh = gioiTinh;

this.ngaySinh = ngaySinh;

this.diaChi = diaChi;

}

public string Ten

{

get { return ten; }

set { ten = value; }

}

public int GioiTinh

{

get { return gioiTinh; }

set { gioiTinh = value; }

}

public DateTime NgaySinh

{

get { return ngaySinh; }

set { ngaySinh = value; }

}

public string DiaChi

{

get { return diaChi; }

set { diaChi = value; }

}

Trang 13

{

Console.Write("Nhap ho ten: ");

ten = Console.ReadLine();

Console.Write("Chon gioi tinh (nam = 0, nu = 1): ");

gioiTinh = int.Parse(Console.ReadLine());

while (gioiTinh >1 || gioiTinh < 0)

{

Console.WriteLine("Gioi tinh khong hop le !");

Console.Write("Vui long chon lai gioi tinh (0 hoac 1): ");gioiTinh = int.Parse(Console.ReadLine());

Console.WriteLine("Ten: " + ten);

string strGioiTinh = gioiTinh == 0 ? "Nam" : "Nu";

Console.WriteLine("Gioi tinh: "+strGioiTinh);

Console.WriteLine("Ngay sinh: " + ngaySinh.Date.ToString("d"));Console.WriteLine("Dia chi: " + diaChi);

Trang 14

* Ghi đè các phương thức nhập, xuất thông tin 

* Kiểm tra xem sinh viên có được học bổng không (Điểm trung bình >=8.0) 

private string maSV;

private float diemTB;

private string email;

public Student() : base()

{

}

public Student(string ten, int gioiTinh, DateTime ngaySinh, string diaChi, string maSV, float diemTB, string email) : base(ten, gioiTinh, ngaySinh,diaChi)

{

this.maSV = maSV;

this.diemTB = diemTB;

this.email = email;

}

public string MaSV

{

get { return maSV; }

set { maSV = value; }

}

public float DiemTB

{

get { return diemTB; }

set { diemTB = value; }

}

public string Email

{

get { return email; }

set { email = value; }

}

public void NhapThongTin()

{

base.NhapThongTin();

Console.Write("Nhap ma sinh vien: ");

string tempMaSV = Console.ReadLine();

while (tempMaSV.Length != 8)

{

Console.WriteLine("Ma sinh vien khong dung 8 ki tu!");

Console.Write("Nhap lai ma sinh vien: ");

tempMaSV = Console.ReadLine();

}

Console.Write("Nhap diem trung binh: ");

float tempDiemTB = float.Parse(Console.ReadLine());

while (tempDiemTB < 0 || tempDiemTB > 10)

Trang 15

Console.WriteLine("Diem sinh vien khong hop le !");

Console.Write("Nhap lai diem trung binh: ");

tempDiemTB = float.Parse(Console.ReadLine());

}

Console.Write("Nhap email: ");

string tempEmail = Console.ReadLine();

while (!tempEmail.Contains('@') || tempEmail.Contains(' '))

Console.WriteLine("Ma so sinh vien: " + maSV);

Console.WriteLine("Email sinh vien: " + email);

Console.WriteLine("Diem trung binh: " + diemTB);

}

}

Demo:

Trang 16

Câu 7:

Tạo lớp StudentTest chứa hàm Main() và thực hiện các công việc sau:  

Tạo menu chọn với yêu cầu:  

1 - Nhập vào danh sách n sinh viên (n được nhập từ bàn phím)  

2 - Hiển thị danh sách sinh viên đã nhập ra màn hình  

3 –   Hiển thị sinh viên có điểm trung bình cao nhất và sinh viên có điểm trung bình thấp nhất 

4 –   Tìm kiếm sinh viên theo mã sinh viên Cho người dùng nhập vào mã sinh viên, nếu tồn tại sinh viên có trong danh sách thì in thông tin sinh viên đó ra màn hình, ngược lại in

“không tìm thấy”. 

5 –   Hiển thị danh sách sinh viên theo thứ tự tăng dần theo tên. 

6 Hiển thị danh sách sinh viên nhận được học bổng. 

Trang 17

VIEN Console.WriteLine("1 Nhap danh sach sinh vien moi");

Console.WriteLine("2 Hien thi danh sach sinh vien da nhap");

Console.WriteLine("3 Hien thi sinh vien co diem trung binh cao nhat

va thap nhat");

Console.WriteLine("4 Tim kiem sinh vien");

Console.WriteLine("5 Hien thi sinh vien tang dan theo ten");

Console.WriteLine("6 Hien thi danh sach duoc nhan hoc bong");Console.WriteLine("7 Thoat chuong trinh");

}

static void luaChon()

{

Console.Write("Lua chon: ");

int num = int.Parse(Console.ReadLine());

break;}

Console.Write("\n\n");

}

static void xuLy1()

{

Trang 18

// Nhap danh sach sinh vien 

Console.Write("Nhap so luong sinh vien n: ");

int n = int.Parse(Console.ReadLine());

students = new Student[n];

for (int i = 0; i < students.Length; i++)

{

students[i] = new Student();

Console.WriteLine(" -Nhap thong tin sinh vien thu

Console.WriteLine(" -Danh sach sinh

// Khơi tạo giá trị đầu tiên 

Student minStudent = students[0];

Student maxStudent = students[0];

// Duyệt từ 1 thay vì 0 vì giá trị ban đầu đã là 1 

for (int i = 1; i < students.Length; i++)

{

Student stu = students[i];

if (stu.DiemTB > maxStudent.DiemTB)maxStudent = stu;

if (stu.DiemTB < minStudent.DiemTB)minStudent = stu;

Trang 19

Console.WriteLine(" -Tim kiem sinh vien -");Console.Write("Nhap ma sinh vien: ");

string msv = Console.ReadLine();

bool isFound = false;

for (int i = 0; i < students.Length; i++)

{

if (students[i].MaSV.Equals(msv)){

isFound = true;students[i].XuatThongTin();

Console.Write("\n");

}}

Console.WriteLine(" -Danh sach sinh vien theo ten tangdan -\n");

// Selection sort 

Student[] sortedStudents = (Student[]) students.Clone();

for (int i = 0; i < sortedStudents.Length; i++)

{

k = j;

}}Student temp = sortedStudents[i];

Trang 20

Console.WriteLine(" -Danh sach sinh vien duoc hoc -\n");

bong for (int i = 0; i < students.Length; i++)

{

if (students[i].KiemTraHocBong()){

students[i].XuatThongTin();

Console.Write("\n");

}}

Trang 21

* Lương một giờ dạy 

* Số giờ dạy trong tháng 

Viết các phương thức sau: 

* Ghi đè phương thức nhập, xuất của lớp Person. 

* Tính lương giảng viên theo công thức sau: 

 Nếu lớp dạy là lớp buổi sáng và buổi chiều (Lớp G, H, I, K) thì: 

Lương = lương một giờ dạy x Số giờ dạy trong tháng 

 Nếu lớp dạy là lớp buổi tối (Lớp L, M) thì: 

Lương = lương một giờ dạy x Số giờ dạy trong tháng + 200000đ 

private string lopDay;

private float luong1Gio;

private float soGioDay;

public Teacher() : base()

{

}

public string LopDay

{

get { return lopDay; }

set { lopDay = value; }

}

public float Luong1Gio

{

get { return luong1Gio; }

set { luong1Gio = value; }

}

public float SoGioDay

{

get { return soGioDay; }

set { soGioDay = value; }

while (!(lopDay.StartsWith('G') || lopDay.StartsWith('H') ||

lopDay.StartsWith('I') || lopDay.StartsWith('K') || lopDay.StartsWith('L') ||lopDay.StartsWith('M')))

{

Trang 22

Console.Write("Nhap luong 1 gio day: ");

luong1Gio = float.Parse(Console.ReadLine());

while (luong1Gio < 0)

{

Console.WriteLine("Luong 1 gio day khong be hon 0 !");

Console.Write("Nhap lai luong 1 gio day: ");

luong1Gio = float.Parse(Console.ReadLine());

}

Console.Write("Nhap so gio day: ");

soGioDay = float.Parse(Console.ReadLine());

while (soGioDay < 0)

{

Console.WriteLine("So gio day khong be hon 0 !");

Console.Write("Nhap lai so gio day: ");

soGioDay = float.Parse(Console.ReadLine());

Console.WriteLine("Lop day: " + lopDay);

Console.WriteLine("Luong 1 gio day: " + luong1Gio);

Console.WriteLine("So gio day: " + soGioDay);

Console.WriteLine("Tong tien luong: " + TinhLuong());

Trang 23

Câu 9:

Tạo lớp TeacherTest chứa hàm Main() và thực hiện các công việc sau:  

Tạo menu lựa chọn với các yêu cầu cụ thể như sau:  

1 –     Nhập vào danh sách n giảng viên (với n là số lượng giảng viên được nhập từ   bàn phím)

2 –   Hiển thị danh sách giảng viên đã nhập ra màn hình

3 –   Hiển thị giảng viên có số giờ dạy cao nhất 

4 –   Hiển thị giảng viên có lương thực nhận cao nhất 

static Teacher[] teachers;

public static void Main()

Trang 24

VIEN -Console.WriteLine("1 Nhap danh sach giang vien moi");

Console.WriteLine("2 Hien thi danh sach giang vien da nhap");Console.WriteLine("3 Hien thi giang vien co gio day cao nhat");Console.WriteLine("4 Hien thi giang vien co luong cao nhat");Console.WriteLine("5 Thoat chuong trinh");

}

static void luaChon()

{

Console.Write("Lua chon: ");

int num = int.Parse(Console.ReadLine());

break;}

Console.Write("\n\n");

}

static void xuLy1()

{

// Nhap danh sach giang vien 

Console.Write("Nhap so luong giang vien n: ");

int n = int.Parse(Console.ReadLine());

teachers = new Teacher[n];

for (int i = 0; i < teachers.Length; i++)

{

teachers[i] = new Teacher();

Console.WriteLine(" -Nhap thong tin giang vien thu " +(i + 1) + " -");

Trang 25

// Hien thi danh sach giang vien 

Console.WriteLine(" -Danh sach giang

// Khơi tạo giá trị đầu tiên 

Teacher maxGioDay = teachers[0];

// Duyệt từ 1 thay vì 0 vì giá trị ban đầu đã là 1 

for (int i = 1; i < teachers.Length; i++)

{

Teacher teacher = teachers[i];

if (teacher.SoGioDay > maxGioDay.SoGioDay)maxGioDay = teacher;

// Khơi tạo giá trị đầu tiên 

Teacher maxLuong = teachers[0];

for (int i = 1; i < teachers.Length; i++)

{

Teacher teacher = teachers[i];

if (teacher.TinhLuong() > maxLuong.TinhLuong())maxLuong = teacher;

Trang 26

{

Console.WriteLine("Danh sach giang vien trong !");

return true;}

Cuối năm học, nhà trường muốn trao phần thưởng cho các sinh viên giỏi, các giáo viên

có tham gia nghiên cứu đề tài khoa học Trong đó thông tin về các sinh viên là: Họ tên, ngày sinh, lớp, điểm trung bình Thông tin về giáo viên là: Họ tên, ngày sinh, khoa, số  bài báo Điều kiện khen thưởng của sinh viên là có điểm trung bình lớn hơn 8 Điều kiện khen thưởng của giáo viên là có ít nhất một bài báo nghiên cứu khoa học Áp dụng tính

kế thừa và đa hình, hãy thực hiện các yêu cầu sau: 

* Xây dựng lớp Person gồm các thông tin chung của hai lớp giáo viên và sinh viên Sau

đó xây dựng hai lớp giáo viên và sinh viên kế thừa từ lớp Person này. 

* Xây dựng phương thức nhập, xuất thông tin trong lớp Person, sau đó ghi đè lại các  phương thức này trong hai lớp sinh viên và giáo viên.

* Khởi tạo một mảng duy nhất để lưu trữ các đối tượng sinh viên và giáo viên In ra màn hình danh sách sinh viên và giáo viên được khen thưởng.

Ngày đăng: 12/12/2023, 15:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w