課程設(shè)計(jì)模擬選課系統(tǒng)_第1頁(yè)
課程設(shè)計(jì)模擬選課系統(tǒng)_第2頁(yè)
課程設(shè)計(jì)模擬選課系統(tǒng)_第3頁(yè)
課程設(shè)計(jì)模擬選課系統(tǒng)_第4頁(yè)
課程設(shè)計(jì)模擬選課系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論