課程設計-模擬選課系統(tǒng)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、<p><b>  模擬選課系統(tǒng)</b></p><p>  1:選課系統(tǒng)是為學校提供課程管理的信息系統(tǒng)。能實現(xiàn)學生選課,查詢。老師班級管理的部分功能。通過簡要的分析,可知本系統(tǒng)的基本功能需求包括以下幾個方面。</p><p>  一個學生可以選擇多門課程。</p><p><b>  學生選課不能重復。</b>

2、</p><p>  一個班級有很多學生組成。</p><p>  班級學生信息不能重復。</p><p>  滿足班級人數(shù)限制要求。</p><p>  能夠支持學生查詢課表,和所有可選課程。</p><p>  能夠支持老師查看班級選課情況。</p><p>  在上述分析的基礎上,可以找到

3、一系列可能的對象,并將其抽象到不同的類。</p><p>  學生類:學生名稱、學號、專業(yè)等可作為類的屬性;可選入課程。</p><p>  教師類:教師稱呼、教師號、所教課程等作為類的屬性。</p><p>  班級類:班級課程、任課教師、教學班號、上課時間、地點等屬性??杉尤雽W生。</p><p>  學生類中的主要代碼:</p&g

4、t;<p>  public class Student</p><p><b>  {</b></p><p>  private string name;//姓名</p><p>  public string Name</p><p><b>  {</b></p>

5、<p>  get { return name; }</p><p>  set { name = value; }</p><p><b>  }</b></p><p>  private string num;//學號</p><p>  public string Num</p><

6、;p><b>  {</b></p><p>  get { return num; }</p><p>  set { num = value; }</p><p><b>  }</b></p><p>  private string subject;//專業(yè)</p>&l

7、t;p>  public string Subject</p><p><b>  {</b></p><p>  get { return subject; }</p><p>  set { subject = value; }</p><p><b>  }</b></p>

8、<p>  private Class[] choiceCla;//學生的課表</p><p>  private int count;//選課的門數(shù)</p><p>  public int Count</p><p><b>  {</b></p><p>  get { return count; }&

9、lt;/p><p>  set { count = value; }</p><p><b>  }</b></p><p>  public Student(string name, string num)</p><p><b>  {</b></p><p>  this.

10、name = name;</p><p>  this.num = num;</p><p>  this.choiceCla = new Class[100];</p><p>  count = 0;</p><p><b>  }</b></p><p>  public Student(s

11、tring name, string num, string subject)</p><p><b>  {</b></p><p>  this.name = name;</p><p>  this.num = num;</p><p>  this.subject = subject;</p>&l

12、t;p>  this.choiceCla = new Class[100];</p><p>  count = 0;</p><p><b>  }</b></p><p>  // 將學生信息轉(zhuǎn)換為字符串</p><p>  public override string ToString()</p>

13、<p><b>  {</b></p><p>  return "學生姓名:" + this.name + " 學號:" + this.num;</p><p><b>  }</b></p><p>  public bool IsAddClass(Class c)

14、</p><p><b>  {</b></p><p>  if (count == 0)</p><p>  return true;</p><p>  //課程總數(shù)不能超過100門</p><p>  if (count == 100)</p><p>  retu

15、rn false;</p><p>  foreach (Class c1 in choiceCla)</p><p><b>  {</b></p><p>  // 該課程c該學生已經(jīng)選修了</p><p>  if (c1 == c)</p><p>  return false;</

16、p><p><b>  }</b></p><p>  return true;</p><p><b>  }</b></p><p><b>  // 增加一名課程</b></p><p>  public void AddClass(Class c)&

17、lt;/p><p><b>  {</b></p><p>  choiceCla[count] = c;</p><p>  count = count + 1;</p><p><b>  }</b></p><p>  // 顯示所有選修的課程</p><

