课程设计-模拟选课系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
{