學生成績管理系統(tǒng) C++大作業(yè)_第1頁
學生成績管理系統(tǒng) C++大作業(yè)_第2頁
學生成績管理系統(tǒng) C++大作業(yè)_第3頁
學生成績管理系統(tǒng) C++大作業(yè)_第4頁
學生成績管理系統(tǒng) C++大作業(yè)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、面 向 對 象 程 序 設 計課 程 實 習 大 作 業(yè)學生成績管理系統(tǒng)(學生信息的查詢,求總分平均分,排序)(The system of students score management) 班 級: 姓 名: 學 號: 1設計的目的管理學生信息1.1 設計功能介紹該設計實現(xiàn)學生信息的輸出,查詢,求總球平均以及排序功能。啟動頁面后,可根據(jù)提示信息輸入學生信息,可輸入多組。然后你會看見“0表示調用“輸出“函數(shù) 1表示調用“查找“學生信息函數(shù)2表示調用”排序“函數(shù)3表示調用“求和求平均分”函數(shù)請依照上述說明輸入數(shù)字:“的提示信息,此時你可以更據(jù)要求輸入數(shù)字,進行相應的操作。若輸入0,你將看到你剛

2、才錄入的信息整齊的輸出在桌面上;若輸入1,你將看到-請輸入查找的同學的學號:-的提示信息,輸入學號即可查詢;若輸入2,你將看到若按照總分排序請輸入1,按數(shù)學排序輸入2.按英語排序輸入3.按匯編排序輸入4,請按要求輸入:-的提示信息,按要求輸入即可;若輸入3,你將看到-請輸入查找的同學的學號:的提示信息,輸入即可;1.2 涉及到的知識點和解決方法主要用到類的聲明定義,運算符重載,友元,類的繼承與派生,設置菜單。運用類建立一組學生信息,在利用對象數(shù)組得到多組學生信息,將所有的操作函數(shù)都設為類的成員函數(shù),在利用菜單調用這些函數(shù)對對象數(shù)組進行操作,其中,我們還設置了益處錯誤,如若輸入不正確,會有相應的

3、提示信息輸入,并且可以重新執(zhí)行該操作,方便。設計的難點是如何將輸入的數(shù)據(jù)放入對象數(shù)組,以及如何讓成員函數(shù)對數(shù)組進行操作。解決方法是像普通數(shù)組一樣傳參。1.3 系統(tǒng)功能結構圖學生信息管理系統(tǒng)輸入信息輸出信息求總求平均分查找信息按總分排序按單科成績排序圖1 系統(tǒng)功能結構圖1.4 主要界面截圖圖1. 主界面,根據(jù)提示輸入數(shù)據(jù)圖2. 輸入0,調用輸出函數(shù)圖3. 查詢的結果,顯示溢出錯誤圖4. 調用排序函數(shù),顯示溢出錯誤圖5. 調用求和求平均分的函數(shù)2開發(fā)環(huán)境運行環(huán)境:Windows 7、Windows XP開發(fā)工具:Dev C+3各功能項對應類或函數(shù)的設計過程3.1 類的聲明和定義 #include#

4、include#define N 2using namespace std; class Tongxue /定義基類 protected: int num; string name; char sex; float match; float english; float huibian;class Student:public Tongxue /定義派生類 public: void shuru(); void shuchu(Student b); void chazhao(Student b);/聲明成員函數(shù) void sumaver(Student b);/聲明成員函數(shù) void paixu

5、 (Student b);/聲明成員函數(shù) friend ostream&operator (istream&,Student&); protected: int tele; /定義派生類中的新數(shù)據(jù)成員 string addr;/定義派生類中的新數(shù)據(jù)成員 ;ostream&operator(ostream&output,Student&c) outputnum:c.numtname:tsex:c.sextmatch:c.matchtengliah:c.englishthuibian:c.huibianttele:c.teletaddr:c.addr (istream&input,St

6、udent&c) c.sexc.matchc.englishc.huibian; return input; 3.2主界面代碼int main()int m,xz; Student bN; for(int i=0;iN;i+) bi.shuru(); Student stu;m=0;while(m=0)cout0表示調用“輸出“函數(shù)endl; cout1表示調用“查找“學生信息函數(shù)endl;cout2表示調用”排序“函數(shù)endl;cout3表示調用“求和求平均分”函數(shù)endl;coutendl;cout請依照上述說明輸入數(shù)字:xz;/輸入數(shù)字選擇調用函數(shù);swi

