C課程設(shè)計(jì)學(xué)生學(xué)籍管理系統(tǒng)_第1頁
C課程設(shè)計(jì)學(xué)生學(xué)籍管理系統(tǒng)_第2頁
C課程設(shè)計(jì)學(xué)生學(xué)籍管理系統(tǒng)_第3頁
C課程設(shè)計(jì)學(xué)生學(xué)籍管理系統(tǒng)_第4頁
C課程設(shè)計(jì)學(xué)生學(xué)籍管理系統(tǒng)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程名稱:c +面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)題目:大學(xué)生學(xué)籍管理系統(tǒng)目錄:系統(tǒng)設(shè)計(jì)目標(biāo)、意義、系統(tǒng)設(shè)計(jì)思路三、系統(tǒng)功能介紹四、輸入輸出的設(shè)計(jì)(1)界面的設(shè)計(jì)(2)數(shù)據(jù)輸出設(shè)計(jì)(3)系統(tǒng)運(yùn)行結(jié)果五、詳細(xì)設(shè)計(jì)(1)系統(tǒng)功能結(jié)構(gòu)圖(2)UML六、附錄七、系統(tǒng)設(shè)計(jì)、開發(fā)過程中遇到的問題八、心得體會(huì)學(xué)生學(xué)籍管理系統(tǒng)-、系統(tǒng)設(shè)計(jì)目標(biāo)、意義(一)系統(tǒng)實(shí)現(xiàn)的目標(biāo)1、課程設(shè)計(jì)的任務(wù):制作一個(gè)小型的學(xué)生學(xué)籍管理系統(tǒng),要求制作一個(gè)菜單,實(shí)現(xiàn)數(shù)據(jù)的錄入, 數(shù)據(jù)的顯示,數(shù)據(jù)查找,數(shù)據(jù)的刪除,數(shù)據(jù)的保存,數(shù)據(jù)的統(tǒng)計(jì),數(shù)據(jù)的修 改,系統(tǒng)的退出。系統(tǒng)的設(shè)計(jì)要求用到C+面向?qū)ο蟮某绦蛟O(shè)計(jì),要求用到類來實(shí)現(xiàn),同時(shí)每一個(gè)功能用到一個(gè)函

2、數(shù)。2、(1)基本功能: 學(xué)生基本信息(編號(hào),姓名,性別,籍貫,民族,生日,政治面貌,省份 證,數(shù)學(xué)成績(jī),英語成績(jī),計(jì)算機(jī)成績(jī))成績(jī)統(tǒng)計(jì)(各科總成績(jī),各科平均成績(jī),各科的及格率)(2)擴(kuò)展功能:學(xué)生數(shù)據(jù)的添加、修改、與刪除學(xué)生數(shù)據(jù)的讀取與存儲(chǔ)3 、系統(tǒng)特點(diǎn): 系統(tǒng)要能夠?qū)ο鄳?yīng)的數(shù)據(jù)進(jìn)行很好的測(cè)試,系統(tǒng)的統(tǒng)計(jì)對(duì)每一科的總成績(jī), 平均成績(jī),及格律都進(jìn)行了統(tǒng)計(jì);系統(tǒng)數(shù)據(jù)的錄入 除可以手工錄入外,還可 以采用文件的錄入;系統(tǒng)統(tǒng)計(jì)學(xué)生的基本信息較全面,包括學(xué)號(hào),姓名,民 族,政治面貌,身份證號(hào),生日,性別,數(shù)學(xué)、英語、計(jì)算機(jī)的成績(jī);程序 中查找運(yùn)用了兩種查找方式即學(xué)號(hào)查找和姓名查找。(二)系統(tǒng)設(shè)計(jì)的意義

3、 通過設(shè)計(jì)此項(xiàng)程序,能夠?qū)W(xué)生的學(xué)籍進(jìn)行統(tǒng)一的管理,對(duì)學(xué)生的學(xué)籍進(jìn)行錄入、修改、保存等功能進(jìn)行處理,從而能夠較快地對(duì)信息進(jìn)行處理,系統(tǒng)數(shù)據(jù) 的錄入 除可以手工錄入外,還可以采用文件的錄入;系統(tǒng)統(tǒng)計(jì)學(xué)生的基本信息較全面,程序中查找運(yùn)用了兩種查找方式即學(xué)號(hào)查找和姓名查找,方便查詢。二、系統(tǒng)設(shè)計(jì)思路 第一步:分析題目,建立類并派生出它的子類,畫出類圖。 第二步:畫出流程,根據(jù)流程圖編寫程序清單 第三步:上機(jī)調(diào)試程序(使用單步調(diào)試,設(shè)置斷點(diǎn)、分塊調(diào)試的方法)。 第四步:及時(shí)整理資料,撰寫課程設(shè)計(jì)報(bào)告中有關(guān)這個(gè)題目的內(nèi)容。三、系統(tǒng)功能介紹(一)程序?qū)W(xué)生學(xué)籍的數(shù)據(jù)處理要求 能夠輸入并瀏覽學(xué)生的基本信息;

