⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainmodule.cs

📁 实现课程表编排和打印功能,通过在候选列表中选择课程和教师(没有被排课且该教师教授所选择的课程)来完成排课,代码约8000行
💻 CS
📖 第 1 页 / 共 5 页
字号:
                {
                    for (int i = 0; i < this.courseTable.Courses.Count; i++)
                    {
                        if (this.courseTable.Courses[i].Teacher.TeacherName == Teacher.TeacherName)
                        {
                            courses.Add(this.courseTable.Courses[i]);
                        }
                    }
                }
            }
            return courses;
        }

        //  入学时间
        private DateTime classStartTime;

        public System.DateTime ClassStartTime
        {
            get { return classStartTime; }
            set { classStartTime = value; }
        }

        public Class()
        {
            
        }

        public Class(string ClassName, DateTime ClassStartTime)
        {
            this.className = ClassName;
            this.classStartTime = ClassStartTime;
        }

        ~Class()
        {
            
        }

        public void Dispose()
        {
            
        }

        //  一个年级中所有班级所学习的课程相同
        public bool HasSubject(string SubjectName)
        {
            return this.grade.HasSubject(SubjectName);
        }

        public bool HasSubject(Subject Subject)
        {
            return this.grade.HasSubject(Subject);
        }

        public bool HasTeacher(string TeacherName)
        {
            bool b = false;
            if (this.courseTable != null)
            {
                if (this.courseTable.Courses != null)
                {
                    for (int i = 0; i < this.courseTable.Courses.Count; i++)
                    {
                        if (this.courseTable.Courses[i].Teacher.TeacherName == TeacherName)
                        {
                            b = true;
                            break;
                        }
                    }
                }
            }
            return b;
        }

        public bool HasTeacher(Teacher Teacher)
        {
            bool b = false;
            if (this.courseTable != null)
            {
                if (this.courseTable.Courses != null)
                {
                    for (int i = 0; i < this.courseTable.Courses.Count; i++)
                    {
                        if (this.courseTable.Courses[i].Teacher.TeacherName == Teacher.TeacherName)
                        {
                            b = true;
                            break;
                        }
                    }
                }
            }
            return b;
        }

        public Subject GetSubject(string SubjectName)
        {
            Subject subject = null;
            for (int i = 0; i < this.grade.Subjects.Count; i++)
            {
                if (this.grade.Subjects[i].SubjectName == SubjectName)
                {
                    subject = this.grade.Subjects[i];
                    break;
                }
            }
            return subject;
        }

        public Teacher GetTeacher(string TeacherName)
        {
            Teacher teacher = null;
            if (this.courseTable != null)
            {
                if (this.courseTable.Courses != null)
                {
                    for (int i = 0; i < this.courseTable.Courses.Count; i++)
                    {
                        if (this.courseTable.Courses[i].Teacher.TeacherName == TeacherName)
                        {
                            teacher = this.courseTable.Courses[i].Teacher;
                            break;
                        }
                    }
                }
            }
            return teacher;
        }
    }

    public class Grade
    {
        public override bool Equals(object obj)
        {
            //return base.Equals(obj);
            bool b = false;
            if (obj is Grade)
            {
                if (this.gradeName == (obj as Grade).gradeName)
                    b = true;
            }
            return b;
        }

        private string gradeName;

        public string GradeName
        {
            get { return gradeName; }
            set { gradeName = value; }
        }
        private IList<Subject> subjects;

        public IList<Subject> Subjects
        {
            get { return subjects; }
            set { subjects = value; }
        }
        private IList<Class> classes;

        public IList<Class> Classes
        {
            get { return classes; }
            set { classes = value; }
        }
        private IList<Teacher> teachers;

        public IList<Teacher> Teachers
        {
            get { return teachers; }
            set { teachers = value; }
        }

        public System.Collections.Generic.IList<课程安排.Subject> GetSubjects(string teacherName)
        {
            List<Subject> subjects = new List<Subject>();
            if (this.teachers != null)
            {
                Teacher t = null;
                for (int i = 0; i < this.teachers.Count; i++)
                {
                    if (this.teachers[i].TeacherName == teacherName)
                    {
                        t = this.teachers[i];
                        break;
                    }
                }
                if (t != null && this.subjects != null)
                {
                    for (int i = 0; i < t.Subjects.Count; i++)
                    {
                        for (int j = 0; j < this.subjects.Count; j++)
                        {
                            if (t.Subjects[i].SubjectName == this.subjects[j].SubjectName)
                                if (!subjects.Contains(this.subjects[j]))
                                    subjects.Add(this.subjects[j]);
                        }
                    }
                }
            }
            return subjects;
        }

        public System.Collections.Generic.IList<课程安排.Subject> GetSubjects(Teacher teacher)
        {
            List<Subject> subjects = new List<Subject>();
            if (this.teachers != null)
            {
                Teacher t = teacher;
                if (t != null && this.subjects != null)
                {
                    for (int i = 0; i < t.Subjects.Count; i++)
                    {
                        for (int j = 0; j < this.subjects.Count; j++)
                        {
                            if (t.Subjects[i].SubjectName == this.subjects[j].SubjectName)
                                if (!subjects.Contains(this.subjects[j]))
                                    subjects.Add(this.subjects[j]);
                        }
                    }
                }
            }
            return subjects;
        }

        public System.Collections.Generic.IList<课程安排.Teacher> GetTeachers(string SubjectName)
        {
            List<Teacher> teachers = new List<Teacher>();
            if (this.subjects != null)
            {
                Subject s = null;
                for (int i = 0; i < this.subjects.Count; i++)
                {
                    if (this.subjects[i].SubjectName == SubjectName)
                    {
                        s = this.subjects[i];
                        break;
                    }
                }
                if (s != null && this.teachers != null)
                {
                    for (int i = 0; i < s.Teachers.Count; i++)
                    {
                        for (int j = 0; j < this.teachers.Count; j++)
                        {
                            if (s.Teachers[i].TeacherName == this.teachers[j].TeacherName)
                                if (!teachers.Contains(this.teachers[j]))
                                    teachers.Add(this.teachers[j]);
                        }
                    }
                }
            }
            return teachers;
        }

        public System.Collections.Generic.IList<课程安排.Teacher> GetTeachers(Subject Subject)
        {
            List<Teacher> teachers = new List<Teacher>();
            if (this.subjects != null)
            {
                Subject s = Subject;
                for (int i = 0; i < this.subjects.Count; i++)
                {
                    if (this.subjects[i].SubjectName == Subject.SubjectName)
                    {
                        s = this.subjects[i];
                        break;
                    }
                }
                if (s != null && this.teachers != null)
                {
                    for (int i = 0; i < s.Teachers.Count; i++)
                    {
                        for (int j = 0; j < this.teachers.Count; j++)
                        {
                            if (s.Teachers[i].TeacherName == this.teachers[j].TeacherName)
                                if (!teachers.Contains(this.teachers[j]))
                                    teachers.Add(this.teachers[j]);
                        }
                    }
                }
            }
            return teachers;
        }

        public void AddClass(string ClassName)
        {
            if (this.classes == null)
                this.classes = new List<Class>();
            for (int i = 0; i < School.Classes.Count; i++)
            {
                if (this.classes[i].ClassName == ClassName)
                    if (!this.classes.Contains(School.Classes[i]))
                        this.classes.Add(School.Classes[i]);
            }
        }

        public void AddClass(Class cls)
        {
            if (this.classes == null)
                this.classes = new List<Class>();
            if (!this.classes.Contains(cls))
                this.classes.Add(cls);
        }

        public void AddSubject(string SubjectName)
        {
            if (this.subjects == null)
                this.subjects = new List<Subject>();
            for (int i = 0; i < School.Subjects.Count; i++)
            {
                if (School.Subjects[i].SubjectName == SubjectName)
                    if (!this.subjects.Contains(School.Subjects[i]))
                        this.subjects.Add(School.Subjects[i]);
            }
        }

        public void AddSubject(Subject Subject)
        {
            if (this.subjects == null)
                this.subjects = new List<Subject>();
            if (!this.subjects.Contains(Subject))
                this.subjects.Add(Subject);
        }

        public void AddTeacher(string TeacherName)
        {
            if (this.teachers == null)
                this.teachers = new List<Teacher>();
            for (int i = 0; i < School.Teachers.Count; i++)
            {
                if (School.Teachers[i].TeacherName == TeacherName)
                    if (!this.teachers.Contains(School.Teachers[i]))
                        this.teachers.Add(School.Teachers[i]);
            }
        }

        public void AddTeacher(Teacher Teacher)
        {
            if (this.teachers == null)
                this.teachers = new List<Teacher>();
            if (!this.teachers.Contains(Teacher))
                this.teachers.Add(Teacher);
        }

        public void RemoveClass(string ClassName)
        {
            if (this.classes != null)
            {
                for (int i = 0; i < this.classes.Count; i++)
                {
                    if (this.classes[i].ClassName == ClassName)
                    {
                        this.classes.Remove(this.classes[i]);
                        break;
                    }
                }
            }
        }

        public void RemoveClass(Class cls)
        {
            if (this.classes != null)
                if (this.classes.Contains(cls))
                    this.classes.Remove(cls);
        }

        public void RemoveSubject(string SubjectName)
        {
            if (this.subjects != null)
            {
                for (int i = 0; i < this.subjects.Count; i++)
                {
                    if (this.subjects[i].SubjectName == SubjectName)
                    {
                        this.subjects.Remove(this.subjects[i]);
                        break;
                    }
                }
            }
        }

        public void RemoveSubject(Subject Subject)
        {
            if (this.subjects != null)
                if (this.subjects.Contains(Subject))
                    this.subjects.Remove(Subject);
        }

        public void RemoveTeacher(string TeacherName)
        {
            if (this.teachers != null)
            {
                for (int i = 0; i < this.teachers.Count; i++)
                {
                    if (this.teachers[i].TeacherName == TeacherName)
                    {
                        this.teachers.Remove(this.teachers[i]);
                        break;
                    }
                }
            }
        }

        public void RemoveTeacher(Teacher Teacher)
        {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -