

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 模擬選課系統(tǒng)</b></p><p> 1:選課系統(tǒng)是為學(xué)校提供課程管理的信息系統(tǒng)。能實(shí)現(xiàn)學(xué)生選課,查詢。老師班級(jí)管理的部分功能。通過簡要的分析,可知本系統(tǒng)的基本功能需求包括以下幾個(gè)方面。</p><p> 一個(gè)學(xué)生可以選擇多門課程。</p><p><b> 學(xué)生選課不能重復(fù)。</b>
2、</p><p> 一個(gè)班級(jí)有很多學(xué)生組成。</p><p> 班級(jí)學(xué)生信息不能重復(fù)。</p><p> 滿足班級(jí)人數(shù)限制要求。</p><p> 能夠支持學(xué)生查詢課表,和所有可選課程。</p><p> 能夠支持老師查看班級(jí)選課情況。</p><p> 在上述分析的基礎(chǔ)上,可以找到
3、一系列可能的對(duì)象,并將其抽象到不同的類。</p><p> 學(xué)生類:學(xué)生名稱、學(xué)號(hào)、專業(yè)等可作為類的屬性;可選入課程。</p><p> 教師類:教師稱呼、教師號(hào)、所教課程等作為類的屬性。</p><p> 班級(jí)類:班級(jí)課程、任課教師、教學(xué)班號(hào)、上課時(shí)間、地點(diǎn)等屬性??杉尤雽W(xué)生。</p><p> 學(xué)生類中的主要代碼:</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;//學(xué)號(hào)</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;//學(xué)生的課表</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> // 將學(xué)生信息轉(zhuǎn)換為字符串</p><p> public override string ToString()</p>
13、<p><b> {</b></p><p> return "學(xué)生姓名:" + this.name + " 學(xué)號(hào):" + 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該學(xué)生已經(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("該學(xué)生還沒有選修任何課程!");</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("該學(xué)生選修了以下課程:" + 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("該學(xué)生還沒有選修任何課程!");</p><p><b> return;</b></p><p><b> }</b></p><p> Console.Write
23、Line("該學(xué)生選修了以下課程:");</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、教師號(hào)</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 + " 職工號(hào):" + this.teacher_num;</p><p><b> }</b></p><p><b> }</b></p><
33、p><b> 班級(jí)類中的代碼:</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;//教學(xué)班號(hào)</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;//上課時(shí)間</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;//上課地點(diǎn)</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;//所有選擇這門課的同學(xué)</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 + " 編號(hào):" + this.num;</p><p><b> }</b></p><p> public void ShowInfo()</p><p><
44、b> {</b></p><p> Console.WriteLine("課程名:" + this.name + " 編號(hào):" + this.num);</p><p> Console.WriteLine("時(shí)間:" + this.start);</p><p> Console
45、.WriteLine("地點(diǎn):" + 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該學(xué)生已經(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> // 顯示所有選修該門課程的學(xué)生</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("還沒有任何學(xué)生選修該課程
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("以下學(xué)生選修了該課程:" + str);</p><p><b> }</b></p>&
53、lt;p><b> }</b></p><p> 主函數(shù)中的代碼及運(yùn)行截圖:</p><p> Console.Write("請(qǐng)選擇您要以什么身份進(jìn)入該系統(tǒng)(A 老師;B 學(xué)生;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("請(qǐng)輸入您的學(xué)號(hào):(已設(shè)定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("你輸入的學(xué)號(hào)不正確");</p><p><b> break;</b></p><p><b> }</
58、b></p><p> 在用戶輸入錯(cuò)誤時(shí),實(shí)現(xiàn)報(bào)錯(cuò)提醒,保證程序正常運(yùn)行。</p><p><b> else</b></p><p><b> {</b></p><p> Console.Write("{0}同學(xué)歡迎您!請(qǐng)選擇您要執(zhí)行的操作(1 選課 ;2 查看所有課的課
59、表;3 查看所選修課的課表 Q 學(xué)生退出):", 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("請(qǐng)輸入您要選擇的課程的編號(hào):(c1:Web系統(tǒng)與技術(shù) c2大學(xué)計(jì)算機(jī)基礎(chǔ) c3軟件工程 c4大學(xué)計(jì)算機(jī)基礎(chǔ))");</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("你輸入的課程編號(hào)號(hào)不存在!");</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ǐng)輸入您要選擇的課程的編號(hào)(Q退出):");</p><p> e = Console.ReadLine();</p><p><b> }</b></p><p><b> break;</b></p><p> While循
66、環(huán)實(shí)現(xiàn)了連續(xù)選課。不需要再返回上一界面重新選擇功能。</p><p><b> case "2":</b></p><p> ShowAllClass(CLA);</p><p><b> break;</b></p><p> 上面一段代碼實(shí)現(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}同學(xué)已退出,歡迎您下次再訪問!", STU[i].Name);</p><p><b> break;</b></p><p><b> case "A":</b></p><p> Console.Write("請(qǐng)輸入您的教師號(hào):(
69、已設(shè)定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}歡迎您!請(qǐng)選擇您要執(zhí)行的操作(1 查看課程選修學(xué)生情況 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("請(qǐng)輸入您要查看學(xué)生信息的課程的編號(hào):(c1:Web系統(tǒng)與技術(shù) c2大學(xué)計(jì)算機(jī)基礎(chǔ) c3軟件工程 c4大學(xué)計(jì)算機(jī)基礎(chǔ))");</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、的課程編號(hào)號(hào)不正確");</p><p><b> }</b></p><p> else if (CLA[j].students[0] == null)</p><p><b> {</b></p><p> Console.WriteLine("當(dāng)前沒有任何學(xué)生選修該
78、課!");</p><p><b> }</b></p><p> 教師登陸時(shí),查詢課程選修情況,但沒有人選修這門課時(shí),智能返回提示。</p><p><b> else</b></p><p><b> {</b></p><p>
79、 Console.WriteLine("{0}班級(jí)的選入學(xué)生信息:", CLA[j].Name);</p><p> for (int r = 0; r < CLA[j].Count; r++)</p><p> Console.WriteLine("學(xué)生姓名:" + CLA[j].students[r].Name + " 學(xué)號(hào):
80、" + CLA[j].students[r].Num);</p><p><b> }</b></p><p><b> break;</b></p><p> 教師查詢班級(jí)選入學(xué)生信息。</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("請(qǐng)選擇您要執(zhí)行的操作(1 查看課程選修學(xué)生情況 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、"請(qǐng)選擇您要以什么身份進(jìn)入該系統(tǒng)(A 老師;B 學(xué)生;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("學(xué)生:" + 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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 選課管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 選課管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生選課系統(tǒng)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)設(shè)計(jì)報(bào)告課程設(shè)計(jì)
- pb課程設(shè)計(jì)—學(xué)生選課系統(tǒng)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生選課管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)報(bào)告
- web課程設(shè)計(jì)-- 選課注冊(cè)管理系統(tǒng)
- 學(xué)生選課管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c#學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)—選課系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--選課系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--學(xué)生選課管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論