




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、模擬選課系統(tǒng)1:選課系統(tǒng)是為學(xué)校提供課程管理的信息系統(tǒng)。能實現(xiàn)學(xué)生選課,查詢。老師班級管理的部分功能。通過簡要的分析,可知本系統(tǒng)的基本功能需求包括以下幾個方面。(1) 一個學(xué)生可以選擇多門課程。(2) 學(xué)生選課不能重復(fù)。(3) 一個班級有很多學(xué)生組成。(4) 班級學(xué)生信息不能重復(fù)。(5) 滿足班級人數(shù)限制要求。(6) 能夠支持學(xué)生查詢課表,和所有可選課程。(7) 能夠支持老師查看班級選課情況。在上述分析的基礎(chǔ)上,可以找到一系列可能的對象,并將其抽象到不同的類。1) 學(xué)生類:學(xué)生名稱、學(xué)號、專業(yè)等可作為類的屬性;可選入課程。2) 教師類:教師稱呼、教師號、所教課程等作為類的屬性。3) 班級類:班
2、級課程、任課教師、教學(xué)班號、上課時間、地點等屬性。可加入學(xué)生。班級+課程+任課教師+編號+上課時間+上課地點+選入學(xué)生老師+姓名+所教課程的名稱+教師號學(xué)生+姓名+學(xué)號+專業(yè)+學(xué)生的課表+選課的門數(shù)專業(yè)等學(xué)生類中的主要代碼:public class student private string name;/姓名 public string name get return name; set name = value; private string num;/學(xué)號 public string num get return num; set num = value; private string
3、subject;/專業(yè) public string subject get return subject; set subject = value; private class choicecla;/學(xué)生的課表 private int count;/選課的門數(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é)號: + this.num; public bool isaddclass(class c) if (count = 0) retur
5、n true; /課程總數(shù)不能超過100門 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é)生還沒有選修任何課程!); 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é)生還沒有選修任何課程!); return; console.writeline(該學(xué)生選修了以下課程:); 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) = 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 老師姓名: + + 職工號: + this.teacher_num; 班級類中的代碼:public class class private string name;/課程名 public string name get return name; set name = value; public teacher t;/任課教師 private string num;/教學(xué)班號 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;/所有選擇這門課的同學(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 課程名: + + 編號: + this.num; public void showinfo() console.writeline(課程名: + + 編號:
12、+ this.num); console.writeline(時間: + this.start); console.writeline(地點: + this.adress); / 判斷是否能選修該門課程 public bool isaddstu(student s) if (count = 0) return true; /選課人數(shù)不能超過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; / 顯示所有選修該門課程的學(xué)生 public void showstu() string str = ; if (count = 0) console.writeline(還沒有任何學(xué)生選修該課程!); return; for (int i = 0; i count; i+) str = str + studentsi.name + ; console.writeline(以下學(xué)生選修了該課程: + str); 主函數(shù)中的代碼及運行截圖:console.w
14、rite(請選擇您要以什么身份進(jìn)入該系統(tǒng)(a 老師;b 學(xué)生;q 退出系統(tǒng)):); string a = console.readline(); while (a != q) switch (a) case b: console.write(請輸入您的學(xué)號:(已設(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é)號
15、不正確); break; 在用戶輸入錯誤時,實現(xiàn)報錯提醒,保證程序正常運行。else console.write(0同學(xué)歡迎您!請選擇您要執(zhí)行的操作(1 選課 ;2 查看所有課的課表;3 查看所選修課的課表 q 學(xué)生退出):, stui.name); string d = console.readline(); while (d != q) switch (d) case 1: console.write(請輸入您要選擇的課程的編號:(c1:web系統(tǒng)與技術(shù) c2大學(xué)計算機(jī)基礎(chǔ) c3軟件工程 c4大學(xué)計算機(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(你輸入的課程編號號不存在!); else selectclass(stui, claj); console.write(請輸入您要選擇的課程的編號(q退出):); e = console.readline(); break;while循環(huán)實現(xiàn)了連續(xù)選課。不需要再返回上一界面重新選擇功能。case 2: showallclass(cla); b
17、reak;上面一段代碼實現(xiàn)可選課程查詢:case 3: stui.showclassinfo(); break;課表查詢。console.write(0同學(xué)已退出,歡迎您下次再訪問!, stui.name); break; case a: console.write(請輸入您的教師號:(已設(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歡迎您!請選擇您要執(zhí)行的操作(1 查看課程選修學(xué)生情況 2 查看所有課的課表; q 教師退出):, team.name); string d = console.readline(); while (d != q) switch (d) case 1: console.write(請輸入您要查看學(xué)生信息的課程的編號:(c1:web系統(tǒng)與技術(shù) c2大學(xué)計算機(jī)基礎(chǔ) c3軟件工程 c4大學(xué)計算機(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(你輸入的課程編號號不正確); else if (claj.students0 = null) console.writeline(當(dāng)前沒有任何學(xué)生選修該課!); 教師登陸時,查詢課程選修情況,但沒有人選修這門課時,智能返回提示。else console.writeline(0班級的選入學(xué)生信息:, claj.name); for (int r = 0; r claj.count; r+) console.writeline(學(xué)生姓名: + claj.studentsr.name + 學(xué)號: + claj.studentsr.num); break;教師查詢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 強(qiáng)制性安全生產(chǎn)標(biāo)準(zhǔn)
- 公園防火應(yīng)急預(yù)案
- 2025至2030水果店行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030多孔塑料制品行業(yè)運營態(tài)勢與投資前景調(diào)查研究報告
- 2025至2030中國金屬盒行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025至2030中國居住物業(yè)行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國畜產(chǎn)品行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展趨勢與投資報告
- 2025年01月重慶市開州區(qū)中醫(yī)院招聘臨聘人員(護(hù)理崗)考試延遲筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025年01月2025首都醫(yī)科大學(xué)附屬北京同仁醫(yī)院消防監(jiān)控中心派遣制工作人員招聘1人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025年福建省老年醫(yī)院(福建省立醫(yī)院北院)編外人員招聘38人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 在線媒體輿情公關(guān)合同(2篇)
- 2025年法院書記員招聘考試筆試試題(50題)附答案
- 食品產(chǎn)品溯源管理制度
- 護(hù)士思想政治教育
- 西學(xué)中結(jié)業(yè)考核復(fù)習(xí)測試有答案
- 2024-2025學(xué)年高二下學(xué)期《雙休政策下AI如何助力高中生高效學(xué)習(xí)?》主題班會課件
- 家鄉(xiāng)橋梁可行性研究報告
- 大模型在證券行業(yè)合規(guī)的應(yīng)用
- 國家開放大學(xué)漢語言文學(xué)本科《古代詩歌散文專題》期末紙質(zhì)考試第三大題簡答題庫2025春期版
- 中國常規(guī)肺功能檢查基層指南(2024年)
- 花椒編制說明
評論
0/150
提交評論