歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn) 《高級程序設(shè)計語言》課程設(shè)計報告

  • 資源ID:61267301       資源大?。?span id="aobdisj" class="font-tahoma">175KB        全文頁數(shù):38頁
  • 資源格式: DOC        下載積分:30積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要30積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn) 《高級程序設(shè)計語言》課程設(shè)計報告

河南工程學(xué)院高級程序設(shè)計語言課程設(shè)計成果報告學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)學(xué)生學(xué)號: 學(xué)生姓名: 學(xué) 院: 計算機學(xué)院 專業(yè)班級: 軟件工程 1341 專業(yè)課程: 高級程序設(shè)計語言指導(dǎo)教師: 2014 年 6 月 27 日題 目學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)考核項目考核內(nèi)容得分平時考核(30分)出勤情況、態(tài)度、效率;知識掌握情況、基本操作技能、知識應(yīng)用能力、獲取知識能力系統(tǒng)設(shè)計(20分)分析系統(tǒng)的功能模塊編程調(diào)試(20分)實現(xiàn)系統(tǒng)的各個功能模塊,并完成調(diào)試回答問題(15分)回答老師針對課程設(shè)計提出的問題課程設(shè)計報告撰寫(10分)嚴格按照規(guī)范要求完成課程設(shè)計報告源代碼(5分)按照規(guī)范要求完成課程設(shè)計源代碼的排版總 評 成 績指導(dǎo)教師評語: 日期: 年 月 日目 錄第1章 系統(tǒng)設(shè)計目的11.1 課程設(shè)計目的11.2 系統(tǒng)設(shè)計要求1第2章 系統(tǒng)實現(xiàn)思路22.1設(shè)計程序22.2系統(tǒng)功能的分析22.3程序流程圖2第3章 系統(tǒng)詳細設(shè)計33.1 程序首頁33.2錄入模塊63.3 增加模塊73.4刪除模塊103.5修改模塊113.6查詢模塊123.7統(tǒng)計模塊13第4章 系統(tǒng)調(diào)試運行144.1 程序運行144.2 錄入功能144.3增加功能154.4刪除功能16課程設(shè)計體會17參考文獻18第1章 系統(tǒng)設(shè)計目的1.1 課程設(shè)計目的在計算機領(lǐng)域中,任何好的創(chuàng)意和設(shè)計最終都需要通過高水平的程序設(shè)計實現(xiàn),因此學(xué)習(xí)程序設(shè)計是計算機及相關(guān)專業(yè)學(xué)生必備的基本技能之一。為了使學(xué)生更好的學(xué)習(xí)和掌握這一基本技能,必須系統(tǒng)而全面地的安排程序設(shè)計課程設(shè)計,目的是通過具體的課程設(shè)計,不僅使學(xué)生能夠進一步理解程序設(shè)計的基本概念,掌握基本的程序設(shè)計方法,培養(yǎng)良好的程序設(shè)計風(fēng)格,同時還可以借助程序設(shè)計技巧的訓(xùn)練,培養(yǎng)學(xué)生抽象思維、邏輯思維及統(tǒng)籌規(guī)劃的能力。1.2 系統(tǒng)設(shè)計要求(1)設(shè)計四個類,包括學(xué)生類(描述學(xué)生基本信息);成績類;班級類;課程類(描述課程信息:課程編號,科目名稱,如高等數(shù)學(xué),大學(xué)英語等);(2)學(xué)生成績及課程信息用文件保存,程序執(zhí)行時從文件讀入;(3)能按學(xué)期,按班級完成對學(xué)生成績的錄入、修改,能按班級統(tǒng)計學(xué)生的成績;(4)求學(xué)生的總分及平均分,并能根據(jù)學(xué)生的平均成績進行排序,能查詢學(xué)生成績,不及格科目及學(xué)生名單;能按班級輸出學(xué)生的成績單。 設(shè)置學(xué)生的成績信息:學(xué)生學(xué)號、姓名、所選課程名稱、平時成績、期末成績、平時成績所占百分比 計算學(xué)生總評成績:總評成績=平時成績*平時成績所占百分比+期末成績*(1-平時成績所占百分比) 顯示學(xué)生的姓名、所選課程名稱以及平時成績、期末成績和總評成績信息。分單人顯示和以班輸出(班成績單格式輸出到文件) 注意,至少應(yīng)包含一個班、30人、三門課 第2章 系統(tǒng)實現(xiàn)思路2.1設(shè)計程序采用現(xiàn)有的資源,先進的管理系統(tǒng)開發(fā)方案,充分利用學(xué)?,F(xiàn)有的資源,減少開發(fā)中的時間和財力、物力、提高系統(tǒng)開發(fā)的水平和應(yīng)用效果。系統(tǒng)就滿足學(xué)校的需求,例如學(xué)生信息的錄入、查詢、更新等。系統(tǒng)就具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)添加、刪除、修改等操作。2.2系統(tǒng)功能的分析錄入功能:為用戶提供相應(yīng)的錄入功能。查詢功能:為用戶提供查詢功能,可查詢允許范圍內(nèi)的所有信息。維護功能:為用戶提供查詢及相應(yīng)的修改,刪除功能。返回功能:為用戶提供相應(yīng)操作后返回到主頁面。2.3程序流程圖 流程程序圖是進行流程程序分析過程中最基本的工具,是程序分析中最基本、最重要的分析技術(shù)。它運用工序圖標符號對生產(chǎn)現(xiàn)場的整個制造過程做詳細的記錄,以便對零部件、產(chǎn)品在整個制造過程中的生產(chǎn)、加工、檢驗、儲存等環(huán)節(jié)待作詳細的研究與分析,特別適用于分析生產(chǎn)過程中的成本浪費,提高經(jīng)濟效益。流程圖:學(xué)生管理系統(tǒng)操作查詢成績統(tǒng)計按總成績排名錄入增加成績刪除修改每個學(xué)生的平均成績輸出姓.名各科不及格人數(shù)圖2-3程序流程圖第3章 系統(tǒng)詳細設(shè)計3.1 程序首頁 程序運行后會出現(xiàn)一個間接地窗口,便于用戶查詢數(shù)據(jù)。主函數(shù)用循環(huán)體以及switch語句實現(xiàn)功能選擇。主界面展示*歡迎來到學(xué)生成績查詢系統(tǒng)*請選擇需要的操作!(1)數(shù)據(jù)錄入(2)增加學(xué)生(3)刪除學(xué)生(4)修改數(shù)據(jù) 查詢:(5)按總成績查詢(6)按姓名查詢(7)輸出所有學(xué)生的數(shù)據(jù) 成績統(tǒng)計:(8)每個學(xué)生的平均成績(9)各個學(xué)科不及格人數(shù)排名:(10)按總分查詢排名(11)退出選擇相關(guān)操作請輸入相對的括號里的阿拉伯數(shù)字及字母!主程序代碼void main() /主函數(shù)system("color 07e"); /設(shè)置當前窗口的背景色和前景色 0 = 黑色 8 = 灰色/ 1 = 藍色 9 = 淡藍色/ 2 = 綠色 A = 淡綠色/ 3 = 淺綠色 B = 淡淺綠色/ 4 = 紅色 C = 淡紅色/ 5 = 紫色 D = 淡紫色/ 6 = 黃色 E = 淡黃色/ 7 = 白色 F = 亮白色cout<<"*歡迎來到學(xué)生成績查詢系統(tǒng)*"<<endl;/主菜單cout<<"請選擇需要的操作!"<<endl;cout<<"(1)數(shù)據(jù)錄入"<<endl;cout<<"(2)增加學(xué)生"<<endl;cout<<"(3)刪除學(xué)生"<<endl;cout<<"(4)修改數(shù)據(jù)"<<endl;cout<<"查詢:"<<endl;cout<<"(5)按總成績查詢"<<endl;cout<<"(6)按姓名查詢"<<endl;cout<<"(7)輸出所有學(xué)生的數(shù)據(jù)"<<endl;cout<<"成績統(tǒng)計:"<<endl;cout<<"(8)每個學(xué)生的平均成績"<<endl;cout<<"(9)各個學(xué)科不及格人數(shù)"<<endl;cout<<"排名"<<endl;cout<<"(10)按總分查詢排名"<<endl;cout<<"(11)退出"<<endl;cout<<"選擇相關(guān)操作請輸入相對的括號里的阿拉伯數(shù)字及字母!"<<endl;int p=0;char w;Chengji *s100;ofstream *file100;int i=0;int j=0;int chris1=0;float baif;/主函數(shù)利用循環(huán)體執(zhí)行,實現(xiàn)循環(huán)操作: do cin>>p;if(p>=1&&p<=11)chris1=1;elsecout<<"指令錯誤!請重新輸入:"<<endl; while(chris1=0);doswitch(p)case 1:. /錄入功能case 2:. /增加功能case 3:. /刪除功能case 4:. /修改數(shù)據(jù)功能case 5:. /按成績查詢功能case 6:. /按姓名查詢功能case 7:. /輸出所有的數(shù)據(jù)case 8:. /輸出學(xué)生的平均分case 9:. / /查詢不及格人數(shù) case 10:. /總成績排名while(w='y');/循環(huán)語句結(jié)束 3.2錄入模塊 根據(jù)程序的要求,我們建立了錄入功能的switch函數(shù),要求用戶輸入數(shù)據(jù),以便存入文檔,這就實現(xiàn)了數(shù)據(jù)的錄入。 case 1: /數(shù)據(jù)的錄入 char c; /用于在小項中選擇是否繼續(xù)操作 char name20; int number; int banji; float pmath,pcpp,penglish,psum,bl,sum,sump; float math,cpp,english; do cout<<"請輸入姓名:"<<endl; cin>>name; cout<<"請輸入學(xué)號:"<<endl; cin>>number; cout<<"請輸入班級:"<<endl; cin>>banji; cout<<"請輸入數(shù)學(xué)成績:"<<endl; cin>>math; cout<<"請輸入cpp成績:"<<endl; cin>>cpp; cout<<"請輸入英語成績:"<<endl; cin>>english; cout<<"請輸入平時數(shù)學(xué)成績:"<<endl; cin>>pmath; cout<<"請輸入平時cpp成績:"<<endl; cin>>pcpp; cout<<"請輸入平時英語成績:"<<endl; cin>>penglish; cout<<"平時成績所占比例"<<endl; cin>>bl; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+sum*bl; fstream outfile,infile; /作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù)3.3 增加模塊 建立一個char的name的數(shù)組,用來對用戶實現(xiàn)數(shù)據(jù)的增加,即增加學(xué)生的姓名、學(xué)號、班級、成績等信息。 char name20; int number; int banji; float math,cpp,english,bl,sum,sump,psum; float pmath,pcpp,penglish; char c; do cout<<"請輸入您要增加的學(xué)生的姓名:"<<endl; cin>>name; cout<<"請輸入你要增加的學(xué)生的學(xué)號:"<<endl; cin>>number; cout<<"請輸入班級:"<<endl; cin>>banji; cout<<"請輸入數(shù)學(xué)成績:"<<endl; cin>>math; cout<<"請輸入cpp成績:"<<endl; cin>>cpp; cout<<"請輸入英語成績:"<<endl; cin>>english; cout<<"請輸入平時數(shù)學(xué)成績:"<<endl; cin>>pmath; cout<<"請輸入平時cpp成績:"<<endl; cin>>pcpp; cout<<"請輸入平時英語成績:"<<endl; cin>>penglish; cout<<"平時成績所占比例"<<endl; cin>>bl; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+sum*bl; fstream outfile,infile; outfile.open("f1.txt",ios:out|ios:app); if(!file) cout<<"f1.txt can not open.n" return; outfile<<name<<" "<<"學(xué)號:"<<number<<" "<<"班級"<<banji<<" "<<"數(shù)學(xué)成績:"<<math<<" "<<"cpp成績:"<<cpp<<" "<<"外語成績:"<<english<<" "<<"平時數(shù)學(xué)成績:"<<pmath<<" "<<"平時cpp成績:"<<pcpp<<" "<<"平時外語成績:"<<penglish<<" "<<"平時總成績"<<sump<<" "<<"總成績"<<sum<<" "<<"總評成績"<<psum<<endl; outfile.close(); infile.open("f1.txt",ios:in); if(!file) cout<<"f1.txt can not open.n" return; char h; while(infile.get(h) cout<<h; cout<<endl; infile.close(); j+; si=new chengji(name,number, banji,math, cpp, english,pmath, pcpp, penglish); i+; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<endl;3.4刪除模塊 為實現(xiàn)對久置、無用的信息進行刪除,建立的刪除文件,以便騰出其空間,這也是對程序的一個完善過程。 if(i=0) cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl;break; char c; string xingming,line,str,name; do ifstream fin("f1.txt"); fstream outfile("f2.txt",ios:trunc|ios:out); /作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) cout<<"請輸入您要刪除的學(xué)生的姓名:"<<endl; cin>>xingming; while(!fin.eof() ) getline(fin,line); istringstream stream(line); name = line.substr(0,line.find(" ",0);/找到名字,判斷是否相等 if(name != xingming) outfile<<line<<endl; outfile.close(); fin.close(); fstream f("f1.txt",ios:trunc|ios:out); ifstream outf("f2.txt"); f<<outf.rdbuf(); outf.close(); f.close(); cout<<"數(shù)據(jù)刪除成功,想繼續(xù)刪除嗎(y/n)"<<endl;3.5修改模塊 為防止用戶不慎輸入錯誤信息,我們還建立了一個修改功能的文件,以實現(xiàn)用戶在輸入錯誤信息后可修改此信息。string sname,line,str,name;int bj;int nu;float eng,ma,com,peng,pma,pcom,bl;int flag;char c;if(i=0)cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl;break; do flag=0; cout<<"請輸入您要修改的學(xué)生的姓名:" cin>>name; fstream fin("f1.txt",ios:in); ofstream outfile("f.txt",ios:trunc|ios:out); cout<<endl;while(!fin.eof() ) /在文件中查找getline(fin,line); istringstream stream(line); sname = line.substr(0,line.find(" ",0);if(name!=sname) outfile<<line<<endl; else flag=1; fin.close(); if(flag=1) cout<<"請輸入修改學(xué)生姓名及其新學(xué)號,班級,數(shù)學(xué),cpp,英語成績,平時數(shù)學(xué),平時cpp,平時英語成績,平時成績所占比例:"cin>>name>>nu>>bj>>ma>>com>>eng>>pma>>pcom>>peng>>bl;cout<<endl;outfile<<name<<" "<<"學(xué)號:"<<nu<<" "<<"班級"<<bj<<"數(shù)學(xué)成績:"<<ma<<" "<<"cpp成績:"<<com<<" "<<"外語成績:"<<eng<<"平時數(shù)學(xué)成績:"<<pma<<" "<<"平時cpp成績:"<<pcom<<" "<<"平時外語成績:"<<peng<<" "<<"平時成績所占比例"<<bl<<endl; outfile.close();fstream outf("f1.txt",ios:trunc|ios:out);fstream inf("f.txt",ios:in);outf<<inf.rdbuf()<<endl;outf.close();inf.close(); if(flag=0)cout<<"對不起,您要修改的學(xué)生不存在!請查證后輸入!"<<endl; cout<<"想繼續(xù)修改嗎(y/n):" cin>>c;3.6查詢模塊用戶既然可用程序進行信息的輸入、存檔,那么用戶便可對信息的查詢,用戶只需輸入相關(guān)的操作,便可查詢出學(xué)生的姓名、學(xué)號、成績等信息。int j=0;float SUM;char c;int flag; if(i=0)cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl;break; do flag=0; cout<<"請輸入您要查詢的學(xué)生的總成績:"<<endl; cin>>SUM; for(int j=0;j<i;j+) if(sj->getsum()=SUM) flag=1;cout<<"您要查詢的學(xué)生是:"<<(*sj).name<<endl;cout<<"該生的信息為:"<<endl;cout<<" 學(xué)號:"<<(*sj).number<<"班級:"<<(*sj).banji<<" 數(shù)學(xué)分數(shù):"<<(*sj).math<<" cpp分數(shù):"<<(*sj).cpp<<" 英語分數(shù)"<<(*sj).english<<" 平時數(shù)學(xué)分數(shù):"<<(*sj).pmath<<" 平時cpp分數(shù):"<<(*sj).pcpp<<" 平時英語分數(shù)"<<(*sj).penglish<<endl;3.7統(tǒng)計模塊為了更好的看出學(xué)生的成績優(yōu)略,程序中還設(shè)計了統(tǒng)計功能,把所有的學(xué)生的信息詳細的展現(xiàn)出來,用戶便可清晰的看到所需的信息。if(i=0) cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl;break; for(int m=0;m<i;m+) cout<<(*sm).name<<" 學(xué)號:"<<(*sm).number<<"班級"<<(*sm).banji<<" 總分:"<<(*sm).getsum()<<" 均分:"<<(*sm).getaver()<<endl; break; 第4章 系統(tǒng)調(diào)試運行4.1 程序運行 對程序進行編譯,可看到程序的首頁,用戶可選擇自己所需的操作:圖4-1 系統(tǒng)主界面4.2 錄入功能當用戶進入到首頁面后,輸入1可進行數(shù)據(jù)的錄入功能,用戶可錄入學(xué)生的姓名、學(xué)號、成績等信息,并且儲存在文檔中。圖4-3 錄入功能4.3增加功能在錄入學(xué)生信息后還想增加另一個學(xué)生的信息可選擇繼續(xù)錄入數(shù)據(jù),也可選擇增加學(xué)生,只需在首頁中輸入2即可進行增加操作。圖4-3 增加功能4.4刪除功能 進行數(shù)據(jù)的錄入或增加后,方可進行數(shù)據(jù)的刪除或修改,如需要對數(shù)據(jù)進行刪除只需輸入3即可進行此操作,在進行此操作時需輸入學(xué)生的姓名可刪除。圖4-4 刪除功能課程設(shè)計體會長達一周的程序設(shè)計課程實踐終于結(jié)束了,雖然整個過程不完全是自己一個人獨立完成的,而且做出來的結(jié)果也不是很好,但是在請教同學(xué)和老師的同時,對這方面也有了進一步的了解,對課程設(shè)計的內(nèi)容也基本上進行了掌握。通過這次實踐讓我認識到C+程序設(shè)計是一門實踐性很強的課程,學(xué)習(xí)程序設(shè)計不能僅限于紙上談兵,許多程序方法和技巧不是光靠聽課和看書就能學(xué)得到的,而是必須通過大量的上機實踐慢慢積累起來,程序設(shè)計能力的培養(yǎng)必須以實踐為重,近兩周的學(xué)習(xí)給了我鍛煉的機會。另外通過這次實踐,培養(yǎng)了自己做事認真,嚴謹?shù)膽B(tài)度。還有程序設(shè)計,程序編譯及運行過程中不可避免會出現(xiàn)不會、不懂的地方,出現(xiàn)程序錯誤以及不能編譯運行等種種困難,讓我必須非常嚴謹對待每一個語句,鍛煉了嚴謹?shù)乃季S。在這次設(shè)計程序中,我找出學(xué)習(xí)中的不足,以便為完善學(xué)習(xí)計劃,改變學(xué)習(xí)內(nèi)容與方法提供實踐依據(jù)。參考文獻 (1) 譚浩強.C+面向?qū)ο蟪绦蛟O(shè)計.清華大學(xué)出版社 (2) 譚浩強.C+面向?qū)ο蟪绦蛟O(shè)計題解與上機指導(dǎo).清華大學(xué)出版社 (3) LippmanBarbara.C+ Primer.人民郵電出版社 (4) Bjarne Stroustrup.The C+ Programming Language.機械工業(yè)出版社 (5)C+語言的設(shè)計和演化,機械工業(yè)出版社 (6)C+語言的設(shè)計和演化(英文版),機械工業(yè)出版社 (7)C+程序設(shè)計語言(特別版),機械工業(yè)出版社#include<iostream> #include<string> #include<fstream>#include<sstream>#include<iomanip>using namespace std;class Student/設(shè)置學(xué)生類記錄學(xué)生基本信息public:char name20;int number;int banji;public:Student(char n20,int num,int bj);friend void main(); /將主函數(shù)定義為友元函數(shù),方便訪問類中的成員;Student:Student(char n20,int num,int bj)strcpy(name,n); /得到姓名 number=num; /得到學(xué)號 banji=bj;/得到班級class chengji:public Student/設(shè)置成績類并繼承學(xué)生類記錄學(xué)生成績public:float math,cpp,english,average,sum; float pmath,pcpp,penglish,psum;float bl;public:chengji(char n20,int num,int bj,float ma,float cj,float eng, float pma,float pcj,float peng):Student(n,num,bj)math=ma;/得到數(shù)學(xué)成績cpp=cj;/得到C語言成績 english=eng;/得到英語成績 pmath=pma;/得到平時數(shù)學(xué)成績 pcpp=pcj;/得到平時C語言成績 penglish=peng;/得到平時英語成績float getsum();/得到總分的函數(shù) float getaver(); /得到平均分的函數(shù) float getpsum();/得到總評成績的函數(shù)friend void main(); /將主函數(shù)定義為友元函數(shù),方便訪問類中的成員; float chengji:getsum() /得到總分的函數(shù) sum=cpp+english+math; return sum; float chengji:getaver() /得到平均分的函數(shù) average=getsum()/3; return average; float chengji:getpsum()/得到總評成績的函數(shù) psum=(pcpp+penglish+pmath)*bl+getsum()*(1-bl); return psum; void main() cout<<"*歡迎來到學(xué)生成績查詢系統(tǒng)*"<<endl; cout<<"請選擇您需要的操作!"<<endl; /菜單的輸出 cout<<"操作:"<<endl; cout<<"*(1)數(shù)據(jù)錄入"<<endl; cout<<"*(2)增加學(xué)生"<<endl; cout<<"*(3)刪除學(xué)生"<<endl; cout<<"*(4)修改數(shù)據(jù)"<<endl; cout<<"*查詢:*"<<endl; cout<<"*(5)按總成績查詢"<<endl; cout<<"*(6)按姓名查詢"<<endl; cout<<"*(7)輸出所有學(xué)生的數(shù)據(jù)"<<endl; cout<<"*成績統(tǒng)計:*"<<endl; cout<<"*(8)每個學(xué)生的平均成績"<<endl; cout<<"*(9)各科不及格人數(shù)"<<endl; cout<<"*排名:*"<<endl; cout<<"*(10)按總分查詢排名"<<endl; cout<<"*(11)退出*"<<endl; cout<<"選擇相關(guān)操作請輸入相對的括號里的阿拉伯數(shù)字及字母!"<<endl; int p=0; /全局變量,用于選擇菜單時的輸入 char w;/全局變量,用于在大項中選擇是否繼續(xù)操作 chengji *s100; /類定義的指針將所錄入的數(shù)據(jù)按類中的形式分別存儲 ofstream *file100; int i=0; /全局變量,用于做每個錄入數(shù)據(jù)的下標 int j=0; int chris1=0; /用于判斷dowhile語句 do /判斷輸入是否正確 cin>>p; if(p>=1&&p<=11) chris1=1; else cout<<"指令錯誤!請重新輸入:"<<endl; while(chris1=0); do switch(p) case 1: /數(shù)據(jù)的錄入 char c; /用于在小項中選擇是否繼續(xù)操作 char name20; int number; int banji; float pmath,pcpp,penglish,psum,bl,sum,sump; float math,cpp,english; do cout<<"請輸入姓名:"<<endl; cin>>name; cout<<"請輸入學(xué)號:"<<endl; cin>>number; cout<<"請輸入班級:"<<endl; cin>>banji; cout<<"請輸入數(shù)學(xué)成績:"<<endl; cin>>math; cout<<"請輸入cpp成績:"<<endl; cin>>cpp; cout<<"請輸入英語成績:"<<endl; cin>>english; cout<<"請輸入平時數(shù)學(xué)成績:"<<endl; cin>>pmath; cout<<"請輸入平時cpp成績:"<<endl; cin>>pcpp; cout<<"請輸入平時英語成績:"<<endl; cin>>penglish; cout<<"平時成績所占比例"<<endl; cin>>bl; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+sum*bl; fstream outfile,infile; /作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) outfile.open("f1.txt",ios:out|ios:app); if(!file) cout<<"f1.txt can not open.n" return; outfile<<name<<" "<<"學(xué)號:"<<number<<" "<<"班級:"<<banji<<" "<<"數(shù)學(xué)成績:"<<math<<" "<<"cpp成績:"<<cpp<<" "<<"外語成績:"<<english<<" "<<"平時數(shù)學(xué)成績:"<<pmath<<" "<<"平時cpp成績:"<<pcpp<<" "<<"平時外語成績:"<<penglish<<" "<<"平時總成績"<<sump<<" "<<"總成績"<<sum<<" "<<"總評成績"<<psum<<endl; outfile.close(); infile.open("f1.txt",ios:in); if(!file) /判斷文件是否打開 cout<<"f1.txt can not open.n" return; char ch; while(infile.get(ch) cout<<ch; cout<<endl; infile.close(); j+; si=new chengji(name, number,banji,math, cpp, english,pmath, pcpp, penglish); i+; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<endl; cin>>c; chris1=0; do if(c!='y'&&c!='n') cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; else chris1=1; while(chris1=0); while(c='y'); /重復(fù)輸入 break; case 2: /增加學(xué)生數(shù)據(jù) char name20; int number; int banji; float math,cpp,english,bl,sum,sump,psum; float pmath,pcpp,penglish; char c; do cout<<"請輸入您要增加的學(xué)生的姓名:"<<endl; cin>>name; cout<<"請輸入你要增加的學(xué)生的學(xué)號:"<<endl; cin>>number; cout<<"請輸入班級:"<<endl; cin>>banji; cout<<"請輸入數(shù)學(xué)成績:"<<endl; cin>>math; cout<<"請輸入cpp成績:"<<endl; cin>>cpp; cout<<"請輸入英語成績:"<<endl; cin>>english; cout<<"請輸入平時數(shù)學(xué)成績:"<<endl; cin>>pmath; cout<<"請輸入平時cpp成績:"<<endl; cin>>pcpp; cout<<"請輸入平時英語成績:"<<endl; cin>>penglish; cout<<"平時成績所占比例"<<endl; cin>>bl; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+sum*bl; fstream outfile,infile; outfile.open("f1.txt",ios:out|ios:app); if(!file) cout<<"f1.txt can not open.n" return; outfile<<name<<" "<<"學(xué)號:"<<number<<" "<<"班級"<<banji<<" "<<"數(shù)學(xué)成績:"<<math<<" "<<"cpp成績:"<<cpp<<" "<<"外語成績:"<<english<<" "<<"平時數(shù)學(xué)成績:"<<pmath<<" "<<"平時cpp成績:"<<pcpp<<" "<<"平時外語成績:"<<penglish<<" "<<"平時總成績"<<sump<<" "<<"總成績"<<sum<<" "<<"總評成績"<<psum<<endl; outfile.close(); infile.open("f1.txt",ios:in); if(!file) cout<<"f1.txt can not open.n" return; char h; while(infile.get(h) cout<<h; cout<<endl; infile.close(); j+; si=new chengji(name,number, banji,math, cpp, english,pmath, pcpp, penglish); i+; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<endl; cin>>c; if(c!='y'&&c!='n') cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; while(c='y'); break; case 3:/刪除學(xué)生信息 if(i=0)cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl;break; char c; string xingming,line,str,name; do ifstream fin("f1.txt"); fstream outfile("f2.txt",ios:trunc|ios:out); /作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) cout<<"請輸入您要刪除的學(xué)生的姓名:"<<endl; cin>>xingming; while(!fin.eof() ) getline(fin,line); istringstream stream(line); name = line.substr(0,line.find(" ",0);/找到名字,判斷是否相等 if(name != xingming) outfile<<line<<endl; outfile.close(); fin.close(); fstream f("f1.txt",ios:trunc|ios:out); ifstream outf("f2.txt"); f<<outf.rdbuf(); outf.close(); f.close(); cout<<"數(shù)據(jù)刪除成功,想繼續(xù)刪除嗎(y/n)"<<endl; cin>>c; if(c!='y'&&c!='n') cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; while(c='y'); break; case 4:/修改數(shù)據(jù) string sname,line,str,name; int bj;int nu;float eng,ma,com,peng,pma,pcom,bl;int flag;char c;if(i=0)cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl;break;do flag=0; cout<<"請輸入您要修改的學(xué)生的姓名:" cin>>name; fstream fin("f1.txt",ios:in); ofstream outfile("f.txt",ios:trunc|ios:out); cout<<endl; while(!fin.eof() ) /在文件中查找 getline(fin,line); istringstream stream(line); sname = line.substr(0,line.find(" ",0);if(name!=sname)outfile<<line<<endl;else flag=1; fin.close(); if(flag=1) cout<<"請輸入修改學(xué)生姓名及其新學(xué)號,班級,數(shù)學(xué),cpp,英語成績,平時數(shù)學(xué),平時cpp,平時英語成績,平時成績所占比例:"cin>>name>>nu>>bj>>ma>>com>

注意事項

本文(學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn) 《高級程序設(shè)計語言》課程設(shè)計報告)為本站會員(na****u)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!