Đề bài
Viết một chương trình quản lý sinh viên bao gồm các lớp sau:
Lớp SinhVien:
Thuộc tính:
hoTen: họ và tên của sinh viên.
maSinhVien: mã số sinh viên.
diem: điểm của sinh viên.
Phương thức:
hienThiThongTin(): hiển thị thông tin của sinh viên.
Lớp DanhSachSinhVien:
Thuộc tính:
danhSach: danh sách sinh viên.
Phương thức:
themSinhVien(SinhVien sinhVien): thêm một sinh viên vào danh sách.
xoaSinhVienTheoMa(string maSinhVien): xóa sinh viên khỏi danh sách dựa trên mã sinh viên.
timSinhVienTheoTen(string hoTen): tìm sinh viên theo tên và trả về danh sách các sinh viên có tên tương tự.
hienThiTatCaSinhVien(): hiển thị thông tin tất cả sinh viên trong danh sách.
Yêu cầu:
Viết chương trình chính để thử nghiệm các phương thức trên.
Hiển thị menu cho người dùng lựa chọn các chức năng: thêm sinh viên, xóa sinh viên, tìm kiếm sinh viên, và hiển thị tất cả sinh viên.
Cách làm
using System;
using System.Collections.Generic;
// Lop SinhVien
public class SinhVien
{
public string hoTen { get; set; }
public string maSinhVien { get; set; }
public double diem { get; set; }
// Hien thi thong tin sinh vien
public void hienThiThongTin()
{
Console.WriteLine($"Ho Ten: {hoTen}");
Console.WriteLine($"Ma Sinh Vien: {maSinhVien}");
Console.WriteLine($"Diem: {diem}");
}
}
// Lop DanhSachSinhVien
public class DanhSachSinhVien
{
private List<SinhVien> danhSach = new List<SinhVien>();
// Them sinh vien vao danh sach
public void themSinhVien(SinhVien sinhVien)
{
danhSach.Add(sinhVien);
}
// Xoa sinh vien theo ma
public void xoaSinhVienTheoMa(string maSinhVien)
{
SinhVien sinhVienCanXoa = danhSach.Find(s => s.maSinhVien == maSinhVien);
if (sinhVienCanXoa != null)
{
danhSach.Remove(sinhVienCanXoa);
}
}
// Tim sinh vien theo ten
public List<SinhVien> timSinhVienTheoTen(string hoTen)
{
return danhSach.FindAll(s => s.hoTen.Contains(hoTen));
}
// Hien thi thong tin tat ca sinh vien
public void hienThiTatCaSinhVien()
{
foreach (SinhVien sinhVien in danhSach)
{
sinhVien.hienThiThongTin();
Console.WriteLine();
}
}
}
class Program
{
static void Main()
{
DanhSachSinhVien danhSachSinhVien = new DanhSachSinhVien();
// Them sinh vien vao danh sach
danhSachSinhVien.themSinhVien(new SinhVien { hoTen = "Nguyen Van A", maSinhVien = "SV001", diem = 8.5 });
danhSachSinhVien.themSinhVien(new SinhVien { hoTen = "Tran Thi B", maSinhVien = "SV002", diem = 7.0 });
// Hien thi tat ca sinh vien
Console.WriteLine("Danh sach sinh vien:");
danhSachSinhVien.hienThiTatCaSinhVien();
// Tim sinh vien theo ten
Console.WriteLine("Tim sinh vien theo ten 'Nguyen Van A':");
List<SinhVien> sinhVienTimDuoc = danhSachSinhVien.timSinhVienTheoTen("Nguyen Van A");
foreach (SinhVien sinhVien in sinhVienTimDuoc)
{
sinhVien.hienThiThongTin();
Console.WriteLine();
}
// Xoa sinh vien theo ma
danhSachSinhVien.xoaSinhVienTheoMa("SV001");
// Hien thi tat ca sinh vien sau khi xoa
Console.WriteLine("Danh sach sinh vien sau khi xoa:");
danhSachSinhVien.hienThiTatCaSinhVien();
}
}