版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 《C++程序設計》</b></p><p><b> 課程設計說明書</b></p><p><b> 課程設計任務書</b></p><p><b> 目錄</b></p><p><b> 【前言】<
2、;/b></p><p> 第1章 需求分析3</p><p> 第2章 總體設計3</p><p> 第3章 類的設計3</p><p> 3.1 ×××類的設計3</p><p> 3.2 ×××類的設計4</p>
3、<p> 第4章 詳細設計4</p><p> 4.1 工程視圖4</p><p> 4.2 類圖視圖4</p><p> 4.3 函數(shù)的調用關系5</p><p> 4.4 主程序流程圖5</p><p> 4.5 主要算法的流程圖5</p><p><
4、b> 第5章 測試5</b></p><p><b> 第6章 總結5</b></p><p><b> 附錄:程序代碼6</b></p><p><b> 需求分析</b></p><p> 學生成績管理系統(tǒng)主要提供成績查詢,方便管理的網(wǎng)上的
5、信息查閱平臺,學生可以通過該系統(tǒng)查閱與自己相關信息,查看留言,提交留言。教師可以通過成績管理系統(tǒng)查閱學生成績信息,教師信息,查看教師留言,學生留言,提交留言、留言的管理等相關操作。系統(tǒng)管理員可以實現(xiàn)以上的所有功能,還有對學生的添加、刪除、修改、教師的添加、刪除、修改,數(shù)據(jù)庫的備份、數(shù)據(jù)庫的還原等操作。</p><p> 根據(jù)開發(fā)要求,學生成績管理系統(tǒng)主要應用于教育系統(tǒng),完成對日常的教學、教務、教師以及學生的計算
6、機化的管理。開發(fā)學生成績管理系統(tǒng)可使老師等減輕壓力,比較系統(tǒng)的對教務、教學上的各項服務和信息進行管理,同時,可以減少勞動力的使用,加快查詢速度,加強管理,以及國家各部門關于信息化的步伐,使各項管理更加規(guī)范化。目前,管理信息系統(tǒng)已經(jīng)進入高校,但還未普及,而對于學生成績管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適合大眾的、兼容性好的系統(tǒng)是很有必要的。</p><p> ?。?)學生成績管理系統(tǒng)分為8個
7、模塊,分別是:添加學生信息,輸出學生成績,查找學生成績,修改學生成績,刪除學生成績,學生成績排序,保存數(shù)據(jù)到文件和讀取文件中學生成績的模塊。</p><p> 學生成績管理系統(tǒng)結構:</p><p> 各個子函數(shù)功能及其流程:</p><p> 首先定義一個學生類Class Student;并定義其各個私有變量和公有函數(shù)</p><p>
8、; Student();構造函數(shù),用于初始化學生類中的各個變量并記錄</p><p><b> 輸入學生信息:</b></p><p> Add();函數(shù):用于添加學生信息的函數(shù)包括學號姓名成績等的內容</p><p> Output();函數(shù):用于輸出學生信息,包括學號姓名各科及總分平均成績</p><p>
9、 Find();函數(shù):用于查找學生各項信息。</p><p> modify();函數(shù):用于修改學生各項信息。</p><p> delete();函數(shù):用于刪除學生信息。</p><p> 8.sort();函數(shù):對學生各項信息進行排序操作。</p><p> save()和load();函數(shù):將學生信息保存到文件中,并在需要的時候
10、調用該文件將其中的學生信息顯示出來</p><p><b> 總體設計</b></p><p> 1.用結構框圖表示各個功能之間的關系。</p><p><b> 程序代碼:</b></p><p><b> 類的設計</b></p><p>
11、 學生成績管理系統(tǒng)類的設計(第一個類)</p><p><b> 1.畫出類圖</b></p><p> 2.對類的函數(shù)成員的說明</p><p> 不用寫出代碼,用文字描述</p><p><b> 函數(shù)的首部</b></p><p> 插入函數(shù),先進行成績的錄入
12、,輸入學生的姓名,學號,課程,成績即可。然后選擇課程,查詢即可。</p><p><b> 詳細設計</b></p><p><b> 工程視圖</b></p><p> 說明有幾個源代碼文件,可以截取工程文件視圖表示</p><p><b> 類圖視圖</b><
13、/p><p> 每個文件包含哪些類和函數(shù),可以截圖說明</p><p><b> 主要算法的流程圖</b></p><p> Main函數(shù)工作原理圖:</p><p><b> 查找函數(shù):</b></p><p><b> 測試</b></p
14、><p> 程序的運行結果截圖:</p><p> 錄入學生成績信息后顯示如下:</p><p> 輸入4查看班級總分排名:</p><p> 輸入0安全退出系統(tǒng):</p><p><b> 總結</b></p><p> 此課程設計完成了對學生成績的添加、刪除、修
15、改等功能的設計操作,并且為了插入和刪除方便,運用動態(tài)數(shù)組做存儲結構。此課程設計還包含了清屏功能以及退出功能。對程序在運行時輸入錯誤操作的修改,提供了一定方便條件基本上能安全的運行,具備的功能符合題目的要求。用了文件的操作,是此程序的最大優(yōu)點。程序寫的還算簡練,結構清晰,各個模塊的分工和功能明確。</p><p> 經(jīng)過兩周的課程設計,我認識到把課堂上老師講的知識運用到實際操作中的重要性。我這次課程設計的題目是學
16、生成績管理系統(tǒng),在開始階段,根本無從下手,后來通過查閱一些相關資料和老師的耐心講解,最終成功完成整個程序的設計。通過這次課設我對C++語言中的類的定義、運算符重載等知識有了進一步的理解,對流程圖的畫法更加熟練,對程序的開發(fā)思路有了一定的理解,我想這在以后的學習和工作中都會有幫助的,更使我意識到了學習C++語言的重要性。</p><p> 程序中運用了多文件結構,雖然程序不是太大,但多文件結構的使用是我模仿正規(guī)軟
17、件的結構來寫的,我想這對我以后的提高有幫助。</p><p> 另外,對程序的不斷調試,是我的查錯能力有了很大的提高。</p><p> 附錄:學生成績管理系統(tǒng)#源代碼:</p><p> 此函數(shù)源代碼在Codeblocks環(huán)境下編譯通過。具體如下:</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請輸入學生的姓名:";</p><p> cin>>name;</p><p> cout<<"\t\t請輸入學生的學號:";</p><p
24、><b> cin>>id;</b></p><p> cout<<"\t\t請輸入語文成績:";</p><p> cin>>Chinese;</p><p> cout<<"\t\t請輸入數(shù)學成績:";</p><p&g
25、t; cin>>math;</p><p> cout<<"\t\t請輸入英語成績:";</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<<"學號:"<<id<<e
29、ndl<<"語文:"<<Chinese<<endl</p><p> <<"數(shù)學:"<<math<<endl<<"英語:"<<English<<endl<<"總成績:"<<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<<"學 生 成 績 管 理 系 統(tǒng) "<<endl;</p><p> cout<<
34、"****************************************************************"<<endl;</p><p> cout<<" 1.錄入學生成績 "<<endl;</p>&
35、lt;p> cout<<" 2.查詢、修改學生成績 "<<endl;</p><p> cout<<" 3.按總分排序 "<<endl
36、;</p><p> cout<<" 4.班級總分 "<<endl;</p><p> cout<<" 0.安全退出系統(tǒng)
37、"<<endl;</p><p> cout<<"****************************************************************"<<endl;</p><p> cout<<"\t\t請選擇:";</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.按學號查找\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<<"請輸入學號:";</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<<"輸入有誤!請重新輸入:";</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<<"請輸入姓名:";</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<<"輸入的選項有誤!";</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<<"班級總分是:"<<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<<"顯示平均分小于班級總平均分的學生:"<<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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++學生成績管理系統(tǒng)課程設計報告
- c++學生成績管理系統(tǒng)課程設計報告
- c++課程設計報告--學生成績管理系統(tǒng)
- c++課程設計----學生成績管理系統(tǒng)
- c++課程設計----學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)c++課程設計
- c++課程設計-學生成績管理系統(tǒng)
- c++課程設計---學生成績管理系統(tǒng)
- c++課程設計---學生成績管理系統(tǒng)
- c++課程設計——學生成績管理系統(tǒng)
- c++課程設計報告---學生成績管理系統(tǒng)設計報告
- c++課程設計--學生成績管理系統(tǒng)
- c++學生成績管理系統(tǒng)課程設計
- c++課程設計--學生成績管理系統(tǒng)
- c++程序課程設計報告—學生成績管理系統(tǒng)
- c++課程設計--學生成績管理
- c++課程設計--- 學生成績管理系統(tǒng)設計
- c++課程設計--學生成績管理
- c&c++課程設計-學生成績管理系統(tǒng)
- c++課程設計--學生成績管理系統(tǒng)設計與管理
評論
0/150
提交評論