C++成績管理系統(tǒng)-最終版_第1頁
C++成績管理系統(tǒng)-最終版_第2頁
C++成績管理系統(tǒng)-最終版_第3頁
C++成績管理系統(tǒng)-最終版_第4頁
C++成績管理系統(tǒng)-最終版_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C++成績管理系統(tǒng)---最終版C++成績管理系統(tǒng)---最終版C++成績管理系統(tǒng)---最終版xxx公司C++成績管理系統(tǒng)---最終版文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設計,管理制度課程設計(論文)任務書軟件學院機械電子工程專業(yè)2010-1班一、課程設計(論文)題目學生成績管理系統(tǒng)二、課程設計(論文)工作自2011年6月27日起至2011年6月29日止。三、課程設計(論文)地點:軟件學院實訓中心四、課程設計(論文)內(nèi)容要求:1.本課程設計的目的(1)使學生掌握系統(tǒng)各功能模塊的基本工作原理;(2)掌握C++的基本編程原理和及基本的編程方法;(3)使學生學會系統(tǒng)調(diào)試;(4)培養(yǎng)學生分析、解決問題的能力;(5)提高學生的軟件文檔寫作能力。2.課程設計的任務及要求1)基本要求:(1)分析系統(tǒng)各功能模塊的工作原理;(2)至少有查找,排序、插入、刪除等功能;(3)提出系統(tǒng)的設計方案;(4)對所進行編程、調(diào)試、修改。2)創(chuàng)新要求:在基本要求達到后,可進行創(chuàng)新設計,如:文件流等;3)課程設計論文編寫要求(1)要按照書稿的規(guī)格打印謄寫畢業(yè)論文(2)論文包括目錄、緒論、正文、小結(jié)、參考文獻、附錄等(3)畢業(yè)論文裝訂按學校的統(tǒng)一要求完成4)答辯與評分標準:(1)完成原理分析:20分;(2)完成設計過程:40分;(3)完成調(diào)試運行結(jié)果正確:25分;(4)答辯:15分。5)參考文獻:(1)譚浩強.《C++程序設計實踐指導》清華大學出版社(2)譚浩強.《C++程序設計》清華大學出版社(3)//6)課程設計進度安排內(nèi)容天數(shù)地點總體需求與分析構(gòu)思及收集資料1圖書館各模塊的編程實現(xiàn),調(diào)試與修改3機房撰寫論文與答辯1圖書館,學生簽名:2010年6月28日課程設計(論文)評審意見(1)完成原理分析(20分):優(yōu)()、良()、中()、一般()、差();(2)設計分析(25分):優(yōu)()、良()、中()、一般()、差();(3)完成調(diào)試(20分):優(yōu)()、良()、中()、一般()、差();(4)運行結(jié)果(20分):優(yōu)()、良()、中()、一般()、差();(5)答辯(15分):優(yōu)()、良()、中()、一般()、差();(6)格式規(guī)范性及考勤是否降等級:是()、否()評閱人簽名:職稱:講師2010年6月20日學生成績管理系統(tǒng)設計報告需求分析:用數(shù)組或鏈表數(shù)據(jù)結(jié)構(gòu)完成一個學生成績管理系統(tǒng),此系統(tǒng)的具體功能要求如下:(1)學生信息錄入功能

1)用戶從鍵盤輸入每個學生的信息:學號、姓名、性別、數(shù)學、英語、C++、程序設計、物理五門課成績。

2)可插入一個或多個學生信息到當前編輯的班級數(shù)據(jù)中。3)可刪除一個或多個學生信息。(2)文件保存功能

1)學生信息每一班存為一個數(shù)據(jù)文件,數(shù)據(jù)文件可在程序中打開、編輯和重新保存。

2)用戶輸入學生信息可隨時保存數(shù)據(jù)文件。

(3)文件打開功能

1)程序只能對當前打開的數(shù)據(jù)文件進行編輯。

(4)查詢功能

1)瀏覽所有學生信息;

2)按學號查詢學生信息;

3)按姓名查詢學生信息;

4)查詢一個班總成績和平均成績;

5)查詢一個班某一門課總成績和平均成績;

(5)報表輸出功能

