课程设计模拟选课系统.doc

上传人:土8路 文档编号:9961481 上传时间:2021-04-06 格式:DOC 页数:11 大小:102.50KB
返回 下载 相关 举报
课程设计模拟选课系统.doc_第1页
第1页 / 共11页
课程设计模拟选课系统.doc_第2页
第2页 / 共11页
课程设计模拟选课系统.doc_第3页
第3页 / 共11页
课程设计模拟选课系统.doc_第4页
第4页 / 共11页
课程设计模拟选课系统.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《课程设计模拟选课系统.doc》由会员分享,可在线阅读,更多相关《课程设计模拟选课系统.doc(11页珍藏版)》请在三一文库上搜索。

1、模拟选课系统1:选课系统是为学校提供课程管理的信息系统。能实现学生选课,查询。老师班级管理的部分功能。通过简要的分析,可知本系统的基本功能需求包括以下几个方面。(1) 一个学生可以选择多门课程。(2) 学生选课不能重复。(3) 一个班级有很多学生组成。(4) 班级学生信息不能重复。(5) 满足班级人数限制要求。(6) 能够支持学生查询课表,和所有可选课程。(7) 能够支持老师查看班级选课情况。在上述分析的基础上,可以找到一系列可能的对象,并将其抽象到不同的类。1) 学生类:学生名称、学号、专业等可作为类的属性;可选入课程。2) 教师类:教师称呼、教师号、所教课程等作为类的属性。3) 班级类:班

2、级课程、任课教师、教学班号、上课时间、地点等属性。可加入学生。班级+课程+任课教师+编号+上课时间+上课地点+选入学生老师+姓名+所教课程的名称+教师号学生+姓名+学号+专业+学生的课表+选课的门数专业等学生类中的主要代码: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

3、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) this.name = name; this.num = num; this.choiceCla = new Class100; count = 0;

4、 public Student(string name, string num, string subject) this.name = name; this.num = num; this.subject = subject; this.choiceCla = new Class100; count = 0; / 将学生信息转换为字符串 public override string ToString() return 学生姓名: + this.name + 学号: + this.num; public bool IsAddClass(Class c) if (count = 0) retur

5、n 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) choiceClacount = c; count = count + 1; / 显示所有选修的课程 public void ShowClass() string str = ; if (count = 0) Console.WriteLine

6、(该学生还没有选修任何课程!); return; for (int i = 0; i count; i+) str = str + choiceClai.Num + ; Console.WriteLine(该学生选修了以下课程: + str); / 显示所有选修的课程的具体信息 public void ShowClassInfo() if (count = 0) Console.WriteLine(该学生还没有选修任何课程!); return; Console.WriteLine(该学生选修了以下课程:); for (int i = 0; i count; i+) Console.Write(

7、第0门课程, i + 1); choiceClai.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 ge

8、t return teacher_num; set teacher_num = value; public Teacher(string name, string teacher_num) this.name = name; this.teacher_num = teacher_num; public Teacher(string name, string subject, string teacher_num) this.name = name; this.subject = subject; this.teacher_num = teacher_num; public override s

9、tring ToString() return 老师姓名: + this.name + 职工号: + 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;/上课时间

10、 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

11、; this.students = new Student150; count = 0; public Class(string name, string num) this.name = name; this.num = num; this.students = new Student150; count = 0; public override string ToString() return 课程名: + this.name + 编号: + this.num; public void ShowInfo() Console.WriteLine(课程名: + this.name + 编号:

12、+ this.num); Console.WriteLine(时间: + this.start); Console.WriteLine(地点: + this.adress); / 判断是否能选修该门课程 public bool IsAddStu(Student s) if (count = 0) return true; /选课人数不能超过150 if (count = 150) return false; foreach (Student s1 in students) / 该课程c该学生已经选修了 if (s1 = s) return false; return true; / 增加一名课

