版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+課程設(shè)計(jì)學(xué)生課程管理查詢系統(tǒng)指導(dǎo)老師: *組 長(zhǎng): 張媛媛組 員: 李燦設(shè)計(jì)時(shí)間: 2010年12月一、系統(tǒng)的軟硬件環(huán)境:1.軟件環(huán)境:Windows XP 、Visual C+6.02.硬件環(huán)境:CPU(pentium4 2.4Hz)、內(nèi)存(256MB)、硬盤(80G)二、需求分析: 本系統(tǒng)適用于本??圃盒=虅?wù)處的學(xué)生課程信息管理工作。系統(tǒng)存儲(chǔ)的課程信息包括:學(xué)生基礎(chǔ)信息、課程信息、教師信息、 學(xué)生選課信息等.系統(tǒng)可實(shí)現(xiàn)學(xué)生對(duì)課程的選擇、查詢,教務(wù)處對(duì)學(xué)生信息的錄入、刪除、更改、查詢等管理工作。 本系統(tǒng)作為學(xué)校對(duì)學(xué)生課程的計(jì)算機(jī)管理系統(tǒng),堅(jiān)持簡(jiǎn)潔、靈活、準(zhǔn)確、迅速、易操作等原則,簡(jiǎn)化學(xué)校
2、教務(wù)處與學(xué)生選課之間的復(fù)雜而且繁多的信息處理,實(shí)現(xiàn)實(shí)用又好用的特點(diǎn)。三、系統(tǒng)總體框架圖: 課程排序更改課程刪除課程增加課程課程查詢學(xué)生選課 學(xué)生課程管理查詢系統(tǒng) 課程系統(tǒng)學(xué)生端課程系統(tǒng)管理端學(xué)生課程管理查詢系統(tǒng) 四、模塊功能實(shí)現(xiàn): 1. 該系統(tǒng)存儲(chǔ)了某所學(xué)校所有學(xué)生的基礎(chǔ)信息以及全部課程信息。對(duì)每個(gè)學(xué)生存儲(chǔ):學(xué)籍編號(hào)、姓名、性別、專業(yè)、班級(jí)等基礎(chǔ)數(shù)據(jù)。存儲(chǔ)課程信息:課程名稱、課程編號(hào)、授課教師、授課范圍、課程簡(jiǎn)介等數(shù)據(jù)。2. 課程系統(tǒng)學(xué)生端:該入口為學(xué)生開放,可以通過(guò)端口進(jìn)行課程選定、課程查詢等操作。3. 課程系統(tǒng)管理端:該端口為教務(wù)處對(duì)學(xué)生基礎(chǔ)信息以及課程信息進(jìn)行管理的入口。可實(shí)現(xiàn)一下功能:
3、1).學(xué)生信息管理:生基礎(chǔ)信息錄入、更改等。2).課程信息管理:課程信息錄入、更改,授課教師信息管理、課程信息 錄入、更改管理。3).學(xué)生課程管理:增加課程、刪除課程、更改課程、課程排序等課程信息數(shù)據(jù)。 4. 系統(tǒng)在進(jìn)行以上功能操作時(shí)創(chuàng)建相應(yīng)文件夾,并實(shí)現(xiàn)相關(guān)數(shù)據(jù)的存儲(chǔ)、修改、保存。五、程序使用說(shuō)明: 在運(yùn)行此程序時(shí)會(huì)出現(xiàn)如下主界面:此時(shí)就可以按照不同類別來(lái)進(jìn)行操作了,如學(xué)生則選擇1,如果是學(xué)校管理則選擇2.在主界面下選擇了操作1,則會(huì)出現(xiàn)“課程系統(tǒng)學(xué)生端”操作菜單:在該界面下學(xué)生可進(jìn)行課程查詢和課程選擇操作。如若選擇操作2,并且輸入管理密碼,則出現(xiàn)“課程體系管理端”操作菜單:在該界面下學(xué)校相
4、關(guān)部門可以進(jìn)行學(xué)生、課程、教師等信息的管理。六、部分代碼解釋: 包含類xuanke的預(yù)處理命令 #include xuanke.h 選擇語(yǔ)句switch(a) 創(chuàng)建xuanke 類struct xuanke 成員函數(shù)的實(shí)現(xiàn) xuanke * putin(); /讀取void save(xuanke * ); /保存void println(xuanke *); /輸出xuanke * midle(xuanke *); /在中間插入xuanke * out(xuanke *); /刪除void Find(xuanke *); /查找信息xuanke * replace(xuanke *a); /
5、替換void xuan(xuanke *); /選課void mohu(xuanke *); / 模糊查詢void zuhe(xuanke *); /組合查詢文件讀取file.open(xuanke.txt,ios:out|ios:in); 七、成員分工: 閆永龍:負(fù)責(zé)需求分析,創(chuàng)建 int main(),xuanke.h,struct xuanke ,編輯xuanke * putin(), void save(xuanke * ),void password(),程序調(diào)試 ; 代興利:負(fù)責(zé)系統(tǒng)結(jié)構(gòu)分析,負(fù)責(zé)編輯 void println(xuanke *),xuanke * midle(xu
6、anke *), xuanke * out(xuanke *),void Find(xuanke *); 張春明:負(fù)責(zé)程序修改,編輯xuanke * replace(xuanke *a), void xuan(xuanke *),void mohu(xuanke *),void zuhe(xuanke *); 八、程序源代碼: / optionals.cpp : Defines the entry point for the console application./#include stdafx.h#include #include #include #include xuanke.husi
7、ng namespace std;int main() system(color f5); char a,b,c; xuanke *head=putin(); coutttn tt* *n tt* 學(xué)生課程管理查詢系統(tǒng) *n tt* *n tt* *n tt* 操作方式: *n tt* 1.課程系統(tǒng)學(xué)生端 *n tt* *n tt* 2.課程系統(tǒng)管理端 *n tt* *n ttnendl; couta;switch(a) case 1: system(cls); do coutnnn ttn tt 課程系統(tǒng)學(xué)生端 n tt n tt * 操作方式:. n tt n tt 1.學(xué)生選課. n t
8、t 2.課程查詢. n tt 3.退出系統(tǒng). n tt n ttnendl; coutb; switch(b) case 1: system(cls); xuan(hed); coutt*按任意鍵繼續(xù)*endl; getch();break; case 2: system(cls); couttt*endl tt* *endl tt* 1.精確查詢. *endl tt* 2.模糊查詢. *endl tt* 3.組合查詢. *endl tt* *endl tt*endl; coutc; switch(c) case 1: system(cls);Find(head); coutt*按任意鍵繼續(xù)*
9、endl; getch(); break; case 2: system(cls);mu(head); coutt*按任意鍵繼續(xù)*endl; getch();break; case 3: system(cls);zuhe(head); coutt*按任意鍵繼續(xù)*endl; getch(); break; default: cout輸入錯(cuò)誤!endl; coutt*按任意鍵繼續(xù)*endl; getch(); break; break; case 3: exit(1); break; default:couttt*輸入錯(cuò)誤!endl; coutt*按任意鍵繼續(xù)*endl; getch();brea
10、k; while(b!=3);break; case 2: cout請(qǐng)輸入管理員密碼:endl; password(); do system(cls); coutnnn ttn tt n tt 課程系統(tǒng)管理端 n tt n tt .操作方式: n tt 1.課程查詢. n tt 2.增加課程. n tt 3.刪除課程. n tt 4.更改課程. n tt 5.課程排序. n tt 6.退出系統(tǒng). n tt n ttnendl; coutb; switch(b) case 1: system(cls); couttt*endl tt* *endl tt* 1.精確查詢. *endl tt* 2.
11、模糊查詢. *endl tt* 3.組合查詢. *endl tt* *endl tt*endl; coutc; switch(c) case 1: system(cls);Find(head); coutt*按任意鍵繼續(xù)*endl; getch(); break; case 2: system(cls);mohu(head); coutt*按任意鍵繼續(xù)*endl; getch();break; case 3: system(cls);zuhe(head); coutt*按任意鍵繼續(xù)*endl; getch(); break; default: cout輸入錯(cuò)誤!endl; coutt*按任意鍵
12、繼續(xù)*endl; getch(); break; break; case 2: system(cls);head=midle(head); coutt*按任意鍵繼續(xù)*endl; getch();break; case 3: system(cls);head=out(head); coutt*按任意鍵繼續(xù)*endl; getch(); break; case 4: system(cls);head=replace(head); head=putin(); coutt*按任意鍵繼續(xù)*endl; getch();beak; case 5: head=paixu(head); break; case
13、6: exit(1);break; default:couttt*輸入錯(cuò)誤!endl; coutt*按任意鍵繼續(xù)*endl; getch();break; while(b!=6); default :couttt*輸入錯(cuò)誤!endl; coutt*按任意鍵繼續(xù)*endl; getch();break; return 0;#include #include #include #include using namespace std;struct xuanke int num;string name;string teer;double xuefen;string add;xuanke *next
14、;xuanke * putin(); /讀取void save(xuanke * ); /保存void println(xuanke *); /輸出xuanke * midle(xuanke *); /在中間插入xuanke * out(xuanke *); /刪除void Find(xuanke *); /查找信息xuanke * replace(xuanke *a); /替換void xuan(xuanke *); /選課void mohu(xuanke *); / 模糊查詢void zuhe(xuanke *); /組合查詢 /xuanke *putin()/讀取 xuanke *hea
15、d,*p1,*p2; fstream file; file.open(xuanke.txt,ios:out|ios:in); if(!file) coutn; p1=p2=new xuanke; head=p1; filep1-nump1-namep1-teacherp1-xuefenp1-add; for(int i=1;inext=p1; p2=p1; filep1-numnamep1-teacherp1-xuefenp1-add; p2-next=NULL; return head;/void println(xuanke *p) /輸出 coutnum setw(8)name setw
16、(8)teacher setw(4)xuefen setw(6)addendl;/void save(xuanke * head) xuanke *p; int i=0; p=head; ofstream ofile; ofile.open(data.txt,ios:out); if(!ofile) coutnext; ofileiendl; p=head; while(p!=NULL) ofilenum name teacher xuefen addnext; /xuanke * midle(xuanke *a) /插入信息 int i=0; xuanke *n,*p1=new xuanke
17、; cout請(qǐng)輸入你要增加的新信息:endl; coutp1-num; coutp1-name; coutp1-teacher; coutp1-xuefen; coutp1-add; for(n=a;n-next!=NULL;n=n-next) if(n-num=p1-num) couttt*課程增加失敗!該課程號(hào)已存在,請(qǐng)確認(rèn)后再輸入。next=a-next; a-next=p1; cout課程增加成功!next;delete a;couttt*課程已成功刪除!next!=NULL;p=p-next) if(p-next-num=n) b=p-next; p-next=p-next-next
18、; delete b; i+; if(i=0) couttt*抱歉!無(wú)您要?jiǎng)h除的課程的有關(guān)信息!endl; else couttt*課程已成功刪除!endl; return a;xuanke * out(xuanke *head) int n; xuanke *p,*q; p=q=head; coutn; if(q-num=n) p=outhead(q); else p=outmidle(q,n); save(p); return p;/void Findnum(xuanke *a) xuanke *b; int n; int i=0; cinn; b=a; do if(b-num=n) co
19、utnum name teacher xuefen addnext; while(b!=NULL); if(i=0) couttt*抱歉!無(wú)此課程信息。n; b=a; do if(b-name=n) coutnum name teacher xuefen addnext; while(b!=NULL); if(i=0) couttt*抱歉!無(wú)此課程信息。n; b=a; do if(b-teacher=n) coutnum name teacher xuefen addnext; while(b!=NULL); if(i=0) couttt*抱歉!無(wú)此課程信息。endl; void Find(x
20、uanke *head) couttt*endl tt* *endl tt* 1.課程號(hào)查詢. *endl tt* 2.課程名查詢. *endl tt* 3.開課教師查詢. *endl tt* *endl tt*i; switch(i) case 1: cout請(qǐng)輸入您所查找的課程號(hào):; Findnum(head); break; case 2: cout請(qǐng)輸入您所查找的課程名:; Findname(head); break; case 3: cout請(qǐng)輸入您所查找的課程開課教師姓名:; Findteacher(head); break; default:couttt*輸入錯(cuò)誤!endl; /
21、xuanke * replace(xuanke *a) couttt*endl tt endl tt 1.通過(guò)課程號(hào)修改. endl tt 2.通過(guò)課程名修改. endl tt 3.通過(guò)開課教師修改. endl tt endl tt*i; switch(i) case 1: coutn; do if(p1-num=n) cout請(qǐng)輸入新信息:endl; coutm; for(p2=a;p2!=NULL;p2=p2-next) if(p2-num=m) couttt*修改失??!該課程號(hào)已存在,請(qǐng)確認(rèn)后再輸入。num=m; coutp1-name; coutp1-teacher; coutp1-x
22、uefen; coutp1-add; b+; c+; p1=p1-next; while(p1!=NULL); break; case 2: coutn; do if(p1-name=n) cout請(qǐng)輸入新信息:endl; coutm; for(p2=a;p2!=NULL;p2=p2-next) if(p2-num=m) couttt*修改失??!該課程號(hào)已存在,請(qǐng)確認(rèn)后再輸入。num=m; coutp1-name; coutp1-teacher; coutp1-xuefen; coutp1-add; b+; c+; p1=p1-next; while(p1!=NULL); break; cas
23、e 3: coutn; do if(p1-teacher=n) cout請(qǐng)輸入新信息:endl; coutm; for(p2=a;p2!=NULL;p2=p2-next) if(p2-num=m) couttt*修改失??!該課程號(hào)已存在,請(qǐng)確認(rèn)后再輸入。num=m; coutp1-name; coutp1-teacher; coutp1-xuefen; coutp1-add; b+; c+; p1=p1-next; while(p1!=NULL); break; default:couttt*輸入錯(cuò)誤!endl; if(c=0) couttt*抱歉!無(wú)此你要修改的課程信息。endl; else
24、 cout已成功修改了c處信息。endl; save(a); return a;/void mohu(xuanke *a) int i=0; string str,n; char b; xuanke *p; couttt*endl tt* *endl tt* 1.課程名查詢. *endl tt* 2.開課教師查詢. *endl tt* *endl tt*endl; coutb; switch(b) case 1: coutstr; for(p=a;p!=NULL;p=p-next) if(p-name.find(str)100) println(p); i+; if(i=0) cout無(wú)您要查詢的相關(guān)信息!endl;break; case 2: coutstr; for(p=a;p!=NULL;p=p-next) if(p-teacher.find(str)100) println(p); i+; if(i=0) cout無(wú)您要查詢的相關(guān)信息!endl;br
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024正規(guī)航空航天產(chǎn)業(yè)投資借款協(xié)議3篇
- 天然氣灶具知識(shí)培訓(xùn)課件
- 2024房屋典當(dāng)借款合同
- 銀行前臺(tái)工作經(jīng)驗(yàn)分享
- 班主任期中工作自我評(píng)價(jià)與反思
- 汽車設(shè)計(jì)師塑造時(shí)尚動(dòng)感的汽車外形
- 2024年項(xiàng)目掛鉤保密協(xié)議
- 安全知識(shí)培訓(xùn)課件
- 攝影工作總結(jié)店員工作總結(jié)
- 云南國(guó)土資源職業(yè)學(xué)院《工程材料及成型技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 服務(wù)重點(diǎn)客戶
- 工業(yè)濾芯行業(yè)利潤(rùn)分析
- 2023年四川成都市初中學(xué)業(yè)水平考試生物試卷真題(答案詳解)
- 橋梁工程施工現(xiàn)場(chǎng)監(jiān)測(cè)方案
- 帝國(guó)主義:資本主義發(fā)展的最高最后階段
- 江蘇省蘇州市2023-2024學(xué)年高一上學(xué)期期末學(xué)業(yè)質(zhì)量陽(yáng)光指標(biāo)調(diào)研生物試題
- 閱讀理解:如何找文章線索 課件
- 2024年廣西北部灣港集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 科技館改造室內(nèi)裝修工程 投標(biāo)方案(技術(shù)方案)
- (外研版)高一英語(yǔ)必修1(全冊(cè))同步練習(xí)匯總
- 朱熹文公世系通譜
評(píng)論
0/150
提交評(píng)論