7、tch (xz) case 0: stu.shuchu(b);break; case 1: stu.chazhao(b);break; case 2: stu.paixu(b);break; case 3: stu.sumaver(b);break; default : m=1;/m置1,which循環(huán)結束 void Student:shuru()cout請按照以下要求正確的輸入學生信息。數(shù)據(jù)之間用空格隔開,輸入完成后按回車結束:endl;coutnum; coutendl;coutname; coutendl;coutsex; coutendl;coutmatch; coutendl;cou

8、tenglish; coutendl;couthuibian; coutendl;couttele; cout endl;coutaddr; coutendl; 3.3 調用輸出函數(shù)代碼void Student:shuchu(Student b)for(int i=0;iN;i+)coutbi;3.4調用查找函數(shù)代碼void Student: chazhao(Student b) int xuehao; cout請輸入查找的同學的學號:xuehao; if(xuehaoN)/錯誤處理 cout對不起,你輸入的學號不在該系統(tǒng)內,請重新輸入xuehao; for(int i=0;iN;i+) if

9、(i=xuehao-1) cout biendl; 3.5調用求和求平均分代碼void Student:sumaver(Student b) int j,xuehao; float sum,average; cout請輸入查找的同學的學號:xuehao; for(int i=0;iN;i+) if(i=xuehao-1) sum=bi.match+bi.english+bi.huibian; coutbi; average=sum/3; coutsum:sumendl; coutaverage:averageendl; 3.6調用排序函數(shù)代碼void Student:paixu (Studen

10、t b)/定義成員函數(shù) int i,j,sz; float n,aN;/定義一個存放每個同學總分的數(shù)組; Student o; cout若按照總分排序請輸入1,按數(shù)學排序輸入2.按英語排序輸入3.按匯編排序輸入4,請按要求輸入:sz;/按上述要求輸入數(shù)字sz if(sz!=1&sz!=2&sz!=3&sz!=4) cout您輸入的數(shù)據(jù)部符合要求,請重新輸入:endl; cout若按照總分排序請輸入1,按數(shù)學排序輸入2.按英語排序輸入3.按匯編排序輸入4,請按要求輸入:sz;if(sz=1)for(i=0;iN;i+) ai=bi.match+bi.english+bi.huibian; for

11、(i=0;iN-1;i+)/冒泡排序.此循環(huán)控制循環(huán)的論述 for(j=0;jN-1-i;j+)/此循環(huán)控制每一輪的比較和交換次數(shù) if(ajaj+1) n=aj+1;aj+1=aj;aj=n; o=bj+1;bj+1=bj;bj=o; for(i=0;iN;i+) coutaibiendl; else if(sz=2) for(i=0;iN-1;i+)/冒泡排序.此循環(huán)控制循環(huán)的論述 for(j=0;jN-1-i;j+)/此循環(huán)控制每一輪的比較和交換次數(shù) if(bj.matchbj+1.match) o=bj+1;bj+1=bj;bj=o; for(i=0;iN;i+) coutbiendl

12、; else if(sz=3) for(i=0;iN-1;i+)/冒泡排序.此循環(huán)控制循環(huán)的論述 for(j=0;jN-1-i;j+)/此循環(huán)控制每一輪的比較和交換次數(shù) if(bj.englishbj+1.english) o=bj+1;bj+1=bj;bj=o; for(i=0;iN;i+) coutbiendl; else if(sz=4) for(i=0;iN-1;i+)/冒泡排序.此循環(huán)控制循環(huán)的論述 for(j=0;jN-1-i;j+)/此循環(huán)控制每一輪的比較和交換次數(shù) if(bj.huibianbj+1.huibian) o=bj+1;bj+1=bj;bj=o; for(i=0;iN;i+) coutbiendl; else cout您輸入的數(shù)據(jù)依舊不符合要求,您必須按照以下提示信息重新選擇函數(shù)調用,重新選擇排序方式:endl; 4小結系統(tǒng)從學生信息管理的實現(xiàn)出發(fā),分別介紹了實現(xiàn)功能,開發(fā)環(huán)境及系統(tǒng)流程圖。通過本次設計鞏固了前面學習的C語言的知識,并靈活的運用于C+的設計中。在Dev C+的環(huán)境中實踐中,我們實現(xiàn)了學生信息管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論