4、 能夠?qū)崿F(xiàn)對(duì)學(xué)生信息的查詢和修改; 能夠?qū)Τ煽?jī)進(jìn)行統(tǒng)計(jì); 能夠?qū)W(xué)生的信息進(jìn)行保存;(二)系統(tǒng)功能: 資料維護(hù):系統(tǒng)維護(hù)包括對(duì)各學(xué)生信息和成績(jī)的錄入操作。 資料維護(hù):對(duì)數(shù)據(jù)表中的信息進(jìn)行瀏覽。系統(tǒng)查詢:可以對(duì)不同科目的總成績(jī)、不及率、各科平均成績(jī)相關(guān)信息四、輸入輸出的設(shè)計(jì)1界面的設(shè)計(jì)、界面設(shè)計(jì)程序運(yùn)行后會(huì)出現(xiàn)一個(gè)簡(jiǎn)捷的窗口,便于用戶查詢數(shù)據(jù)。、功能設(shè)計(jì)通過主窗體調(diào)用其他窗體,具體實(shí)現(xiàn)可以參照系統(tǒng)分析相關(guān)內(nèi)容。應(yīng) 用系統(tǒng)主控界面包括學(xué)生信息錄入,查找等功能模塊。學(xué)生信息錄入功能 完成學(xué)生信息和成績(jī)的輸入。記錄查詢功能可以對(duì)數(shù)據(jù)各分類的記錄進(jìn)行 查詢。2. 數(shù)據(jù)輸出設(shè)計(jì)主要運(yùn)行界面:統(tǒng)計(jì)界面:查找

5、界面:顯示界面:錄入界面:保存界面:修改界面:刪除界面:3、系統(tǒng)運(yùn)行的結(jié)果:(僅部分)五、詳細(xì)設(shè)計(jì)1、系統(tǒng)功能結(jié)構(gòu)圖:成績(jī),英語成績(jī),計(jì)算機(jī)成績(jī)(2)類:school成員函數(shù):錄入函數(shù)Input():輸入編號(hào)到計(jì)算機(jī)的成績(jī);統(tǒng)計(jì)函數(shù)count():統(tǒng)計(jì)各科的總成績(jī),計(jì)算平均成績(jī),統(tǒng)計(jì)各科的及格率;查詢函數(shù)found():按學(xué)號(hào)或姓名查找學(xué)生的記錄;修改函數(shù)mend():修改指定學(xué)號(hào)學(xué)生成績(jī)記錄;刪除函數(shù)del():刪除指定學(xué)號(hào)學(xué)生記錄;輸出函數(shù)show():輸出班級(jí)所有學(xué)生成績(jī)記錄;UML圖: int e=1;coutttt 按提示輸入 :endl;coutnumber;coutname;do

6、coutsex;if(strcmp(sex, 男)=0 | strcmp(sex, 女 )=0) coutplace; coutnation; coutbirth; coutparty; coutid; coutscore0; coutscore1;coutscore2;e=0;elsecoutttt 無此類型性別 ! 重新輸入 !numbernamesexplacenationbirthpartyidscore0score1score2;is.get(); void output()cout 學(xué)生基本信息如下 :endl;cout 編號(hào) :number 姓名 :name 性別 :sex 籍貫

7、 :place 民族 :nation 生日 :birth 政治面貌 :partyendl 身份證號(hào) :id 數(shù)學(xué) :score0 英語 :score1 計(jì)算機(jī) :score2 總分 :getg()endlendl;void output(ofstream & os) ossetw(6)number setw(15)namesetw(20)place setw(6)nationsetw(20)birthsetw(20)party setw(20)idsetw(6)score0setw(6)score1setw(6)score2next=NULL; key=0; school() delete h

8、ead; void input(); void mend(); void del();int fin d(stude nt *p,i nt n um,char *pn=);void found();void show();void count();void save();void begin();void clear();char mainmenu();int getkey() return key;void setkey(int k) key=k; private:student *head; int key;/錄入函數(shù)void school:input()student *p,*p2=NU

9、LL;p=head; int n;while(p-next) p=p-next;while(n) p2=new student; p2-input();p-next=p2; p2-next=NULL; p=p-next; school:setkey(1);coutn; /子查找函數(shù)int school:find(student *p1,int num,char *pn) student *p; p=head;while(p-next)(*p1)=p;if( (p-next)-getnumber()=num|!strcmp( (p-next)-getname(),pn ) ) return 1;

