Bài tập C# cơ bản
Viết một chương trình quản lý sinh viên sử dụng giao diện console (hoặc Window form), có những chức năng sau:
- Hiển thị menu chọn
- Nhập dữ liệu từ giao diện
- Nhập danh sách môn học (Id, Tên môn học, trọng số khi tính điểm trung bình)
- Nhập danh sách giáo viên (Id, Tên, Quê Quán, Ngày sinh, 1 môn học sẽ dạy ID) --> Nhập Tên, Quê quán, ngày sinh --> chọn môn học --> save
- Nhập danh sách lớp học(Id, Tên Lớp, Id giáo viên chủ nhiệm) --> Nhập tên lớp --> chọn giáo viên từ danh sách --> save
- Nhập danh sách sinh viên (Id, Tên, Lớp, Quê Quán, Ngày sinh) --> nhập tên, quê quán, ngày sinh --> chọn lớp từ danh sách --> save
- Nhập danh sách khóa học (Id, LớpId, MônHọcId, GiáoViênId) --> chọn lớp học --> chọn môn học --> chọn giáo viên ==> lưu
- Nhập danh sách điểm(Id, Khóa họcId, HocSinhId, Điểm) --> nếu nhập từ giao diện thì sẽ làm menu chọn lớp --> chọn khóa học --> chọn học sinh ==> nhập điểm, điểm chỉ hợp lệ là 0~10 (có thể có 1 số sau dấu .)
- Hiển thị dữ liệu
- Hiển thị danh sách môn học
- Hiển thị danh sách giáo viên (Id, Tên, Quê quán, ngày sinh, Chủ nhiệm lớp, môn dạy, số lượng học sinh theo khóa học) --> Chọn 1 giáo viên --> in danh sách khóa học --> chọn 1 khóa học --> in bảng điểm khóa học được chọn
- Hiển thị danh sách lớp học (Id, Tên lớp, giáo viên chủ nhiệm, số lượng học sinh) --> Chọn 1 lớp, hiển thị danh sách khóa học -> Chọn 1 khóa học, hiển thị bảng điểm
- Hiển thị danh sách sinh viên theo từng lớp --> Chọn 1 học sinh, hiển thị bảng điểm của học sinh đó
- Tìm kiếm dữ liệu:
- Tìm tên học sinh --> Danh sách học sinh được tìm thấy --> chọn 1 kết quả --> in bảng điểm
- Tìm tên 1 lớp --> Danh sách lớp --> danh sách khóa học --> bảng điểm của khóa học
- Báo cáo:
- Danh sách học sinh giỏi (sắp xếp theo lớp, tên học sinh, điểm) : có điểm trung bình 8 trở lên
- Điểm trung bình theo lớp : Chọn lớp --> in bảng điểm trung bình
- Top 100 học sinh: Sắp xếp theo điểm, lớp, tên
- Top 3 lớp có số lượng học sinh giỏi nhiều nhất
- Top 3 lớp có điểm trung bình cao nhất
- Top 3 giáo viên có
- Số lượng khóa học nhiều nhất
- Số lượng học sinh nhiều nhất
- Điểm trung bình (theo môn dạy) cao nhất
Ghi chú: Điểm trung bình = SumAll(điểm * trọng số môn) / SumAll(trọng số môn)
Yêu cầu lúc tạo pull request:
- Chương trình đã xong về cơ bản
- Dữ liệu được lưu vào thư mục Data/<tên class>.json (hoặc xml)
- Khi chương trình chạy thì dữ liệu được load lên từ file ở trên
- Tạo dữ liệu sẵn (đẹp đẹp chút, tên là Ho Va Ten thay vi xxxx, yzjahs)
Đề nghị
- Viết code theo chuẩn
- Tạo class hợp lý
- Phân tích những thao tác thường dùng nhất và cố gắng viết code 1 lần và tái sử dụng
- Trên 1 danh sách chọn phải có ID (nếu hiển thị dữ liệu) hoặc số thứ tự (nếu hiển thị menu), nhập số để chọn
- Tham khảo các hàm xử lý console để làm chương trình
thân thiện
với người dùng - Dùng linq để xử lý dữ liệu