版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
學(xué)生成績排名系統(tǒng)--C++課程設(shè)計淮海工學(xué)院計算機工程學(xué)院課程設(shè)計報告設(shè)計名稱:C++程序設(shè)計課程設(shè)計姓名:學(xué)號:專業(yè)班級:系院):設(shè)計時間:設(shè)計地點:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第1頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第1頁。成績:指導(dǎo)教師評語:成績:簽名:年月日1.課程設(shè)計目的本課程設(shè)計是網(wǎng)絡(luò)工程專業(yè)重要的實踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完《C++程序設(shè)計》課程后進行的一次全面的綜合練習(xí)。本課程設(shè)計的目的和任務(wù):(1)鞏固和加深學(xué)生對C++課程的基本知識的理解和掌握;(2)掌握C++編程和程序調(diào)試的基本技能;(3)利用C++進行簡單軟件設(shè)計的基本思路和方法;(4)提高運用C++解決實際問題的能力;(5)掌握書寫程序設(shè)計說明文檔的能力。2.課程設(shè)計任務(wù)與要求:要求:1)設(shè)計題目、設(shè)計要求以及系統(tǒng)功能需求分析;2)總體設(shè)計:包括模塊說明、模塊結(jié)構(gòu)圖和系統(tǒng)流程圖;3)詳細設(shè)計:包括主要功能模塊的算法設(shè)計思路以及對應(yīng)的工作流程圖;4)源程序代碼及設(shè)計成果:完整源程序清單和設(shè)計成果;5)總結(jié):調(diào)試分析過程描述:包括測試數(shù)據(jù)、測試輸出結(jié)果以及對程序調(diào)試過程中存在問題的思考(列出主要問題的出錯現(xiàn)象、出錯原因、解決方法及效果等)包括課程設(shè)計過程中的學(xué)習(xí)體會與收獲、對C++和本次課程設(shè)計的認識等內(nèi)容.;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第2頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第2頁。任務(wù):設(shè)計一個學(xué)生成績排名系統(tǒng),該系統(tǒng)的主要功能如下:1)
具備對成績的管理功能(添加、刪除、排序)2)
具備對成績的統(tǒng)計功能(最高分,最低分,平均分,及格率等)3)
具備按學(xué)號、姓名、或課程名查詢成績的功能。4)學(xué)生成績應(yīng)該保存在文件中。備注:成績記錄以下信息:班級,學(xué)號,姓名,課程名,成績(百分制)。可以用能表示學(xué)生成績的結(jié)構(gòu)體數(shù)組存儲數(shù)據(jù)。3.課程設(shè)計說明書(一)需求分析(功能設(shè)計)一、模塊說明在本次程序設(shè)計中我設(shè)計了七個個模塊,分別是添加學(xué)生信息,對學(xué)生信息進行排序,刪除學(xué)生信息,統(tǒng)計學(xué)生信息,查找學(xué)生信息,保存學(xué)生信息,退出系統(tǒng)。二、模塊結(jié)構(gòu)圖學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第3頁。學(xué)生成績排名系統(tǒng)學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第3頁。學(xué)生成績排名系統(tǒng)添加學(xué)生成績添加學(xué)生成績對學(xué)生成績排序刪除學(xué)生成績統(tǒng)計學(xué)生成績查詢學(xué)生成績保存學(xué)生成績退出系統(tǒng)三.系統(tǒng)流程圖nnn=7n=6n=5n=4n=3n=2paixu()tuichubaocun()search()cal()delet()add()menun=1YYYYYYYNNNNNN(二)詳細設(shè)計(各模塊流程圖)各功能模塊設(shè)計思路及流程圖:【1】模塊一:添加學(xué)生信息學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第4頁。這一模塊首先先輸入你要輸入的學(xué)生人數(shù),然后通過鍵盤輸入學(xué)生姓名,學(xué)生的班級,學(xué)生的學(xué)號,學(xué)學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第4頁。生的高等數(shù)學(xué)的成績,大學(xué)英語的成績以及C++的成績,然后將其讀入文件中。流程圖:主菜單主菜單輸入c輸入學(xué)生屬性輸入n=1輸入ai<aYN不返回輸入c輸入學(xué)生屬性輸入n=1輸入ai<aYN不返回YYNi++Ni++c=0c=0c=0c=0YNYN【2】模塊二:對學(xué)生成績進行排序這一模塊首先通過switch語句選出對學(xué)生進行排序的方式,主要方式有按學(xué)號進行排序,按高等數(shù)學(xué)的成績按從高到低進行排序,按英語成績按從高到低進行排序,按C++成績按從高到低進行排序這四種排序方式,選擇方式之后,根據(jù)是否返回小菜單和主菜單進行1和0的選澤。流程圖:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第5頁。主菜單學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第5頁。主菜單YY輸入n=2輸入n=2r=1NNr=1NNr=0輸入br=0輸入bNNNYb=1NYb=1輸入r輸入r學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第6頁。N學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第6頁。NYYYS=stu[j];stu[j]=stu[j-1];stu[j-1]=s;j++輸入sj>ii<ab=3Ni++YYYS=stu[j];stu[j]=stu[j-1];stu[j-1]=s;j++輸入sstu[j].mscore>stu[j].mscorestu[j-1].num>>j>ii<ab=2輸入i=0j=n-1輸入i=0j=n-1i++Ni<aj>istu[j].num>stu[j-1].num>>YYYS=stu[j];stu[j]=stu[j-1];stu[j-1]=s;j++輸入sj>ii<ab=3Ni++YYYS=stu[j];stu[j]=stu[j-1];stu[j-1]=s;j++輸入sstu[j].mscore>stu[j].mscorestu[j-1].num>>j>ii<ab=2輸入i=0j=n-1輸入i=0j=n-1i++Ni<aj>istu[j].num>stu[j-1].num>>輸入sS=stu[j];stu[j]=stu[j-1];stu[j-1]=sj++YYY輸入i=0j=0stu[j].escore>stu[j-1].escore>>【3】模塊三:刪除學(xué)生信息這個模塊通過輸入學(xué)號找出你要刪除的學(xué)生,然后通過循環(huán)語句將它后面的數(shù)一個一個的賦值給前面的數(shù),從而把這個是給替代掉。達到刪除的功能。流程圖:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第7頁。主學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第7頁。主菜單num=stu[i].numnm輸入i=0i<nj=inum=stu[i].numnm輸入i=0i<nj=ii=j+1YNi++輸入numi<ni<nYYstu【i-1】=stu【i】stu【i-1】=stu【i】輸出信息輸出信息i++i++【4】模塊四:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第8頁。統(tǒng)計學(xué)生信息學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第8頁。這個模塊主要通過循環(huán)語句先算出各個學(xué)生的總成績以及平均分,并且輸出他們的信息,然后采用選擇法選出總分最高以及最低的學(xué)生,并輸出他們的名字。最后通過循環(huán)語句和if語句的結(jié)合算出各科成績的及格率。最后返回主菜單。流程圖:stu[i].total<min主菜單輸入i=0i<nstu[i].total<min主菜單輸入i=0i<nstu[i].total=stu[i].cscore+stu[i].mscore+stu[i].escore輸出stu【i】.total輸出stu【i】.total/3輸入rstu【i】>=60r++;YY輸入minmin=stu【0】.total輸入i=0i<nmin=stu[i].total;i++;YYi++r=n=n輸出信息Yi++NN查詢學(xué)生信息學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第9頁。這個模塊主要是通過三種方式進行學(xué)生信息的查詢,分別是姓名查詢,學(xué)號查詢,課程名查詢;找到學(xué)生之后輸出學(xué)生基本信息,如果查找的學(xué)生不在列表中,則重新輸入。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第9頁。流程圖:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第10頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第10頁。NYY輸出信息i<n輸入i輸入num主菜單輸入aa=1輸入name輸入ii<n輸出信息YNYY輸出信息i<n輸入i輸入num主菜單輸入aa=1輸入name輸入ii<n輸出信息YYNYa=2n=stu[i].numn=stu[i].numa=3輸入bb=gaodengshuxue輸出信息b=daxueyingyuNYNYi++i++學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第11頁?!?】模塊六:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第11頁。保存學(xué)生信息這個模塊通過使用ACII碼的文件的應(yīng)用,將數(shù)據(jù)存入到文件中。流程圖:主菜單主菜單輸入信息輸入文件【7】模塊七:退出系統(tǒng)(三)代碼設(shè)計(函數(shù)主要代碼及注釋)#include<iostream>#include<iomanip>#include<fstream>#include<string>usingnamespacestd;intn;structStudent{charname[20];doubleClass;intnum;floatmscore;floatescore;floatcscore;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第12頁。floattotal;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第12頁。};Studentstu[20];intmain(){ voidmenu(); voidread(); read(); cout<<"*******************************學(xué)生成績排名系統(tǒng)******************************"<<endl; cout<<"本系統(tǒng)主要完成對學(xué)生成績的管理還有統(tǒng)計的功能,請按照提示進行操作,否則將會出現(xiàn)錯誤,請慎重操作。"<<endl; cout<<"注意要先實行第一步!"<<endl; menu();return0;}voidmenu()//進行數(shù)據(jù)操作的選擇{ voidchoose(); cout<<"*********************************主菜單*********************************"<<endl; cout<<"**(1)添加學(xué)生成績**"<<endl;cout<<"******(2)對學(xué)生成績進行排序******"<<endl; cout<<"**********(3)刪除學(xué)生成績**********"<<endl; cout<<"**************(4)統(tǒng)計學(xué)生成績**************"<<endl; cout<<"**********(5)查詢學(xué)生成績**********"<<endl; cout<<"******(6)保存學(xué)生成績******"<<endl; cout<<"**(7)退出系統(tǒng)**"<<endl; cout<<"****************************************************************************"<<endl; cout<<"請選擇你要實現(xiàn)的功能"<<endl; cout<<"你輸入的數(shù)字是:"; choose();}voidadd()//添加學(xué)生信息{ voidback(); voidinput(); input();學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第13頁。 back();學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第13頁。}voidinput(){ intr=0; cout<<"你要輸入的學(xué)生個數(shù)為:"; cin>>n; ofstreamoutfile("e:\\f1.txt",ios::app); if(!outfile) { cout<<"openerror!"<<endl; exit(1); } for(inti=0;i<n;i++) { cout<<"學(xué)生的名字:"; cin>>stu[i].name; cout<<"學(xué)生的班級:"; cin>>stu[i].Class; cout<<"學(xué)號:"; cin>>stu[i].num; cout<<"高等數(shù)學(xué):"; cin>>stu[i].mscore; cout<<"大學(xué)英語:"; cin>>stu[i].escore; cout<<"大學(xué)語文:"; cin>>stu[i].cscore; r++; if(r==n) break; } outfile.close();}voiddelet()//刪除學(xué)生信息{ voidback();學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第14頁。 inti,a,j,p;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第14頁。 cout<<"你要刪除的學(xué)生的學(xué)號:"; cin>>a; for(i=0;i<n;i++) if(a==stu[i].num) { j=i; for(p=j+1;p<n;p++) stu[p-1]=stu[p]; cout<<"刪除成功??!"; n=n-1; break; } if(i==n&&a!=stu[i].num) { cout<<"你要刪除的學(xué)生不在列表中"<<endl; delet(); } back();}voidpaixu()//對學(xué)生信息進行排序{ cout<<"A.按照學(xué)號進行排序"<<endl; cout<<"B.按照數(shù)學(xué)成績從高到低進行排序"<<endl; cout<<"C.按照英語成績從高到低進行排序"<<endl; cout<<"D.按照語文成績從高到低進行排序"<<endl; cout<<"請選擇進行排序的方式?(用A,B,C,D進行選擇):"; chara; cin>>a; switch(a) { voidnum(); voidmscore(); voidescore(); voidcscore(); case'A':num();break;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第15頁。 case'B':mscore();break;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第15頁。 case'C':escore();break; case'D':cscore();break; }}voidnum()//學(xué)號排序{ voidback2(); inti; Students; cout<<"學(xué)生姓名"<<setw(15)<<"學(xué)號"<<setw(10)<<"高等數(shù)學(xué)" <<setw(15)<<"大學(xué)英語"<<setw(15)<<"大學(xué)語文"<<endl;for(i=0;i<n;i++) { for(intj=n-1;j>i;j--) { if(stu[j].num>stu[j-1].num) { s=stu[j]; stu[j]=stu[j-1]; stu[j-1]=s; } } } for(i=0;i<n;i++) cout<<stu[i].name<<setw(20)<<stu[i].num<<setw(10) <<stu[i].mscore<<setw(15)<<stu[i].escore<<setw(15)<<stu[i].cscore<<endl; back2();}voidmscore()//數(shù)學(xué)成績排序{ voidback2(); inti;Students; cout<<"學(xué)生姓名"<<setw(15)<<"學(xué)號"<<setw(10) <<"高等數(shù)學(xué)"<<setw(15)<<"大學(xué)英語"<<setw(15)<<"大學(xué)語文"<<endl;for(i=0;i<n;i++)學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第16頁。 {學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第16頁。 for(intj=n-1;j>i;j--) { if(stu[j].mscore>stu[j-1].mscore) { s=stu[j]; stu[j]=stu[j-1]; stu[j-1]=s; } } } for(i=0;i<n;i++) cout<<stu[i].name<<setw(15)<<stu[i].num<<setw(10) <<stu[i].mscore<<setw(15)<<stu[i].escore<<setw(15)<<stu[i].cscore<<endl;back2();}voidescore()//英語成績排序{ voidback2(); inti; Students; cout<<"學(xué)生姓名"<<setw(15)<<"學(xué)號"<<setw(10) <<"高等數(shù)學(xué)"<<setw(15)<<"大學(xué)英語"<<setw(15)<<"大學(xué)語文"<<endl; for(i=0;i<n;i++) { for(intj=n-1;j>i;j--) { if(stu[j].escore>stu[j-1].escore) { s=stu[j]; stu[j]=stu[j-1]; stu[j-1]=s; } } } for(i=0;i<n;i++) cout<<stu[i].name<<setw(20)<<stu[i].num<<setw(10)學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第17頁。 <<stu[i].mscore<<setw(15)<<stu[i].escore<<setw(15)<<stu[i].cscore<<endl;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第17頁。 back2();}voidcscore()//語文成績排序{ voidback2(); inti; Students; cout<<"學(xué)生姓名"<<setw(15)<<"學(xué)號"<<setw(10) <<"高等數(shù)學(xué)"<<setw(15)<<"大學(xué)英語"<<setw(15)<<"大學(xué)語文"<<endl; for(i=0;i<n;i++) { for(intj=n-1;j>i;j--) { if(stu[j].cscore>stu[j-1].cscore) { s=stu[j]; stu[j]=stu[j-1]; stu[j-1]=s; } } } for(i=0;i<n;i++) cout<<stu[i].name<<setw(20)<<stu[i].num<<setw(10) <<stu[i].mscore<<setw(15)<<stu[i].escore<<setw(15)<<stu[i].cscore<<endl;back2();}voidcal()//學(xué)生成績統(tǒng)計{ voidback(); floatmax=stu[0].total; intorder=0; floatmin=stu[n-1].total; into=n-1; inti; for(i=0;i<n;i++) {學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第18頁。 stu[i].total=stu[i].mscore+stu[i].escore+stu[i].cscore;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第18頁。 cout<<stu[i].name<<setw(10)<<stu[i].mscore<<setw(10)<<stu[i].escore <<setw(10)<<stu[i].cscore<<setw(10)<<stu[i].total<<endl;cout<<"平均分:"<<stu[i].total/3<<endl; }for(i=0;i<n;i++) { if(stu[i].total>max) { max=stu[i].total; order=i; } } cout<<"最高分為"<<stu[order].name<<stu[order].total<<"分"<<endl; for(i=0;i<n;i++) { if(stu[i].total<min) { min=stu[i].total; o=i; } } cout<<"最低分為"<<stu[o].name<<stu[o].total<<"分"<<endl; cout<<"高等數(shù)學(xué)及格率:"; floatr=0;for(i=0;i<n;i++) { if(stu[i].mscore>=60) r++; } cout<<r/n<<endl; cout<<"大學(xué)英語及格率:"; floatt=0;for(i=0;i<n;i++) {學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第19頁。 if(stu[i].escore>=60)學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第19頁。 t++;} cout<<t/n<<endl; cout<<"大學(xué)語文及格率:"; floate=0;for(i=0;i<n;i++) { if(stu[i].cscore>=60) e++; } cout<<e/n<<endl; back();}voidsearch()//查詢學(xué)生成績{ voidseek_name(); voidseek_num(); voidseek_sub(); cout<<"請選擇根據(jù)什么信息查詢"<<endl; cout<<"[1]學(xué)生姓名"<<endl; cout<<"[2]學(xué)號"<<endl; cout<<"[3]課程名"<<endl; cout<<"請輸入你要序號:"; intk; cin>>k; switch(k) { case1:seek_name();break; case2:seek_num();break; case3:seek_sub();break; }}voidseek_name()//姓名查詢{學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第20頁。 voidback1();學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第20頁。 chara[20];inti; cout<<"你要查的學(xué)生的姓名:"; cin>>a; intr=0;for(i=0;i<n;i++) { if(strcmp(a,stu[i].name)==0) { cout<<"學(xué)生的名字:"; cout<<stu[i].name<<endl; cout<<"學(xué)生的班級:"; cout<<stu[i].Class<<endl; cout<<"學(xué)號:"; cout<<stu[i].num<<endl; cout<<"高等數(shù)學(xué):"; cout<<stu[i].mscore<<endl; cout<<"大學(xué)英語:"; cout<<stu[i].escore<<endl; cout<<"大學(xué)語文:"; cout<<stu[i].cscore<<endl; break; } else r=1; } if(r==1) { cout<<"你所查找的學(xué)生不在列表中!!請重新輸入:"; seek_name(); } back1();}voidseek_num()//學(xué)號查詢{ voidback1();學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第21頁。 doublea;inti;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第21頁。 intk=0; cout<<"你要查詢的學(xué)生的學(xué)號:";cin>>a; for(i=0;i<n;i++) { if(a==stu[i].num) { cout<<"學(xué)生的名字:"; cout<<stu[i].name; cout<<"學(xué)生的班級:"; cout<<stu[i].Class; cout<<"學(xué)號:"; cout<<stu[i].num; cout<<"高等數(shù)學(xué):"; cout<<stu[i].mscore; cout<<"大學(xué)英語:"; cout<<stu[i].escore; cout<<"大學(xué)語文:"; cout<<stu[i].cscore; break; } else k=1; } if(k==1) { cout<<"你所查找的學(xué)生不在列表中?。≌堉匦螺斎?"; seek_num(); } back1();}voidseek_sub()//課程查詢{ voidback1(); stringa; inti;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第22頁。 學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第22頁。 cout<<"你要查詢的課程名:"; cin>>a; if(a=="gaodengshuxue") { for(i=0;i<n;i++) { cout<<"高等數(shù)學(xué):"; cout<<stu[i].name<<setw(10)<<stu[i].mscore<<endl; } } if(a=="daxueyingyu") { for(i=0;i<n;i++) { cout<<"大學(xué)英語:"; cout<<stu[i].name<<setw(10)<<stu[i].escore<<endl; } } if(a=="daxueyuwen") { for(i=0;i<n;i++) { cout<<"大學(xué)語文:"; cout<<stu[i].name<<setw(10)<<stu[i].cscore<<endl; } }back1();}voidbaocun()//保存數(shù)據(jù){ voidback(); ofstreamoutfile("E:\\f1.txt",ios::app); if(!outfile) { cerr<<"openerror!"<<endl; exit(1);學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第23頁。 }學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第23頁。 for(inti=0;i<n;i++) { outfile<<stu[i].name; outfile<<setw(5)<<stu[i].Class; outfile<<setw(5)<<stu[i].num; outfile<<setw(5)<<stu[i].mscore; outfile<<setw(5)<<stu[i].escore; outfile<<setw(5)<<stu[i].cscore; outfile<<endl; } outfile.close(); cout<<"保存成功??!"<<endl; back();}voidread()/*讀出學(xué)生信息*/{ ifstreaminfile("E:\\f1.txt",ios::app);if(!infile) cout<<"*******************************學(xué)生成績未錄入******************************"<<endl; else { for(inti=0;i<n;i++) { infile>>stu[i].name; infile>>setw(5)>>stu[i].Class; infile>>setw(5)>>stu[i].num; infile>>setw(5)>>stu[i].mscore; infile>>setw(5)>>stu[i].escore; infile>>setw(5)>>stu[i].cscore; }infile.close(); for(i=0;i<n;i++) { cout<<"學(xué)生的名字:"; cout<<stu[i].name; cout<<"學(xué)生的班級:";學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第24頁。 cout<<stu[學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第24頁。 cout<<"學(xué)號:"; cout<<stu[i].num; cout<<"高等數(shù)學(xué):"; cout<<stu[i].mscore; cout<<"大學(xué)英語:"; cout<<stu[i].escore; cout<<"大學(xué)語文:"; cout<<stu[i].cscore; cout<<endl; } } }voidback(){ inta; cout<<"是否返回主菜單?(1是返回主菜單,0是不返回):"; cin>>a; if(a==0) cout<<"程序結(jié)束!!"; if(a==1) menu(); if(a!=0&&a!=1) { cout<<"請重新輸入:"; cin>>a;back(); }}voidback1(){ inta; cout<<"是否返回小菜單?(0是返回小菜單,1是返回主菜單):"; cin>>a; if(a==0) search();學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第25頁。 if(a==1)學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第25頁。 menu(); if(a!=0&&a!=1) { cout<<"請重新輸入:"; cin>>a;back1(); }}voidback2(){ inta; cout<<"是否返回菜單?(0是返回菜單,1是返回主菜單):"; cin>>a; if(a==0) paixu(); if(a==1) menu(); if(a!=0&&a!=1) { cout<<"請重新輸入:"; cin>>a;back2(); }}voidchoose(){ inti; cin>>i;switch(i) { case1:add();break; case2:paixu();break; case3:delet();break; case4:cal();break; case5:search();break;case6:baocun();break;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第26頁。 case7:cout<<"退出系統(tǒng),謝謝使用!!";break;學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第26頁。 }}4.課程設(shè)計成果主要的功能界面說明及截圖學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第27頁。1.添加學(xué)生成績:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第27頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第28頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第28頁。2.對學(xué)生成績進行排序:按數(shù)學(xué)成績進行排序:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第29頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第29頁。按英語成績進行排序:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第30頁。按語文成績進行排序:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第30頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第31頁。3.刪除學(xué)生成績:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第31頁。4.統(tǒng)計學(xué)生成績:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第32頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第32頁。5.查詢學(xué)生成績:按學(xué)生姓名進行查詢:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第33頁。按學(xué)生學(xué)號進行查詢:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第33頁。按課程名進行查詢:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第34頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第34頁。6.保存學(xué)生成績:7.退出系統(tǒng):5.課程設(shè)計心得課程設(shè)計中遇到的問題及解決辦法在刪除模塊中刪除數(shù)據(jù)時刪最后一個數(shù)據(jù)老是出錯,刪前面的都可以,刪最后一個可以刪除成功但是還會顯示不在列表中,檢查后發(fā)現(xiàn)時For循環(huán)的控制出錯了;在一開始結(jié)構(gòu)體定義的時候,也出現(xiàn)很多錯誤;還有排序時循環(huán)的控制,統(tǒng)計時最小數(shù)的出錯,和按學(xué)號查詢時老查不到最后一位的成績還有程序是格式的控制和各類種種小錯誤。我通過百度,閱覽書籍和向同學(xué)詢問等方式,解決了這些問題,最后基本完成了整個程序排名系統(tǒng)的功能。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第35頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第35頁。(2)課程設(shè)計心得在這次C++課程設(shè)計中我學(xué)到了許多東西。剛開始拿到手時,感覺整個人都懵了,壓根不知道該從哪里下手,只能去看一些相關(guān)的書籍或者上網(wǎng)瀏覽來尋找一個大體的目標。找到目標后,漸漸一步步的開始慢慢琢磨慢慢編程。在多次運行中發(fā)現(xiàn)錯誤,在錯誤中加以改正,并逐漸完善好程序。在寫代碼的過程中,感覺又把整本書復(fù)習(xí)了一篇。程序運行主要用了for循環(huán)語句,程序上的功能也實現(xiàn)了,學(xué)生成績管理系統(tǒng)的功能需求分析:學(xué)生成績管理系統(tǒng)主要提供學(xué)生資料的輸入,學(xué)生資料的輸出,學(xué)生資料的查詢,學(xué)生資料刪除,以及學(xué)生成績的排序等.通過這次對學(xué)生成績排名系統(tǒng)的編寫,使我對現(xiàn)在所學(xué)的東西和以前所學(xué)的東西有了統(tǒng)一的了解和綜合的運用,使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實際動手能力和獨立思考的能力。程序中我使用struct結(jié)構(gòu)體的知識定義了一個學(xué)生類。然后設(shè)計了菜單選擇,一共設(shè)有七個模塊,分別是添加學(xué)生信息,對學(xué)生信息進行排序,刪除學(xué)生信息,統(tǒng)計學(xué)生信息,查詢學(xué)生信息,保存學(xué)生信息,最后是退出系統(tǒng)。首先是增加學(xué)生信息的函數(shù),設(shè)定添加幾個學(xué)生,然后根據(jù)屏幕上的提示輸入學(xué)生的姓名,學(xué)號,班級,高數(shù)成績,英語成績,語文成績。在排序的函數(shù)中,主要有按學(xué)號、數(shù)學(xué)、英語還有語文成績這四個內(nèi)容進行排序,主要采用的是冒泡法。我對冒泡排序法還算熟悉,但是實際運用中卻總是出錯,經(jīng)過幾番調(diào)試和修改才能正確的運行。其次是刪除學(xué)生的函數(shù),將要刪除的那個學(xué)生用下面的學(xué)生進行替代,這樣就得到了想要的結(jié)果。然后是統(tǒng)計學(xué)生的函數(shù),先定義了總分這個鼠標,但是并不能滿足要求把,于是我就把total這個數(shù)加到定義的struct中,功能得到實現(xiàn),最高分最低分采用選擇法。繼而寫的是查詢函數(shù),這個過程并沒有遇到太大的問題。第六個模塊寫的是將數(shù)據(jù)保存到文件,我一開始對文件的編寫和運用并不熟練,經(jīng)過查閱資料和同學(xué)的指導(dǎo)后,有了初步的掌握。最后是退出系統(tǒng)。雖然調(diào)試過程中出現(xiàn)很多錯誤,并不是那么的一帆風(fēng)順,但是通過各方面的咨詢和查找也基本實現(xiàn)了這個系統(tǒng)的功能。在修改程序中也學(xué)習(xí)了不少的東西,對于在學(xué)習(xí)中原來存有的漏洞,進行了很好的彌補??偠灾?,課程設(shè)計讓我更深刻理解C++,也提高我的動手能力,是一次不錯的鍛煉機會。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第36頁。
學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第36頁。社會實踐報告系別:班級:學(xué)號:姓名:學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第37頁。作為祖國未來的事業(yè)的繼承人,我們這些大學(xué)生應(yīng)該及早樹立自己的歷史責(zé)任感,提高自己的社會適應(yīng)能力。假期的社會實踐就是很好的鍛煉自己的機會。當(dāng)下,掙錢早已不是打工的唯一目的,更多的人將其視為參加社會實踐、提高自身能力的機會。許多學(xué)校也積極鼓勵大學(xué)生多接觸社會、了解社會,一方面可以把學(xué)到的理論知識應(yīng)用到實踐中去,提高各方面的能力;另一方面可以積累工作經(jīng)驗對日后的就業(yè)大有裨益。進行社會實踐,最理想的就是找到與本專業(yè)對口單位進行實習(xí),從而提高自己的實戰(zhàn)水平,同時可以將課本知識在實踐中得到運用,從而更好的指導(dǎo)自己今后的學(xué)習(xí)。但是作為一名尚未畢業(yè)的大學(xué)生,由于本身具備的專業(yè)知識還十分的有限,所以我選擇了打散工作為第一次社會實踐的方式。目的在于熟悉社會。就職業(yè)本身而言,并無高低貴賤之分,存在即為合理。通過短短幾天的打工經(jīng)歷可以讓長期處于校園的我們對社會有一種更直觀的認識。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第37頁。實踐過程:自從走進了大學(xué),就業(yè)問題就似乎總是圍繞在我們的身邊,成了說不完的話題。在現(xiàn)今社會,招聘會上的大字報都總寫著“有經(jīng)驗者優(yōu)先”,可還在校園里面的我們這班學(xué)子社會經(jīng)驗又會擁有多少呢?為了拓展自身的知識面,擴大與社會的接觸面,增加個人在社會競爭中的經(jīng)驗,鍛煉和提高自己的能力,以便在以后畢業(yè)后能真正真正走入社會,能夠適應(yīng)國內(nèi)外的經(jīng)濟形勢的變化,并且能夠在生活和工作中很好地處理各方面的問題,我開始了我這個假期的社會實踐-走進天源休閑餐廳。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第38頁。實踐,就是把我們在學(xué)校所學(xué)的理論知識,運用到客觀實際中去,使自己所學(xué)的理論知識有用武之地。只學(xué)不實踐,那么所學(xué)的就等于零。理論應(yīng)該與實踐相結(jié)合。另一方面,實踐可為以后找工作打基礎(chǔ)。通過這段時間的實習(xí),學(xué)到一些在學(xué)校里學(xué)不到的東西。因為環(huán)境的不同,接觸的人與事不同,從中所學(xué)的東西自然就不一樣了。要學(xué)會從實踐中學(xué)習(xí),從學(xué)習(xí)中實踐。而且在中國的經(jīng)濟飛速發(fā)展,又加入了世貿(mào),國內(nèi)外經(jīng)濟日趨變化,每天都不斷有新的東西涌現(xiàn),在擁有了越來越多的機會的同時,也有了更多的挑戰(zhàn),前天才剛學(xué)到的知識可能在今天就已經(jīng)被淘汰掉了,中國的經(jīng)濟越和外面接軌,對于人才的要求就會越來越高,我們不只要學(xué)好學(xué)校里所學(xué)到的知識,還要不斷從生活中,實踐中學(xué)其他知識,不斷地從各方面武裝自已,才能在競爭中突出自已,表現(xiàn)自已。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第38頁。學(xué)生成績排名系統(tǒng)--C++課程設(shè)計全文共41頁,當(dāng)前為第39頁。在餐廳里,別人一眼就能把我人出是一名正在讀書的學(xué)生,我問他們?yōu)槭裁?他們總說從我的臉上就能看出來,也許沒有經(jīng)歷過社會的人都有我這種不知名遭遇吧!我并沒有因為我在他們面前沒有經(jīng)驗而退后,我相信我也能做的像他們一樣好.我的工作是在那做傳菜生,每天9點鐘-下午2點再從下午的4點-晚上8:30分上班,雖然時間長了點但,熱情而年輕的我并沒有絲毫的感到過累,我覺得這是一種激勵,明白了人生,感悟了生活,接觸了社會,了解了未來.在餐廳里雖然我是以傳菜為主,但我不時還要做一些工作以外的事情,有時要做一些清潔的工作,在學(xué)校里也許有老師分配說今天做些什么,明天做些什么,但在這里,不一定有人會告訴你這些,你必須自覺地去做,而且要盡自已的努力做到最好,一件工作的效率就會得到別人不同的評價。在學(xué)校,只有學(xué)習(xí)的氛圍,畢竟學(xué)校是學(xué)習(xí)的場所,每一個學(xué)生都在為取得更高的成績而努力。而這里是工作的場所,每個人都會為了獲得更多的報酬而努力,無論是學(xué)習(xí)還是工作,都存在著競爭,在競爭中就要不斷學(xué)習(xí)別人先進的地方,也要不斷學(xué)習(xí)別人怎樣做人,以提高自已的能力!記得老師曾經(jīng)說過大學(xué)是一個小社會,但我總覺得校園里總少不了那份純真,那份真誠,盡管是大學(xué)高校,學(xué)生還終歸保持著學(xué)生的身份。而走進企業(yè),接觸各種各樣的客戶、同事、上司等等,關(guān)系復(fù)雜,但我得去面對我從未面對過的一切。記得在我校舉行的招聘會上所反映出來的其中一個問題是,學(xué)生的實際操作能力與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高考語文復(fù)習(xí)知識清單第2章文學(xué)類文本閱讀(一)小說專題01賞析小說故事情節(jié)(學(xué)生版+解析)
- 臍橙樹打藥安全責(zé)任書承包合同(2篇)
- 南京工業(yè)大學(xué)浦江學(xué)院《專業(yè)綜合實訓(xùn)(通信工程)》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《審計學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 多變的紙條說課稿
- 小石城7#樓 施工組織設(shè)計
- 南京工業(yè)大學(xué)浦江學(xué)院《建筑給水排水工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 《小石潭記》說課稿
- 小學(xué)音樂面試《哦十分鐘》說課稿
- 南京工業(yè)大學(xué)《中日比較文學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 醫(yī)院培訓(xùn)課件:《ECMO概述及其護理》
- 餐飲門店運營管理手冊
- 《生物試卷分析》課件
- 反賄賂與反腐敗的危機防控
- 學(xué)校食堂維修合同書
- 護士如何處理病患的溝通和沖突問題
- 泵與泵站知識點總結(jié)
- 輪對-輪對的故障與檢修限度(車輛構(gòu)造檢修課件)
- 2023年永生花行業(yè)分析報告及未來五至十年行業(yè)發(fā)展報告
- 12、口腔科診療指南及技術(shù)操作規(guī)范
- 人居環(huán)境科學(xué)講義
評論
0/150
提交評論