10、 p=p-next;return 0; /查找函數(shù)void school:found() student *p;int n um=-1, n=9; char n ame20=A;docoutn;while(n2);if(n=1) coutnum;if(n=2) coutname; if(!find(&p,num,name) ) couttt 找不到你要查找的內(nèi)容 !next)-output();/刪除函數(shù)void school:del() student *p,*p2; int num;coutnum;if( !find(&p, num,) couttt 找不到你要?jiǎng)h除的內(nèi)容 !next)-o

11、utput(); p2=p-next; p-next=p2-next;delete p2;school:setkey(1); void school:show() /顯示函數(shù) student *p; p=head;while(p-next) (p-next)-output();p=p-next;/修改函數(shù)void school:mend() student *p; int num=-1,n;char n ame20=A;do coutn;while(n2);if(n=1) coutnum;if(n=2)coutname;if( !find(&p,num,name) ) couttt 找不到你要

12、修改的內(nèi)容 !next)-output(); (p-next)-input(); school:setkey(1);void school:save() / 保存函數(shù) student *p; p=head;ofstream os(student.txt,ios:out);if (school:getkey()=1) while(p-next) (p-next)-output(os); p=p-next; coutttt 文件已保存 ! num;is.seekg(t); if(numinput(is);p-next=p2; p2-next=NULL; p=p-next; void school:

13、clear()/ 清空函數(shù) student *p,*p2;p=head-next; while( p )p2=p; p=p-next;delete p2;void school:count()/ 統(tǒng)計(jì)函數(shù)student *p; p=head;int n=0;double g3=0,0,0; float j3=0,0,0; while(p-next) p=p-next;n+;for(int i=0;igetscore(i) );(p-getscore(i) )=60.0? ji+ : 0 ;coutttbbbb 數(shù)學(xué)總分 :g0 平均分 :g0/n 及格率 :j0/nendlttbbbb 英語總

14、分 :g1 平均分 :g1/n 及格率 :j1/nendlttbbbb 計(jì)算機(jī)總分 : g2 平均分 : g2/n 及格率 :j2/nendl;/主選菜單函數(shù)char school:mainmenu()char n6;coutnn歡迎進(jìn)入學(xué)籍管理系統(tǒng)e ndle ndl* * * * * * * * * * * * * * * * * * *endl* * * * * * * * * * * * * * * * * * *endl* *1:錄入學(xué)生信息* *endl* *2:顯示學(xué)生信息* *endl* *3:查找學(xué)生信息* *endl* *4:刪除學(xué)生信息* *endl* *5:修改學(xué)生信息

15、* *endl* *6:統(tǒng)計(jì)學(xué)生成績(jī)* *endl* *7:保存學(xué)生信息* *endl* *0:退出系統(tǒng)* *endl* * * * * * * * * * * * * * * * * * *endl* * * * * * * * * * * * * * * * * * *endln; return n0;/主函數(shù) void main()school pp;int k=1; char n; pp.begin(); while(k=1) n=pp.mainmenu();switch(n) case 1:pp.input(); break;case 2:pp.show(); break;case

16、3:pp.found(); break;case 4:pp.del(); break;case 5:pp.mend(); break;case 6:pp.count(); break;case 7:pp.save(); break;case 0:if(pp.getkey()=1) coutk;if(k=1)pp.save();pp.clear();k=0;break; 七、系統(tǒng)設(shè)計(jì)、開發(fā)過程中遇到的問題及創(chuàng)新點(diǎn)本程序基本完成了題目要求的功能。但是由于顯示的限制,所羅列的學(xué)生成 績(jī)只給出了數(shù)學(xué),英語,計(jì)算機(jī)的成績(jī)。程序可通過改進(jìn),增加科目數(shù)。程序在 顯示學(xué)生信息時(shí)輸入過于繁雜,不夠清晰明朗,若顯示成類似表格的形式就好 了。解決辦法將輸出函數(shù)的輸出格式改一下,難點(diǎn)是計(jì)算輸出點(diǎn)的控制。至于創(chuàng)新, 就是在課題的選擇上, 我更加偏向于選擇自己感興趣的課題, 更加 注意程序的實(shí)用性通過這次課程設(shè)計(jì),我學(xué)會(huì)了很多的知識(shí),我通過自學(xué)相關(guān)的書籍,瀏覽網(wǎng)站,接觸了大量的編程知識(shí),在編程過程中逐漸提升自己的自學(xué)能力,

溫馨提示

  • 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. 人人文庫網(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)論