课程设计-模拟选课系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟选课系统

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

{

相关文档
最新文档