18、;p>  public void ShowClass()</p><p><b>  {</b></p><p>  string str = "";</p><p>  if (count == 0)</p><p><b>  {</b></p><

19、p>  Console.WriteLine("該學生還沒有選修任何課程!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  for (int i = 0; i < count; i++)</p><p&g

20、t;<b>  {</b></p><p>  str = str + choiceCla[i].Num + " ";</p><p><b>  }</b></p><p>  Console.WriteLine("該學生選修了以下課程:" + str);</p>&

21、lt;p><b>  }</b></p><p>  // 顯示所有選修的課程的具體信息</p><p>  public void ShowClassInfo()</p><p><b>  {</b></p><p>  if (count == 0)</p><p&g

22、t;<b>  {</b></p><p>  Console.WriteLine("該學生還沒有選修任何課程!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  Console.Write

23、Line("該學生選修了以下課程:");</p><p>  for (int i = 0; i < count; i++)</p><p><b>  {</b></p><p>  Console.Write("第{0}門課程——", i + 1);</p><p>  

24、choiceCla[i].ShowInfo();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  教師類中的代碼:</b></p><p

25、>  public class Teacher</p><p><b>  {</b></p><p>  private string name;//姓名</p><p>  public string Name</p><p><b>  {</b></p><p>

26、;  get { return name; }</p><p>  set { name = value; }</p><p><b>  }</b></p><p>  private string subject;//所教課程的名稱</p><p>  public string Subject</p>

27、<p><b>  {</b></p><p>  get { return subject; }</p><p>  set { subject = value; }</p><p><b>  }</b></p><p>  private string teacher_num;//

28、教師號</p><p>  public string Teacher_num</p><p><b>  {</b></p><p>  get { return teacher_num; }</p><p>  set { teacher_num = value; }</p><p><

29、b>  }</b></p><p>  public Teacher(string name, string teacher_num)</p><p><b>  {</b></p><p>  this.name = name;</p><p>  this.teacher_num = teacher

30、_num;</p><p><b>  }</b></p><p>  public Teacher(string name, string subject, string teacher_num)</p><p><b>  {</b></p><p>  this.name = name;<

31、;/p><p>  this.subject = subject;</p><p>  this.teacher_num = teacher_num;</p><p><b>  }</b></p><p>  public override string ToString()</p><p><

32、;b>  {</b></p><p>  return "老師姓名:" + this.name + " 職工號:" + this.teacher_num;</p><p><b>  }</b></p><p><b>  }</b></p><

33、p><b>  班級類中的代碼:</b></p><p>  public class Class</p><p><b>  {</b></p><p>  private string name;//課程名</p><p>  public string Name</p>&

34、lt;p><b>  {</b></p><p>  get { return name; }</p><p>  set { name = value; }</p><p><b>  }</b></p><p>  public Teacher t;//任課教師</p>&l

35、t;p>  private string num;//教學班號</p><p>  public string Num</p><p><b>  {</b></p><p>  get { return num; }</p><p>  set { num = value; }</p><p&

36、gt;<b>  }</b></p><p>  private string start;//上課時間</p><p>  public string Start</p><p><b>  {</b></p><p>  get { return start; }</p><

37、p>  set { start = value; }</p><p><b>  }</b></p><p>  private string adress;//上課地點</p><p>  public string Adress</p><p><b>  {</b></p>

38、<p>  get { return adress; }</p><p>  set { adress = value; }</p><p><b>  }</b></p><p>  public Student[] students;//所有選擇這門課的同學</p><p>  private int c

39、ount;//選課的人數(shù)</p><p>  public int Count</p><p><b>  {</b></p><p>  get { return count; }</p><p>  set { count = value; }</p><p><b>  }<

40、/b></p><p>  public Class(string num)</p><p><b>  {</b></p><p>  this.num = num;</p><p>  this.students = new Student[150];</p><p>  count =

41、 0;</p><p><b>  }</b></p><p>  public Class(string name, string num)</p><p><b>  {</b></p><p>  this.name = name;</p><p>  this.num

42、 = num;</p><p>  this.students = new Student[150];</p><p>  count = 0;</p><p><b>  }</b></p><p>  public override string ToString()</p><p><

43、b>  {</b></p><p>  return "課程名:" + this.name + " 編號:" + this.num;</p><p><b>  }</b></p><p>  public void ShowInfo()</p><p><

44、b>  {</b></p><p>  Console.WriteLine("課程名:" + this.name + " 編號:" + this.num);</p><p>  Console.WriteLine("時間:" + this.start);</p><p>  Console

45、.WriteLine("地點:" + this.adress);</p><p><b>  }</b></p><p>  // 判斷是否能選修該門課程</p><p>  public bool IsAddStu(Student s)</p><p><b>  {</b>&

46、lt;/p><p>  if (count == 0)</p><p>  return true;</p><p>  //選課人數(shù)不能超過150</p><p>  if (count == 150)</p><p>  return false;</p><p>  foreach (Stud

47、ent s1 in students)</p><p><b>  {</b></p><p>  // 該課程c該學生已經(jīng)選修了</p><p>  if (s1 == s)</p><p>  return false;</p><p><b>  }</b></p

48、><p>  return true;</p><p><b>  }</b></p><p><b>  // 增加一名課程</b></p><p>  public void AddStu(Student s)</p><p><b>  {</b>&l

49、t;/p><p>  students[count] = s;</p><p>  count = count + 1;</p><p><b>  }</b></p><p>  // 顯示所有選修該門課程的學生</p><p>  public void ShowStu()</p>

