当前位置:文档之家› 课程设计-模拟选课系统

课程设计-模拟选课系统

模拟选课系统1:选课系统是为学校提供课程管理的信息系统。

能实现学生选课,查询。

老师班级管理的部分功能。

通过简要的分析,可知本系统的基本功能需求包括以下几个方面。

(1)一个学生可以选择多门课程。

(2)学生选课不能重复。

(3)一个班级有很多学生组成。

(4)班级学生信息不能重复。

(5)满足班级人数限制要求。

(6)能够支持学生查询课表,和所有可选课程。

(7)能够支持老师查看班级选课情况。

在上述分析的基础上,可以找到一系列可能的对象,并将其抽象到不同的类。

1)学生类:学生名称、学号、专业等可作为类的属性;可选入课程。

2)教师类:教师称呼、教师号、所教课程等作为类的属性。

3)班级类:班级课程、任课教师、教学班号、上课时间、地点等属性。

可加入学生。

学生类中的主要代码:public class Student{private string name;//姓名public string Name{get { return name; }set { name = value; }}private string num;//学号public string Num{get { return num; }set { num = value; }}private string subject;//专业public string Subject{get { return subject; }set { subject = value; }}private Class[] choiceCla;//学生的课表private int count;//选课的门数public int Count{get { return count; }set { count = value; }}public Student(string name, string num){ = name;this.num = num;this.choiceCla = new Class[100];count = 0;}public Student(string name, string num, string subject){ = name;this.num = num;this.subject = subject;this.choiceCla = new Class[100];count = 0;}// 将学生信息转换为字符串public override string ToString(){return"学生姓名:" + + " 学号:" + this.num; }public bool IsAddClass(Class c){if (count == 0)return true;//课程总数不能超过100门if (count == 100)return false;foreach (Class c1 in choiceCla){// 该课程c该学生已经选修了if (c1 == c)return false;}return true;}// 增加一名课程public void AddClass(Class c){choiceCla[count] = c;count = count + 1;}// 显示所有选修的课程public void ShowClass(){string str = "";if (count == 0){Console.WriteLine("该学生还没有选修任何课程!");return;}for (int i = 0; i < count; i++){str = str + choiceCla[i].Num + " ";}Console.WriteLine("该学生选修了以下课程:" + str); }// 显示所有选修的课程的具体信息public void ShowClassInfo(){if (count == 0){Console.WriteLine("该学生还没有选修任何课程!");return;}Console.WriteLine("该学生选修了以下课程:");for (int i = 0; i < count; i++){Console.Write("第{0}门课程——", i + 1);choiceCla[i].ShowInfo();}}}教师类中的代码:public class Teacher{private string name;//姓名public string Name{get { return name; }set { name = value; }}private string subject;//所教课程的名称public string Subject{get { return subject; }set { subject = value; }}private string teacher_num;//教师号public string Teacher_num{get { return teacher_num; }set { teacher_num = value; }}public Teacher(string name, string teacher_num){ = name;this.teacher_num = teacher_num;}public Teacher(string name, string subject, string teacher_num){ = name;this.subject = subject;this.teacher_num = teacher_num;}public override string ToString(){return"老师姓名:" + + " 职工号:" + this.teacher_num; }}班级类中的代码:public class Class{private string name;//课程名public string Name{get { return name; }set { name = value; }}public Teacher t;//任课教师private string num;//教学班号public string Num{get { return num; }set { num = value; }}private string start;//上课时间public string Start{get { return start; }set { start = value; }}private string adress;//上课地点public string Adress{get { return adress; }set { adress = value; }}public Student[] students;//所有选择这门课的同学private int count;//选课的人数public int Count{get { return count; }set { count = value; }}public Class(string num){this.num = num;this.students = new Student[150];count = 0;}public Class(string name, string num){ = name;this.num = num;this.students = new Student[150];count = 0;}public override string ToString(){return"课程名:" + + " 编号:" + this.num;}public void ShowInfo(){Console.WriteLine("课程名:" + + " 编号:" + this.num);Console.WriteLine("时间:" + this.start);Console.WriteLine("地点:" + this.adress);}// 判断是否能选修该门课程public bool IsAddStu(Student s){if (count == 0)return true;//选课人数不能超过150if (count == 150)return false;foreach (Student s1 in students){// 该课程c该学生已经选修了if (s1 == s)return false;}return true;}// 增加一名课程public void AddStu(Student s){students[count] = s;count = count + 1;}// 显示所有选修该门课程的学生public void ShowStu(){string str = "";if (count == 0){Console.WriteLine("还没有任何学生选修该课程!");return;}for (int i = 0; i < count; i++){str = str + students[i].Name + " ";}Console.WriteLine("以下学生选修了该课程:" + str);}}主函数中的代码及运行截图:Console.Write("请选择您要以什么身份进入该系统(A 老师;B 学生;Q 退出系统):");string a = Console.ReadLine();while (a != "Q"){switch (a){case"B":Console.Write("请输入您的学号:(已设定0001-0003)");string c = Console.ReadLine();int i = 0;for (; i < STU.Length; i++){if (STU[i] != null)if (STU[i].Num == c)break;}if (i == STU.Length){Console.WriteLine("你输入的学号不正确");break;}在用户输入错误时,实现报错提醒,保证程序正常运行。

相关主题