版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 《C++程序設(shè)計(jì)》</b></p><p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p><b> 課程設(shè)計(jì)任務(wù)書(shū)</b></p><p><b> 目錄</b></p><p><b> 【前言】<
2、;/b></p><p> 第1章 需求分析3</p><p> 第2章 總體設(shè)計(jì)3</p><p> 第3章 類的設(shè)計(jì)3</p><p> 3.1 ×××類的設(shè)計(jì)3</p><p> 3.2 ×××類的設(shè)計(jì)4</p>
3、<p> 第4章 詳細(xì)設(shè)計(jì)4</p><p> 4.1 工程視圖4</p><p> 4.2 類圖視圖4</p><p> 4.3 函數(shù)的調(diào)用關(guān)系5</p><p> 4.4 主程序流程圖5</p><p> 4.5 主要算法的流程圖5</p><p><
4、b> 第5章 測(cè)試5</b></p><p><b> 第6章 總結(jié)5</b></p><p><b> 附錄:程序代碼6</b></p><p><b> 需求分析</b></p><p> 學(xué)生成績(jī)管理系統(tǒng)主要提供成績(jī)查詢,方便管理的網(wǎng)上的
5、信息查閱平臺(tái),學(xué)生可以通過(guò)該系統(tǒng)查閱與自己相關(guān)信息,查看留言,提交留言。教師可以通過(guò)成績(jī)管理系統(tǒng)查閱學(xué)生成績(jī)信息,教師信息,查看教師留言,學(xué)生留言,提交留言、留言的管理等相關(guān)操作。系統(tǒng)管理員可以實(shí)現(xiàn)以上的所有功能,還有對(duì)學(xué)生的添加、刪除、修改、教師的添加、刪除、修改,數(shù)據(jù)庫(kù)的備份、數(shù)據(jù)庫(kù)的還原等操作。</p><p> 根據(jù)開(kāi)發(fā)要求,學(xué)生成績(jī)管理系統(tǒng)主要應(yīng)用于教育系統(tǒng),完成對(duì)日常的教學(xué)、教務(wù)、教師以及學(xué)生的計(jì)算
6、機(jī)化的管理。開(kāi)發(fā)學(xué)生成績(jī)管理系統(tǒng)可使老師等減輕壓力,比較系統(tǒng)的對(duì)教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信息進(jìn)行管理,同時(shí),可以減少勞動(dòng)力的使用,加快查詢速度,加強(qiáng)管理,以及國(guó)家各部門關(guān)于信息化的步伐,使各項(xiàng)管理更加規(guī)范化。目前,管理信息系統(tǒng)已經(jīng)進(jìn)入高校,但還未普及,而對(duì)于學(xué)生成績(jī)管理來(lái)說(shuō),目前還沒(méi)有一套完整的、統(tǒng)一的系統(tǒng)。因此,開(kāi)發(fā)一套適合大眾的、兼容性好的系統(tǒng)是很有必要的。</p><p> ?。?)學(xué)生成績(jī)管理系統(tǒng)分為8個(gè)
7、模塊,分別是:添加學(xué)生信息,輸出學(xué)生成績(jī),查找學(xué)生成績(jī),修改學(xué)生成績(jī),刪除學(xué)生成績(jī),學(xué)生成績(jī)排序,保存數(shù)據(jù)到文件和讀取文件中學(xué)生成績(jī)的模塊。</p><p> 學(xué)生成績(jī)管理系統(tǒng)結(jié)構(gòu):</p><p> 各個(gè)子函數(shù)功能及其流程:</p><p> 首先定義一個(gè)學(xué)生類Class Student;并定義其各個(gè)私有變量和公有函數(shù)</p><p>
8、; Student();構(gòu)造函數(shù),用于初始化學(xué)生類中的各個(gè)變量并記錄</p><p><b> 輸入學(xué)生信息:</b></p><p> Add();函數(shù):用于添加學(xué)生信息的函數(shù)包括學(xué)號(hào)姓名成績(jī)等的內(nèi)容</p><p> Output();函數(shù):用于輸出學(xué)生信息,包括學(xué)號(hào)姓名各科及總分平均成績(jī)</p><p>
9、 Find();函數(shù):用于查找學(xué)生各項(xiàng)信息。</p><p> modify();函數(shù):用于修改學(xué)生各項(xiàng)信息。</p><p> delete();函數(shù):用于刪除學(xué)生信息。</p><p> 8.sort();函數(shù):對(duì)學(xué)生各項(xiàng)信息進(jìn)行排序操作。</p><p> save()和load();函數(shù):將學(xué)生信息保存到文件中,并在需要的時(shí)候
10、調(diào)用該文件將其中的學(xué)生信息顯示出來(lái)</p><p><b> 總體設(shè)計(jì)</b></p><p> 1.用結(jié)構(gòu)框圖表示各個(gè)功能之間的關(guān)系。</p><p><b> 程序代碼:</b></p><p><b> 類的設(shè)計(jì)</b></p><p>
11、 學(xué)生成績(jī)管理系統(tǒng)類的設(shè)計(jì)(第一個(gè)類)</p><p><b> 1.畫(huà)出類圖</b></p><p> 2.對(duì)類的函數(shù)成員的說(shuō)明</p><p> 不用寫(xiě)出代碼,用文字描述</p><p><b> 函數(shù)的首部</b></p><p> 插入函數(shù),先進(jìn)行成績(jī)的錄入
12、,輸入學(xué)生的姓名,學(xué)號(hào),課程,成績(jī)即可。然后選擇課程,查詢即可。</p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p><b> 工程視圖</b></p><p> 說(shuō)明有幾個(gè)源代碼文件,可以截取工程文件視圖表示</p><p><b> 類圖視圖</b><
13、/p><p> 每個(gè)文件包含哪些類和函數(shù),可以截圖說(shuō)明</p><p><b> 主要算法的流程圖</b></p><p> Main函數(shù)工作原理圖:</p><p><b> 查找函數(shù):</b></p><p><b> 測(cè)試</b></p
14、><p> 程序的運(yùn)行結(jié)果截圖:</p><p> 錄入學(xué)生成績(jī)信息后顯示如下:</p><p> 輸入4查看班級(jí)總分排名:</p><p> 輸入0安全退出系統(tǒng):</p><p><b> 總結(jié)</b></p><p> 此課程設(shè)計(jì)完成了對(duì)學(xué)生成績(jī)的添加、刪除、修
15、改等功能的設(shè)計(jì)操作,并且為了插入和刪除方便,運(yùn)用動(dòng)態(tài)數(shù)組做存儲(chǔ)結(jié)構(gòu)。此課程設(shè)計(jì)還包含了清屏功能以及退出功能。對(duì)程序在運(yùn)行時(shí)輸入錯(cuò)誤操作的修改,提供了一定方便條件基本上能安全的運(yùn)行,具備的功能符合題目的要求。用了文件的操作,是此程序的最大優(yōu)點(diǎn)。程序?qū)懙倪€算簡(jiǎn)練,結(jié)構(gòu)清晰,各個(gè)模塊的分工和功能明確。</p><p> 經(jīng)過(guò)兩周的課程設(shè)計(jì),我認(rèn)識(shí)到把課堂上老師講的知識(shí)運(yùn)用到實(shí)際操作中的重要性。我這次課程設(shè)計(jì)的題目是學(xué)
16、生成績(jī)管理系統(tǒng),在開(kāi)始階段,根本無(wú)從下手,后來(lái)通過(guò)查閱一些相關(guān)資料和老師的耐心講解,最終成功完成整個(gè)程序的設(shè)計(jì)。通過(guò)這次課設(shè)我對(duì)C++語(yǔ)言中的類的定義、運(yùn)算符重載等知識(shí)有了進(jìn)一步的理解,對(duì)流程圖的畫(huà)法更加熟練,對(duì)程序的開(kāi)發(fā)思路有了一定的理解,我想這在以后的學(xué)習(xí)和工作中都會(huì)有幫助的,更使我意識(shí)到了學(xué)習(xí)C++語(yǔ)言的重要性。</p><p> 程序中運(yùn)用了多文件結(jié)構(gòu),雖然程序不是太大,但多文件結(jié)構(gòu)的使用是我模仿正規(guī)軟
17、件的結(jié)構(gòu)來(lái)寫(xiě)的,我想這對(duì)我以后的提高有幫助。</p><p> 另外,對(duì)程序的不斷調(diào)試,是我的查錯(cuò)能力有了很大的提高。</p><p> 附錄:學(xué)生成績(jī)管理系統(tǒng)#源代碼:</p><p> 此函數(shù)源代碼在Codeblocks環(huán)境下編譯通過(guò)。具體如下:</p><p> #include<iostream ></p&g
18、t;<p> #include<string ></p><p> #include<cstdio></p><p> #include<cstdlib></p><p> using namespace std;</p><p> class student{</p>
19、<p><b> private:</b></p><p> string name;</p><p><b> long id;</b></p><p> float Chinese;</p><p> float math;</p><p> fl
20、oat English;</p><p> float sum;</p><p> float ave;</p><p><b> public:</b></p><p> student();</p><p> void input();</p><p> v
21、oid show();</p><p> void copy(student a);</p><p> string NAME(){return name;}</p><p> long ID(){return id;}</p><p> float chi(){return Chinese;}</p><p>
22、; float mat(){return math;}</p><p> float eng(){return English;}</p><p> float SUM(){return sum;}</p><p> float AVE(){return ave;}</p><p><b> };</b><
23、;/p><p> void student::input(){</p><p> cout<<"\t\t請(qǐng)輸入學(xué)生的姓名:";</p><p> cin>>name;</p><p> cout<<"\t\t請(qǐng)輸入學(xué)生的學(xué)號(hào):";</p><p
24、><b> cin>>id;</b></p><p> cout<<"\t\t請(qǐng)輸入語(yǔ)文成績(jī):";</p><p> cin>>Chinese;</p><p> cout<<"\t\t請(qǐng)輸入數(shù)學(xué)成績(jī):";</p><p&g
25、t; cin>>math;</p><p> cout<<"\t\t請(qǐng)輸入英語(yǔ)成績(jī):";</p><p> cin>>English;</p><p> sum=Chinese+math+English;</p><p> ave=sum/3;</p><p
26、><b> }</b></p><p> student::student()</p><p><b> {</b></p><p> name="noname";</p><p><b> id=0;</b></p><
27、p> Chinese=0;</p><p><b> math=0;</b></p><p> English=0;</p><p><b> sum=0;</b></p><p><b> ave=0;</b></p><p><
28、b> }</b></p><p> void student::show()</p><p><b> {</b></p><p> cout<<"姓名:"<<name<<endl<<"學(xué)號(hào):"<<id<<e
29、ndl<<"語(yǔ)文:"<<Chinese<<endl</p><p> <<"數(shù)學(xué):"<<math<<endl<<"英語(yǔ):"<<English<<endl<<"總成績(jī):"<<sum<<endl
30、<<"平均分:"<<ave<<endl<<endl;</p><p><b> }</b></p><p> void student::copy(student a)</p><p><b> {</b></p><p>
31、 name=a.NAME();</p><p> id=a.ID();</p><p> Chinese=a.chi();</p><p> math=a.mat();</p><p> English=a.eng();</p><p> sum=a.SUM();</p><p>
32、ave=a.AVE();</p><p><b> }</b></p><p> short showmenu()</p><p><b> {</b></p><p> short select;</p><p> cout<<"******
33、**********************************************************"<<endl;</p><p> cout<<"學(xué) 生 成 績(jī) 管 理 系 統(tǒng) "<<endl;</p><p> cout<<
34、"****************************************************************"<<endl;</p><p> cout<<" 1.錄入學(xué)生成績(jī) "<<endl;</p>&
35、lt;p> cout<<" 2.查詢、修改學(xué)生成績(jī) "<<endl;</p><p> cout<<" 3.按總分排序 "<<endl
36、;</p><p> cout<<" 4.班級(jí)總分 "<<endl;</p><p> cout<<" 0.安全退出系統(tǒng)
37、"<<endl;</p><p> cout<<"****************************************************************"<<endl;</p><p> cout<<"\t\t請(qǐng)選擇:";</p><p>
38、 cin>>select;</p><p> return select;</p><p><b> }</b></p><p> void find(student stu[]){</p><p><b> string k;</b></p><p>
39、 short i,j;</p><p><b> long n;</b></p><p><b> short m;</b></p><p> char q='n';</p><p> cout<<"**************************
40、***************************************\n";</p><p> cout<<"*\t\t\t1.按學(xué)號(hào)查找\t\t\t\t*\n";</p><p> cout<<"*\t\t\t2.按姓名查找\t\t\t\t*\n";</p><p> cou
41、t<<"*****************************************************************\n";</p><p><b> cin>>m;</b></p><p><b> if(m==1)</b></p><p><b
42、> {</b></p><p> cout<<"請(qǐng)輸入學(xué)號(hào):";</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> cin>>n;</b>&
43、lt;/p><p> if(n>1&&n<12)</p><p><b> {</b></p><p> cout<<"輸入有誤!請(qǐng)重新輸入:";</p><p><b> }</b></p><p><b
44、> else</b></p><p><b> break;</b></p><p><b> }</b></p><p> for(i=0;stu[i].ID()!=0;i++)</p><p><b> {</b></p><
45、p> if(n==stu[i].ID())</p><p> stu[i].show();</p><p><b> j=i;</b></p><p><b> }</b></p><p><b> }</b></p><p> els
46、e if(m==2)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入姓名:";</p><p><b> cin>>k;</b></p><p> for(i=0;stu[i].ID()!=0;i++)</p&g
47、t;<p><b> {</b></p><p> if(k==stu[i].NAME())</p><p> stu[i].show();</p><p><b> j=i;</b></p><p><b> }</b></p><
48、p><b> }</b></p><p><b> else</b></p><p> cout<<"輸入的選項(xiàng)有誤!";</p><p> cout<<"是否修改(Y/N):";</p><p><b> c
49、in>>q;</b></p><p> if(q=='y'||q=='Y')</p><p><b> {</b></p><p> stu[j].input();</p><p><b> }</b></p><p
50、><b> }</b></p><p> void arrange(student stu[])</p><p><b> {</b></p><p> student temp;</p><p> short i,j;</p><p> for(i=0;s
51、tu[i].ID()!=0;i++)</p><p><b> {</b></p><p> for(j=i+1;stu[j].ID()!=0;j++)</p><p><b> {</b></p><p> if(stu[i].SUM()<stu[j].SUM())</p>
52、;<p><b> {</b></p><p> temp.copy(stu[i]);</p><p> stu[i].copy(stu[j]);</p><p> stu[j].copy(temp);</p><p><b> }</b></p><p&
53、gt;<b> }</b></p><p><b> }</b></p><p> for(i=0;stu[i].ID()!=0;i++)</p><p><b> {</b></p><p> stu[i].show();</p><p>&
54、lt;b> }</b></p><p><b> }</b></p><p> void classave(student stu[])</p><p><b> {</b></p><p> float cla=0,a;</p><p><
55、b> short i;</b></p><p> for(i=0;stu[i].ID()!=0;i++)</p><p><b> {</b></p><p> cla+=stu[i].SUM();</p><p><b> }</b></p><p&
56、gt;<b> a=cla/i;</b></p><p> cout<<"班級(jí)總分是:"<<a<<endl;</p><p> cout<<"不及格的人是:"<<endl;</p><p> for(i=0;stu[i].ID()!=0;
57、i++)</p><p><b> {</b></p><p> if(stu[i].AVE()<60)</p><p> stu[i].show();</p><p><b> }</b></p><p><b> a/=3;</b>&
58、lt;/p><p> cout<<"顯示平均分小于班級(jí)總平均分的學(xué)生:"<<endl;</p><p> for(i=0;stu[i].ID()!=0;i++)</p><p><b> {</b></p><p> if(stu[i].AVE()<=a)</p
59、><p> stu[i].show();</p><p><b> }</b></p><p><b> }</b></p><p> int main()</p><p><b> {</b></p><p> stud
60、ent stu[100];</p><p><b> short i;</b></p><p> char temp='Y';</p><p> short select;</p><p> for(;select=showmenu();)</p><p><b>
61、; {</b></p><p> switch(select)</p><p><b> {</b></p><p><b> case 1:</b></p><p> for(i=0;i<100&&(temp!='N'&&
62、temp!='n');i++)</p><p><b> {</b></p><p> stu[i].input();</p><p> cout<<"是否繼續(xù)(Y/N):"<<endl;</p><p> cin>>temp;</p&
63、gt;<p><b> }break;</b></p><p><b> case 2:</b></p><p> find(stu);</p><p><b> break;</b></p><p><b> case 3:</b>
64、;</p><p> arrange(stu);</p><p><b> break;</b></p><p><b> case 4:</b></p><p> classave(stu);</p><p><b> break;</b>&
65、lt;/p><p><b> }</b></p><p> cout<<"按任意鍵繼續(xù)!"<<endl;</p><p> getchar();</p><p> getchar();</p><p> system("cls"
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++程序課程設(shè)計(jì)報(bào)告—學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c++課程設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c&c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與管理
評(píng)論
0/150
提交評(píng)論