1)按學號輸出一個班學生信息:學號、姓名、性別、數(shù)學、英語、C++、程序設計、物理成績和總成績,到屏幕和文件。2)按總成績輸出從高到低輸出學號、姓名信息。注:以上功能以菜單形式供用戶使用,并有一定的容錯功能。概要設計整體框架:整個學生成績管理系統(tǒng)采用鏈表作為基本數(shù)據(jù)結(jié)構(gòu),創(chuàng)建一個類student用于保存學生的數(shù)據(jù)且是鏈表中的一個節(jié)點。類list作為保存整個鏈表之用。主函數(shù)通過switch語句來根據(jù)用戶的需要連接各個模塊,以實現(xiàn)用戶的需要。模塊基本介紹:用戶輸入模塊在此模塊中,用戶將根據(jù)菜單提示結(jié)合自己的需求輸入一個0~11的值,來實現(xiàn)一定的功能。學生信息錄入模塊此模塊可以讓用戶從鍵盤輸入每個學生的信息:學號、姓名、性別、數(shù)學、英語、C++、程序設計、物理五門課成績。用戶可插入一個或多個學生信息到當前編輯的班級數(shù)據(jù)中。用戶可刪除一個或多個學生信息。文件保存功能模塊

用戶在確定以錄入的成績無誤之后,可以將學生信息以每一班為單位存為一個數(shù)據(jù)文件。用戶輸入的學生信息可隨時保存數(shù)據(jù)文件。文件打開功能模塊用戶可以用此模塊將數(shù)據(jù)文件在程序中打開、編輯,程序只能對當前打開的數(shù)據(jù)文件進行編輯。查詢功能模塊在此模塊里,用戶可實現(xiàn)以下操作:1.瀏覽所有學生信息;2.按學號查詢學生信息;3.按姓名查詢學生信息;4.查詢一個班每個人的總成績和平均成績;5.查詢一個班某一門課每個人的總成績和平均成績;6)進行成績的統(tǒng)計分析:包括總?cè)藬?shù),每門課的最高成績、最低成績、平均成績、及格人數(shù)。報表輸出功能模塊在此模塊中,用戶可以瀏覽所有學生的信息,或者可以按學號輸出一個班學生信息:學號、姓名、性別、數(shù)學、英語、C++、程序設計、物理成績和總成績,到屏幕和文件。也可以按總成績輸出從高到低輸出學號、姓名信息。模塊圖:開始開始m值1,3,4值8值7,2,6,5值10,學生信息錄入模塊文件打開功能模塊查詢功能模塊報表輸出功能模塊用戶輸入,并將值保存至m中m結(jié)束詳細設計主要功能模塊的算法設計思路:1.用戶輸入模塊設計提示用戶輸入一個0~11的值,并存儲在一個整型變量m中。2.學生信息錄入模塊設計通過應用list中的instu()函數(shù),來新建一個鏈表中的節(jié)點,即一個新的學生信息,來進行成績的錄入功能。成績修改功能,可以根據(jù)姓名或?qū)W號進行查詢并修改相應的課程的成績,使用了voidsearch(chars[10],int)和voidsearch1(chars[20],int)函數(shù)進行操作。search函數(shù)根據(jù)姓名查找,search1函數(shù)根據(jù)學號進行查找。因為學號和姓名,都是存儲在字符數(shù)組中的,所以都是通過字符串的比較進行查找的。然后根據(jù)整形參數(shù)進行對應的課程成績的修改。成績刪除功能,也是可以根據(jù)姓名或?qū)W號進行刪除,查詢的算法和成績修改功能的查詢方法是一樣的,當找到要刪除的節(jié)點時,因為節(jié)點都是在堆內(nèi)存中保存的,所以可以直接delete掉,并將前一個節(jié)點的next指針指向被刪掉的節(jié)點的next指針所指向的節(jié)點。3.查詢功能模塊可以根據(jù)姓名或?qū)W號進行查找,搜索方法和前幾個模塊相同。通過outstu1(char*n)和outstu(char*n)來進行輸出??偝煽兒推骄煽兊牟樵兺ㄟ^函數(shù)voidoutsum(char*)和voidoutsum1(char*)來完成。通過函數(shù)scanall()來瀏覽所有學生的信息。通過函數(shù)think()來進行成績的統(tǒng)計分析。4.報表輸出功能模塊通過建立一個新的類classstucopy用于拷貝student的數(shù)據(jù),并實現(xiàn)排序功能。創(chuàng)建一個stucopystu[M]數(shù)組,將原鏈表的數(shù)據(jù)拷貝與數(shù)組中,然后用選擇排序方法將數(shù)組排序,然后用output按照標準的格式輸出數(shù)據(jù)文件。實踐結(jié)果圖程序結(jié)構(gòu)源代碼:#include<>#include<>#include<>#include<> constintM=20;classstucopy據(jù)學號查詢2.根據(jù)姓名查詢"<<endl<<"請輸入:"; cin>>n; switch(n){ case1: cout<<"請輸入學號\n"; cin>>id; (id); cout<<"\n";break; case2: cout<<"請輸入姓名\n"; cin>>name; (name); cout<<"\n";break;}break;case3: cout<<"1.根據(jù)學號查詢2.根據(jù)姓名查詢"<<endl<<"請輸入:"; cin>>n; switch(n){ case1: cout<<"請輸入學號\n"; cin>>id; (id); cout<<"\n"; cout<<setw(6)<<"1.數(shù)學"<< setw(6)<<"2.英語"<<setw(6)<<"++"<< setw(14)<<"4.程序設計"<<setw(6)<<"5.物理"<<endl; cout<<"請輸入要修改的課程編號:"; cin>>j; (id,j);break; case2: cout<<"請輸入姓名\n"; cin>>name; (name); cout<<"\n"; cout<<setw(6)<<"1.數(shù)學"<< setw(6)<<"2.英語"<<setw(6)<<"++"<< setw(14)<<"4.程序設計"<<setw(6)<<"5.物理"<<endl; cout<<"請輸入課程編號:"; cin>>j; (name,j);break;}break;case4: cout<<"1.根據(jù)學號刪除2.根據(jù)姓名刪除"<<endl<<"請輸入:"; cin>>n; switch(n){ case1: cout<<"請輸入學號\n"; cin>>id; (id); (id);break; case2: cout<<"請輸入姓名\n"; cin>>name; (name); (name);break;}break;case5:();break;case6: cout<<"1.根據(jù)學號查詢2.根據(jù)姓名查詢"<<endl<<"請輸入:"; cin>>n; switch(n){ case1: cout<<"請輸入學號\n"; cin>>id; (id);break; case2: cout<<"請輸入姓名\n"; cin>>name; (name);break;}break;case7: cout<<setw(8)<<"學號"<<setw(8)<<"姓名"<<setw(6)<<"性別"<<setw(6)<<"數(shù)學"<< setw(6)<<"英語"<<setw(6)<<"C++"<< setw(14)<<"程序設計"<<setw(6)<<"物理"<<setw(8)<<"總成績"<< setw(10)<<"平均成績"<<"\n"; (); break;case8: cout<<"請輸入文件名:"<<endl; cin>>file; (file); if()) { cout<<"Filedoesnotexist"<<endl; break; } (temp,80); (temp,80); if()){cout<<"文件中無數(shù)據(jù)!"<<endl;break;} input>>id>>name>>sex1>>grade1[0]>>grade1[1]>>grade1[2]>> grade1[3]>>grade1[4]; input>>temp; input>>temp;d[j]=p->id[j]; } for(j=0;j<10;j++) { stu[i].name[j]=p->name[j]; } for(j=0;j<10;j++) { stu[i].sex[j]=p->sex[j]; } stu[i].sumsum=p->outsum(); stu[i].average=p->outav(); } for(n=0;n<i-1;n++) for(j=1;j<i;j++) { if(stu[n].sumsum<stu[j].sumsum) { stutemp=stu[j]; stu[j]=stu[n]; stu[n]=stutemp; } } cout<<setw(8)<<"學號"<<setw(8)<<"姓名"<<setw(6)<<"性別"<<setw(8)<<"總成績"<< setw(10)<<"平均成績"<<"\n"; for(j=0;j<i;j++) cout<<setw(8)<<stu[j].id<<setw(8)<<stu

溫馨提示

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

評論

0/150

提交評論