By GokiSoft.com|
15:22 28/10/2021|
C Sharp
[Video] Quản lý điểm thi Aptech bằng C# - Lập trình C Sharp
Bài tập - Quản lý điểm thi Aptech bằng C# - Lập trình C Sharp
#Program.cs
using System;
using System.Collections.Generic;
namespace BT2499
{
delegate void SwitchCase();
class Manager
{
static void Main(string[] args)
{
SwitchCase[] options = {InputStudent, InputMark, SortStudent, Find, ExitProgram};
int choose;
do
{
ShowMenu();
choose = int.Parse(Console.ReadLine());
if(choose > 0 && choose <= options.Length)
{
options[choose - 1]();
} else
{
Console.WriteLine("Nhap sai!!!");
}
} while (choose != 5);
}
private static void InputStudent()
{
Console.WriteLine("Nhap so sinh vien can them N = ");
int N = int.Parse(Console.ReadLine());
for(int i=0;i<N;i++)
{
StudentAptech student = new StudentAptech();
student.Input();
DataMgr.GetInstance().StudentList.Add(student);
}
}
private static void InputMark()
{
Console.WriteLine("Nhap so diem thi can them N = ");
int N = int.Parse(Console.ReadLine());
for (int i = 0; i < N; i++)
{
StudentMark mark = new StudentMark();
mark.Input();
DataMgr.GetInstance().MarkList.Add(mark);
}
}
private static void SortStudent()
{
List<StudentAptech> studentList = DataMgr.GetInstance().StudentList;
studentList.Sort((s1, s2) => {
return s1.StuName.CompareTo(s2.StuName);
});
foreach(StudentAptech student in studentList)
{
student.Display();
}
}
private static void Find()
{
Console.WriteLine("Nhap msv can xem thong tin: ");
string msv = Console.ReadLine();
StudentAptech studentFind = DataMgr.GetInstance().FindStudentByID(msv);
if(studentFind != null)
{
StudentMarkTotal studentMarkTotal = new StudentMarkTotal(msv);
studentMarkTotal.CalculateEverageMark(DataMgr.GetInstance().MarkList);
studentMarkTotal.Display();
} else
{
Console.WriteLine("Khong tim thay sinh vien phu hop");
}
}
private static void ExitProgram()
{
Console.WriteLine("Thoat chuong trinh!!!");
}
static void ShowMenu()
{
Console.WriteLine("1. Nhap N sinh vien");
Console.WriteLine("2. Nhap N diem");
Console.WriteLine("3. Sap xep sinh vien & hien thi");
Console.WriteLine("4. Hien thi ket qua hoc sinh vien theo id");
Console.WriteLine("5. Thoat");
Console.WriteLine("Chon: ");
}
}
}
#IMark.cs
using System;
namespace BT2499
{
public interface IMark
{
void Input();
void Display();
}
}
#StudentAptech.cs
using System;
namespace BT2499
{
public class StudentAptech : IMark
{
public string StuId { get; set; }
public string StuName { get; set; }
public string Gender { get; set; }
public string Birthday { get; set; }
public string NativePlace { get; set; }
public StudentAptech()
{
}
public StudentAptech(string stuId, string stuName, string gender, string birthday, string nativePlace)
{
StuId = stuId;
StuName = stuName;
Gender = gender;
Birthday = birthday;
NativePlace = nativePlace;
}
public void Display()
{
Console.WriteLine("MSV: {0}, ten: {1}, gioi tinh: {2}, ngay sinh: {3}, " +
"dia chi: {4}", StuId, StuName, Gender, Birthday, NativePlace);
}
public void Input()
{
Console.WriteLine("1. Nhap msv: ");
StuId = Console.ReadLine();
Console.WriteLine("2. Nhap ten: ");
StuName = Console.ReadLine();
Console.WriteLine("3. Nhap gioi tinh: ");
Gender = Console.ReadLine();
Console.WriteLine("4. Nhap ngay sinh: ");
Birthday = Console.ReadLine();
Console.WriteLine("5. Nhap dia chi: ");
NativePlace = Console.ReadLine();
}
}
}
#StudentMark.cs
using System;
namespace BT2499
{
public class StudentMark : IMark
{
public string StuId { get; set; }
public string ClassName { get; set; }
public string SubjectName { get; set; }
public int Semester { get; set; }
public float Mark { get; set; }
public StudentMark()
{
}
public StudentMark(string stuId, string className, string subjectName, int semester, float mark)
{
StuId = stuId;
ClassName = className;
SubjectName = subjectName;
Semester = semester;
Mark = mark;
}
public void Display()
{
Console.WriteLine("MSV: {0}, ten lop: {1}, mon hoc: {2}, ky hoc: {3}, " +
"diem: {4}", StuId, ClassName, SubjectName, Semester, Mark);
}
public void Input()
{
if(DataMgr.GetInstance().StudentList.Count == 0)
{
return;
}
Console.WriteLine("Nhap msv: ");
while(true)
{
StuId = Console.ReadLine();
StudentAptech student = DataMgr.GetInstance().FindStudentByID(StuId);
if(student != null)
{
break;
}
Console.WriteLine("Nhap sai!!!");
}
Console.WriteLine("Nhap ten lop: ");
ClassName = Console.ReadLine();
Console.WriteLine("Nhap mon hoc: ");
SubjectName = Console.ReadLine();
Console.WriteLine("Nhap ky hoc: ");
Semester = int.Parse(Console.ReadLine());
Console.WriteLine("Nhap diem: ");
Mark = float.Parse(Console.ReadLine());
}
}
}
#StudentMarkTotal.cs
using System;
using System.Collections.Generic;
namespace BT2499
{
public class StudentMarkTotal : IMark
{
public string StuId { get; set; }
public int TotalExamSubject { get; set; }
public float EverageMark { get; set; }
public StudentMarkTotal()
{
}
public StudentMarkTotal(string stuId)
{
StuId = stuId;
}
public void Display()
{
Console.WriteLine("msv: {0}, tong mon: {1}, diem trung binh: {2}",
StuId, TotalExamSubject, EverageMark);
}
public void Input()
{
Console.WriteLine("Nhap ma sinh vien: ");
StuId = Console.ReadLine();
}
private void GetTotalExamSubject(List<StudentMark> list)
{
TotalExamSubject = 0;
foreach(StudentMark mark in list)
{
if(mark.StuId == StuId)
{
TotalExamSubject++;
}
}
}
public void CalculateEverageMark(List<StudentMark> list)
{
GetTotalExamSubject(list);
float totalMark = 0;
foreach (StudentMark mark in list)
{
if (mark.StuId == StuId)
{
totalMark += mark.Mark;
}
}
EverageMark = totalMark / TotalExamSubject;
}
}
}
#DataMgr.cs
using System;
using System.Collections.Generic;
namespace BT2499
{
public class DataMgr
{
public List<StudentAptech> StudentList { get; set; }
public List<StudentMark> MarkList { get; set; }
private static DataMgr _instance = null;
private DataMgr()
{
StudentList = new List<StudentAptech>();
MarkList = new List<StudentMark>();
}
public static DataMgr GetInstance()
{
if(_instance == null)
{
_instance = new DataMgr();
}
return _instance;
}
public StudentAptech FindStudentByID(string studId)
{
foreach(StudentAptech student in StudentList)
{
if(student.StuId == studId)
{
return student;
}
}
return null;
}
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)