版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、模擬選課系統(tǒng)1:選課系統(tǒng)是為學(xué)校提供課程管理的信息系統(tǒng)。能實(shí)現(xiàn)學(xué)生選課,查詢(xún)。老師班級(jí)管理的部分功能。通過(guò)簡(jiǎn)要的分析,可知本系統(tǒng)的基本功能需求包括以下幾個(gè)方面。(1) 一個(gè)學(xué)生可以選擇多門(mén)課程。(2) 學(xué)生選課不能重復(fù)。(3) 一個(gè)班級(jí)有很多學(xué)生組成。(4) 班級(jí)學(xué)生信息不能重復(fù)。(5) 滿足班級(jí)人數(shù)限制要求。(6) 能夠支持學(xué)生查詢(xún)課表,和所有可選課程。(7) 能夠支持老師查看班級(jí)選課情況。在上述分析的基礎(chǔ)上,可以找到一系列可能的對(duì)象,并將其抽象到不同的類(lèi)。1) 學(xué)生類(lèi):學(xué)生名稱(chēng)、學(xué)號(hào)、專(zhuān)業(yè)等可作為類(lèi)的屬性;可選入課程。2) 教師類(lèi):教師稱(chēng)呼、教師號(hào)、所教課程等作為類(lèi)的屬性。3) 班級(jí)類(lèi):班
2、級(jí)課程、任課教師、教學(xué)班號(hào)、上課時(shí)間、地點(diǎn)等屬性。可加入學(xué)生。班級(jí)+課程+任課教師+編號(hào)+上課時(shí)間+上課地點(diǎn)+選入學(xué)生老師+姓名+所教課程的名稱(chēng)+教師號(hào)學(xué)生+姓名+學(xué)號(hào)+專(zhuān)業(yè)+學(xué)生的課表+選課的門(mén)數(shù)專(zhuān)業(yè)等學(xué)生類(lèi)中的主要代碼:public class student private string name;/姓名 public string name get return name; set name = value; private string num;/學(xué)號(hào) public string num get return num; set num = value; private string
3、subject;/專(zhuān)業(yè) public string subject get return subject; set subject = value; private class choicecla;/學(xué)生的課表 private int count;/選課的門(mén)數(shù) public int count get return count; set count = value; public student(string name, string num) = name; this.num = num; this.choicecla = new class100; count = 0;
4、 public student(string name, string num, string subject) = name; this.num = num; this.subject = subject; this.choicecla = new class100; count = 0; / 將學(xué)生信息轉(zhuǎn)換為字符串 public override string tostring() return 學(xué)生姓名: + + 學(xué)號(hào): + this.num; public bool isaddclass(class c) if (count = 0) retur
5、n true; /課程總數(shù)不能超過(guò)100門(mén) if (count = 100) return false; foreach (class c1 in choicecla) / 該課程c該學(xué)生已經(jīng)選修了 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、(該學(xué)生還沒(méi)有選修任何課程!); return; for (int i = 0; i count; i+) str = str + choiceclai.num + ; console.writeline(該學(xué)生選修了以下課程: + str); / 顯示所有選修的課程的具體信息 public void showclassinfo() if (count = 0) console.writeline(該學(xué)生還沒(méi)有選修任何課程!); return; console.writeline(該學(xué)生選修了以下課程:); for (int i = 0; i count; i+) console.write(
7、第0門(mén)課程, i + 1); choiceclai.showinfo(); 教師類(lèi)中的代碼:public class teacher private string name;/姓名 public string name get return name; set name = value; private string subject;/所教課程的名稱(chēng) public string subject get return subject; set subject = value; private string teacher_num;/教師號(hào) public string teacher_num ge
8、t 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 s
9、tring tostring() return 老師姓名: + + 職工號(hào): + this.teacher_num; 班級(jí)類(lèi)中的代碼:public class class private string name;/課程名 public string name get return name; set name = value; public teacher t;/任課教師 private string num;/教學(xué)班號(hào) public string num get return num; set num = value; private string start;/上課時(shí)間
10、 public string start get return start; set start = value; private string adress;/上課地點(diǎn) public string adress get return adress; set adress = value; public student students;/所有選擇這門(mén)課的同學(xué) private int count;/選課的人數(shù) 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) = name; this.num = num; this.students = new student150; count = 0; public override string tostring() return 課程名: + + 編號(hào): + this.num; public void showinfo() console.writeline(課程名: + + 編號(hào):
12、+ this.num); console.writeline(時(shí)間: + this.start); console.writeline(地點(diǎn): + this.adress); / 判斷是否能選修該門(mén)課程 public bool isaddstu(student s) if (count = 0) return true; /選課人數(shù)不能超過(guò)150 if (count = 150) return false; foreach (student s1 in students) / 該課程c該學(xué)生已經(jīng)選修了 if (s1 = s) return false; return true; / 增加一名課
13、程 public void addstu(student s) studentscount = s; count = count + 1; / 顯示所有選修該門(mén)課程的學(xué)生 public void showstu() string str = ; if (count = 0) console.writeline(還沒(méi)有任何學(xué)生選修該課程!); return; for (int i = 0; i count; i+) str = str + studentsi.name + ; console.writeline(以下學(xué)生選修了該課程: + str); 主函數(shù)中的代碼及運(yùn)行截圖:console.w
14、rite(請(qǐng)選擇您要以什么身份進(jìn)入該系統(tǒng)(a 老師;b 學(xué)生;q 退出系統(tǒng)):); string a = console.readline(); while (a != q) switch (a) case b: console.write(請(qǐng)輸入您的學(xué)號(hào):(已設(shè)定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(你輸入的學(xué)號(hào)
15、不正確); break; 在用戶輸入錯(cuò)誤時(shí),實(shí)現(xiàn)報(bào)錯(cuò)提醒,保證程序正常運(yùn)行。else console.write(0同學(xué)歡迎您!請(qǐng)選擇您要執(zhí)行的操作(1 選課 ;2 查看所有課的課表;3 查看所選修課的課表 q 學(xué)生退出):, stui.name); string d = console.readline(); while (d != q) switch (d) case 1: console.write(請(qǐng)輸入您要選擇的課程的編號(hào):(c1:web系統(tǒng)與技術(shù) c2大學(xué)計(jì)算機(jī)基礎(chǔ) c3軟件工程 c4大學(xué)計(jì)算機(jī)基礎(chǔ))); 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(你輸入的課程編號(hào)號(hào)不存在!); else selectclass(stui, claj); console.write(請(qǐng)輸入您要選擇的課程的編號(hào)(q退出):); e = console.readline(); break;while循環(huán)實(shí)現(xiàn)了連續(xù)選課。不需要再返回上一界面重新選擇功能。case 2: showallclass(cla); b
17、reak;上面一段代碼實(shí)現(xiàn)可選課程查詢(xún):case 3: stui.showclassinfo(); break;課表查詢(xún)。console.write(0同學(xué)已退出,歡迎您下次再訪問(wèn)!, stui.name); break; case a: console.write(請(qǐng)輸入您的教師號(hào):(已設(shè)定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歡迎您!請(qǐng)選擇您要執(zhí)行的操作(1 查看課程選修學(xué)生情況 2 查看所有課的課表; q 教師退出):, team.name); string d = console.readline(); while (d != q) switch (d) case 1: console.write(請(qǐng)輸入您要查看學(xué)生信息的課程的編號(hào):(c1:web系統(tǒng)與技術(shù) c2大學(xué)計(jì)算機(jī)基礎(chǔ) c3軟件工程 c4大學(xué)計(jì)算機(jī)基礎(chǔ))); 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(你輸入的課程編號(hào)號(hào)不正確); else if (claj.students0 = null) console.writeline(當(dāng)前沒(méi)有任何學(xué)生選修該課!); 教師登陸時(shí),查詢(xún)課程選修情況,但沒(méi)有人選修這門(mén)課時(shí),智能返回提示。else console.writeline(0班級(jí)的選入學(xué)生信息:, claj.name); for (int r = 0; r claj.count; r+) console.writeline(學(xué)生姓名: + claj.studentsr.name + 學(xué)號(hào): + claj.studentsr.num); break;教師查詢(xún)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 師德師風(fēng)警示教育活動(dòng)總結(jié)6篇
- 工程信息管理體系
- 國(guó)開(kāi)《可編程控制器應(yīng)用》形考任務(wù)五實(shí)驗(yàn)1
- 2024年淮南聯(lián)合大學(xué)高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2022年6月7日陜西省省直事業(yè)單位廣播電視局面試真題及答案
- 中國(guó)人民大學(xué)會(huì)計(jì)系列教材·第四版《成本會(huì)計(jì)學(xué)》課件-第六章
- 濕紙巾發(fā)展趨勢(shì)分析報(bào)告
- 2024年隴西縣第一人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 如何提起證券交易代理合同糾紛訴訟培訓(xùn)講學(xué)
- 2024年泰山護(hù)理職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 公司員工出差車(chē)輛免責(zé)協(xié)議書(shū)
- 《電化學(xué)儲(chǔ)能系統(tǒng)艙大件運(yùn)輸特殊要求》
- 2025年采購(gòu)部工作計(jì)劃
- 2023年浙江杭州師范大學(xué)附屬醫(yī)院招聘聘用人員筆試真題
- 《防范于心反詐于行》中小學(xué)防范電信網(wǎng)絡(luò)詐騙知識(shí)宣傳課件
- 江蘇某小區(qū)園林施工組織設(shè)計(jì)方案
- 藥店醫(yī)保政策宣傳與執(zhí)行制度
- 體外膜肺氧合(ECMO)并發(fā)癥及護(hù)理
- 墊江縣中醫(yī)院2018年11月份臨床技能中心教學(xué)設(shè)備招標(biāo)項(xiàng)目招標(biāo)文件
- 排放源統(tǒng)計(jì)(環(huán)統(tǒng))年報(bào)填報(bào)指南
- 反射療法師理論考試復(fù)習(xí)題及答案
評(píng)論
0/150
提交評(píng)論