13、程 public void AddStu(Student s) studentscount = s; count = count + 1; / 显示所有选修该门课程的学生 public void ShowStu() string str = ; if (count = 0) Console.WriteLine(还没有任何学生选修该课程!); return; for (int i = 0; i count; i+) str = str + studentsi.Name + ; Console.WriteLine(以下学生选修了该课程: + str); 主函数中的代码及运行截图:Console.W

14、rite(请选择您要以什么身份进入该系统(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 (STUi != null) if (STUi.Num = c) break; if (i = STU.Length) Console.WriteLine(你输入的学号

15、不正确); break; 在用户输入错误时,实现报错提醒,保证程序正常运行。else Console.Write(0同学欢迎您!请选择您要执行的操作(1 选课 ;2 查看所有课的课表;3 查看所选修课的课表 Q 学生退出):, STUi.Name); string d = Console.ReadLine(); while (d != Q) switch (d) case 1: Console.Write(请输入您要选择的课程的编号:(c1:Web系统与技术 c2大学计算机基础 c3软件工程 c4大学计算机基础)); string e; e = Console.ReadLine(); whil

16、e (e != Q) int j = 0; for (; j CLA.Length; j+) if (CLAj != null) if (CLAj.Num = e) break; if (j = CLA.Length) Console.WriteLine(你输入的课程编号号不存在!); else SelectClass(STUi, CLAj); Console.Write(请输入您要选择的课程的编号(Q退出):); e = Console.ReadLine(); break;While循环实现了连续选课。不需要再返回上一界面重新选择功能。case 2: ShowAllClass(CLA); b

17、reak;上面一段代码实现可选课程查询:case 3: STUi.ShowClassInfo(); break;课表查询。Console.Write(0同学已退出,欢迎您下次再访问!, STUi.Name); break; case A: Console.Write(请输入您的教师号:(已设定0001-0003)); string f = Console.ReadLine(); int m = 0; for (; m TEA.Length; m+) if (TEAm != null) if (TEAm.Teacher_num = f) break; if (m = TEA.Length) Co

18、nsole.WriteLine(你输入的不存在!); break; else Console.Write(0欢迎您!请选择您要执行的操作(1 查看课程选修学生情况 2 查看所有课的课表; Q 教师退出):, TEAm.Name); string d = Console.ReadLine(); while (d != Q) switch (d) case 1: Console.Write(请输入您要查看学生信息的课程的编号:(c1:Web系统与技术 c2大学计算机基础 c3软件工程 c4大学计算机基础)); string e; e = Console.ReadLine(); int j = 0;

19、 for (; j CLA.Length; j+) if (CLAj != null) if (CLAj.Num = e) break; if (j = CLA.Length) Console.WriteLine(你输入的课程编号号不正确); else if (CLAj.students0 = null) Console.WriteLine(当前没有任何学生选修该课!); 教师登陆时,查询课程选修情况,但没有人选修这门课时,智能返回提示。else Console.WriteLine(0班级的选入学生信息:, CLAj.Name); for (int r = 0; r CLAj.Count; r

20、+) Console.WriteLine(学生姓名: + CLAj.studentsr.Name + 学号: + CLAj.studentsr.Num); break;教师查询班级选入学生信息。 break; case 2: ShowAllClass(CLA); break; Console.Write(请选择您要执行的操作(1 查看课程选修学生情况 2 查看所有课的课表; Q 教师退出):); d = Console.ReadLine(); Console.Write(0您已退出,欢迎您下次再访问!, TEAm.Name); break; Console.Write(请选择您要以什么身份进入

21、该系统(A 老师;B 学生;Q 退出系统):); a = Console.ReadLine(); static void SelectClass(Student s1, Class c1) if (s1.IsAddClass(c1) & c1.IsAddStu(s1) s1.AddClass(c1); c1.AddStu(s1); Console.WriteLine(学生: + s1.Name + 选修课程 + c1.Num + 成功!); static void ShowAllClass(Class classes) foreach (Class c in classes) if (c != null) Console.WriteLine(c.ToString(); Console.WriteLine(c.Start); Console.WriteLine(c.Adress); 以上所有代码中的while语句实现循环,能够多人多次操作。更方便使用!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1