50、<p><b>  {</b></p><p>  string str = "";</p><p>  if (count == 0)</p><p><b>  {</b></p><p>  Console.WriteLine("還沒有任何學生選修該課程

51、!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  for (int i = 0; i < count; i++)</p><p><b>  {</b></p><p&g

52、t;  str = str + students[i].Name + " ";</p><p><b>  }</b></p><p>  Console.WriteLine("以下學生選修了該課程:" + str);</p><p><b>  }</b></p>&

53、lt;p><b>  }</b></p><p>  主函數(shù)中的代碼及運行截圖:</p><p>  Console.Write("請選擇您要以什么身份進入該系統(tǒng)(A 老師;B 學生;Q 退出系統(tǒng)):");</p><p>  string a = Console.ReadLine();</p><

54、p>  while (a != "Q")</p><p><b>  {</b></p><p>  switch (a)</p><p><b>  {</b></p><p><b>  case "B":</b></p&

55、gt;<p>  Console.Write("請輸入您的學號:(已設定0001-0003)");</p><p>  string c = Console.ReadLine();</p><p>  int i = 0;</p><p>  for (; i < STU.Length; i++)</p><

56、;p><b>  {</b></p><p>  if (STU[i] != null)</p><p>  if (STU[i].Num == c)</p><p><b>  break;</b></p><p><b>  }</b></p><

57、p>  if (i == STU.Length)</p><p><b>  {</b></p><p>  Console.WriteLine("你輸入的學號不正確");</p><p><b>  break;</b></p><p><b>  }</

58、b></p><p>  在用戶輸入錯誤時,實現(xiàn)報錯提醒,保證程序正常運行。</p><p><b>  else</b></p><p><b>  {</b></p><p>  Console.Write("{0}同學歡迎您!請選擇您要執(zhí)行的操作(1 選課 ;2 查看所有課的課

59、表;3 查看所選修課的課表 Q 學生退出):", STU[i].Name);</p><p>  string d = Console.ReadLine();</p><p>  while (d != "Q")</p><p><b>  {</b></p><p>  switch (d

60、)</p><p><b>  {</b></p><p><b>  case "1":</b></p><p>  Console.Write("請輸入您要選擇的課程的編號:(c1:Web系統(tǒng)與技術 c2大學計算機基礎 c3軟件工程 c4大學計算機基礎)");</p>

61、<p><b>  string e;</b></p><p>  e = Console.ReadLine();</p><p>  while (e != "Q")</p><p><b>  {</b></p><p>  int j = 0;</p&g

62、t;<p>  for (; j < CLA.Length; j++)</p><p><b>  {</b></p><p>  if (CLA[j] != null)</p><p>  if (CLA[j].Num == e)</p><p><b>  break;</b>

63、;</p><p><b>  }</b></p><p>  if (j == CLA.Length)</p><p><b>  {</b></p><p>  Console.WriteLine("你輸入的課程編號號不存在!");</p><p>&

64、lt;b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  SelectClass(STU[i], CLA[j]);</p><p><b>  }</b></p><

65、p>  Console.Write("請輸入您要選擇的課程的編號(Q退出):");</p><p>  e = Console.ReadLine();</p><p><b>  }</b></p><p><b>  break;</b></p><p>  While循

66、環(huán)實現(xiàn)了連續(xù)選課。不需要再返回上一界面重新選擇功能。</p><p><b>  case "2":</b></p><p>  ShowAllClass(CLA);</p><p><b>  break;</b></p><p>  上面一段代碼實現(xiàn)可選課程查詢:</p

67、><p><b>  case "3":</b></p><p>  STU[i].ShowClassInfo();</p><p><b>  break;</b></p><p><b>  課表查詢。</b></p><p>  C

68、onsole.Write("{0}同學已退出,歡迎您下次再訪問!", STU[i].Name);</p><p><b>  break;</b></p><p><b>  case "A":</b></p><p>  Console.Write("請輸入您的教師號:(

69、已設定0001-0003)");</p><p>  string f = Console.ReadLine();</p><p>  int m = 0;</p><p>  for (; m < TEA.Length; m++)</p><p><b>  {</b></p><p

70、>  if (TEA[m] != null)</p><p>  if (TEA[m].Teacher_num == f)</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if (m == TEA.Length)</p>

71、<p><b>  {</b></p><p>  Console.WriteLine("你輸入的不存在!");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  e

72、lse</b></p><p><b>  {</b></p><p>  Console.Write("{0}歡迎您!請選擇您要執(zhí)行的操作(1 查看課程選修學生情況 2 查看所有課的課表; Q 教師退出):", TEA[m].Name);</p><p>  string d = Console.ReadLin

73、e();</p><p>  while (d != "Q")</p><p><b>  {</b></p><p>  switch (d)</p><p><b>  {</b></p><p><b>  case "1&quo

74、t;:</b></p><p>  Console.Write("請輸入您要查看學生信息的課程的編號:(c1:Web系統(tǒng)與技術 c2大學計算機基礎 c3軟件工程 c4大學計算機基礎)");</p><p><b>  string e;</b></p><p>  e = Console.ReadLine();&

75、lt;/p><p>  int j = 0;</p><p>  for (; j < CLA.Length; j++)</p><p><b>  {</b></p><p>  if (CLA[j] != null)</p><p>  if (CLA[j].Num == e)</p&

76、gt;<p><b>  break;</b></p><p><b>  }</b></p><p>  if (j == CLA.Length)</p><p><b>  {</b></p><p>  Console.WriteLine("你輸入

77、的課程編號號不正確");</p><p><b>  }</b></p><p>  else if (CLA[j].students[0] == null)</p><p><b>  {</b></p><p>  Console.WriteLine("當前沒有任何學生選修該

78、課!");</p><p><b>  }</b></p><p>  教師登陸時,查詢課程選修情況,但沒有人選修這門課時,智能返回提示。</p><p><b>  else</b></p><p><b>  {</b></p><p> 

79、 Console.WriteLine("{0}班級的選入學生信息:", CLA[j].Name);</p><p>  for (int r = 0; r < CLA[j].Count; r++)</p><p>  Console.WriteLine("學生姓名:" + CLA[j].students[r].Name + " 學號:

80、" + CLA[j].students[r].Num);</p><p><b>  }</b></p><p><b>  break;</b></p><p>  教師查詢班級選入學生信息。</p><p><b>  }</b></p><p

81、><b>  break;</b></p><p><b>  case "2":</b></p><p>  ShowAllClass(CLA);</p><p><b>  break;</b></p><p><b>  }</b

82、></p><p>  Console.Write("請選擇您要執(zhí)行的操作(1 查看課程選修學生情況 2 查看所有課的課表; Q 教師退出):");</p><p>  d = Console.ReadLine();</p><p><b>  }</b></p><p><b>  

83、}</b></p><p>  Console.Write("{0}您已退出,歡迎您下次再訪問!", TEA[m].Name);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  Console.Write(

84、"請選擇您要以什么身份進入該系統(tǒng)(A 老師;B 學生;Q 退出系統(tǒng)):");</p><p>  a = Console.ReadLine();</p><p><b>  }</b></p><p><b>  }</b></p><p>  static void Selec

85、tClass(Student s1, Class c1)</p><p><b>  {</b></p><p>  if (s1.IsAddClass(c1) && c1.IsAddStu(s1))</p><p><b>  {</b></p><p>  s1.AddClass

86、(c1);</p><p>  c1.AddStu(s1);</p><p>  Console.WriteLine("學生:" + s1.Name + "選修課程" + c1.Num + "成功!");</p><p><b>  }</b></p><p>

87、<b>  }</b></p><p>  static void ShowAllClass(Class[] classes)</p><p><b>  {</b></p><p>  foreach (Class c in classes)</p><p><b>  {</b&

88、gt;</p><p>  if (c != null)</p><p><b>  {</b></p><p>  Console.WriteLine(c.ToString());</p><p>  Console.WriteLine(c.Start);</p><p>  Console.W

89、riteLine(c.Adress);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  以上所有代碼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論