C++學(xué)生成績管理系統(tǒng)代碼_第1頁
C++學(xué)生成績管理系統(tǒng)代碼_第2頁
C++學(xué)生成績管理系統(tǒng)代碼_第3頁
C++學(xué)生成績管理系統(tǒng)代碼_第4頁
C++學(xué)生成績管理系統(tǒng)代碼_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、代碼:/* 學(xué)生成績管理系統(tǒng)* 類: Student Score Manage* 可保存學(xué)科:語文數(shù)學(xué) 英語* 時間段:大一至大四* 說明:該程序針對學(xué)生數(shù)較少的情況,假如面對上千上萬的學(xué)生數(shù),應(yīng)該再將其中的存儲結(jié)構(gòu)進(jìn)行改變,* 分別分層次存儲,例如大一至大四四個鏈表表頭,在每一個鏈表中又根據(jù)不同分類依據(jù)細(xì)分,* 例如根據(jù)學(xué)院、專業(yè)等,這樣的改變將大大有利于程序進(jìn)行的尋找、輸出、排序等涉及鏈表的操作,* 當(dāng)然相應(yīng)代碼也要稍作改變* /#include<iostream>#include<string>#include<fstream>#include<

2、sstream> #include<iomanip>#include<conio.h>#include<windows.h>#include<vector> using namespace std;* define CONOBJ 3/3 科科目* define YEARS 4/4個學(xué)年* define SET 4/4 個設(shè)置要求class Scorepublic:int scoreCONOBJ; /chinese,math,english 三科目分別對應(yīng)order0 、order1 、 order2, 每個學(xué)期兩次考試,分為期中和期末考試i

3、nt orderCONOBJ; /MAX 科學(xué)科排名int ConOrder;/總排名Score *next;/定義在學(xué)生類當(dāng)中Score()next=NULL;int i;for(i=0;i<CONOBJ;i+)scorei=0;orderi=0;ConOrder=0;無參構(gòu)造函數(shù)Score(int *sc) next=NULL; int i;for(i=0;i<CONOBJ;i+) scorei=*sc; orderi=0;sc+;ConOrder=0;/只有成績的構(gòu)造函數(shù)Score(int *sc,int*or,int Con) next=NULL;int j;for(j=0

4、;j<CONOBJ;j+) scorej=*sc; orderj=*or;sc+; or+; ConOrder=Con;/含全部參數(shù)的構(gòu)造函數(shù)int ReturnConScore()/返回總分?jǐn)?shù)return score0+score1+score2;/= class Student/*Student類中包含Score類* 用來存儲眾多的成績,每個學(xué)期兩次成績, 每學(xué)年兩個學(xué)期*/Score *sco;string name;string pro; /專業(yè) int clas;int grade;string num;char sex;Student* next; public: /* 幾個

5、不同參數(shù)的Student構(gòu)造函數(shù)的重載,* 分別對應(yīng)不同形式的構(gòu)造方式* /Student(string iname):name(iname),next(NULL)sco=NULL;cout<<"tttt 成功添加學(xué)生"<<name<<" n"/1.單參數(shù)時的構(gòu)造函數(shù)Student(string iname="No name",string ipro="none",int iclass=0,int igrade=0,string inum="0",char i

6、sex='n'):name(iname),num(inum),sex(isex),next(NULL),pro(ipro),clas(iclass),grade(i grade)sco=NULL;cout<<"tttt 成功添加學(xué)生"<<name<<" n"return;/2.用于添加無輸入成績的構(gòu)造函數(shù)Student(string iname,string ipro,int iclas,int igrade,string inum,char isex,int *score):name(iname),p

7、ro(ipro),clas(iclas),grade(igrade),num(inum),sex(isex),next(N ULL)sco=new Score(score);cout<<"tttt 成功添加學(xué)生"<<name<<" n"/3.用于添加有成績的構(gòu)造函數(shù)Student(string iname,string ipro,int iclas,int igrade,string inum,char isex,int*score,int conor,int *order):name(iname),pro(ipro)

8、,clas(iclas),grade(igrade),num(inum),sex(isex),next(N ULL)sco=new Score(score,order,conor);/4.用于從文件讀入時候的構(gòu)造函數(shù)int CountOfScore();/統(tǒng)計已經(jīng)存儲的成績數(shù)量,每個學(xué)期兩次考試,每次考試算作一次成績錄入成績錄入總計= 4*igradefriend class Manage;/=class Manageint setSET;Student* stu;/* 記錄是否執(zhí)行了修改學(xué)生信息操作,等于 'n' 表示未修改信息或者修改完了但已經(jīng)保存,等于 'y

9、9; 表示已經(jīng)修改并且還未保存*/char judgeOfAdd;public:Manage()stu=NULL;/*for(int i=0;i<SET;i+)seti=1;*/judgeOfAdd='n'Start();Manage()/刪除所有記錄,釋放空間Student* p=stu;while(p)p=p->next;delete p;stu=NULL;Student* ReturnStu()return stu;/添加void Add();/添加學(xué)生void AddScore(Student *istudent); / 添加成績/瀏覽int isEmpty

10、();int infoPass(string inum,string iname,char isex,int igrade,int iclas);void SkimAll();void SkimClas();void SkimPro();void SpecSkim();/指定的其他瀏覽方式void SkimByScore();void SkimByTerms();void SkimByPlace();void SkimByTest();void SkimByGrade(int igrade);void Find(string T);/查找void PrintAllScore(Score *q)

11、;/ 打印成績,本程序用來打印第二次開始的考試成績void InitScore();/未給出成績的學(xué)生進(jìn)行0 賦值void Delete();/刪除void Edit(string Y);/編輯void EditScore(Student *istu);void OrderConscore(); / 按總成績排序void OrderObject();排名次void Compare();比較void Save();/保存int Read();/讀取string OfProfe();/選擇學(xué)院專業(yè)int WINAPI WinMain(HINSTANCEhInst,HINSTANCEhPrevIns

12、tance,LPSTR lpszCmdParam,int nCmdShow);/顯示歡迎對話框int countSpecStudent(int igrade); / 返回指定年級的學(xué)生數(shù)int countConStudent();/ 返回總學(xué)生數(shù)/默認(rèn)設(shè)置void DefaultSetting();/ 進(jìn)行默認(rèn)設(shè)置void ReadSet();/讀取默認(rèn)設(shè)置void SaveSet();/保存默認(rèn)設(shè)置int* ReturnSet();char ReturnjudgeOfadd();void JudgeOfSave(); 判斷是否保存已修改的信息void Start();類內(nèi)部開始運(yùn)行的操作vo

13、id Interface();用戶使用界面;=/Student名空間中的成員函數(shù)的函數(shù)定義int Student:CountOfScore()Score *p=sco;int i;for(i=0;p;p=p->next,i+);return i;/=/= /Manage名空間中的成員函數(shù)的函數(shù)定義int* Manage:ReturnSet()return set;/char Manage:ReturnjudgeOfadd()return judgeOfAdd;/int Manage:countSpecStudent(int igrade) / 返回指定年級的學(xué)生數(shù) Student *p=

14、stu;int count=0;for(;p!=NULL;p=p->next)if(p->grade=igrade)count+;return count;/int Manage:countConStudent()/返回總學(xué)生數(shù)int count=0;for(int i=0;i<CONOBJ;i+)count+=countSpecStudent(i+1);return count;void Manage:AddScore(Student *istudent)system("CLS");/*if(!(istudent->CountOfScore()&l

15、t;istudent->grade*4)/成績已經(jīng)輸入滿了char judge;cout<<”成績已經(jīng)輸入完整,不需要再添加修改Y/返回N:"cin>>judge;if(!(judge='Y'|judge='y')return ;*/int i,judge_grade,judge_term;char flag='y',judge_input='y'Score *temp;for(judge_grade=1;judge_grade<=istudent->grade;judge_gr

16、ade+)for(judge_term=1;judge_term<=4;judge_term+)/由用戶選擇是否繼續(xù)輸入printf("n*是否輸入大d第次考試成績是(y)/否(n)/返回(r) : ",judge_grade,judge_term);cin>>judge_input;if(judge_input='y'|judge_input='Y')printf("n 請 輸 入 大 %d 第 %d 次 考 試 成 績 :n",judge_grade,judge_term);/abs(istudent

17、->CountOfScore()-(istudent->grade-1)*4+1)/輸入成績int scoreCONOBJ;for(i=0;i<CONOBJ;i+)if(i=0)cout<<" 輸入語文成績:"else if(i=1)cout<<" 輸入數(shù)學(xué)成績:"elsecout<<" 輸入英語成績:"cin>>scorei; temp=new Score(score);else if(judge_input='n'|judge_input='

18、N') temp=new Score();/不輸入成績的學(xué)生會自動賦分?jǐn)?shù)為0 elsereturn ;/ 返回/做連接操作if(istudent->sco=NULL) istudent->sco=temp;elseScore *p=istudent->sco;while(p->next!=NULL)p=p->next;p->next=temp; temp->next=NULL;/void Manage:Compare() /比較/void Manage:OrderObject() /各科目成績排名次,賦值給score 類中的orderif(!i

19、sEmpty()return ;Student *p,*pp;Score *qp,*qpp;int score,ch,ma,eng,igrade=1,times,count=0,c1=0,c2=0,c3=0;while(igrade<=YEARS)if(countSpecStudent(igrade)=0)igrade+;continue;p=stu;times=1;while(times <= igrade*4)p=stu;c1+;/ 核心部分 /while(p!=NULL) /p 的循環(huán)是保證每個學(xué)生都進(jìn)行成績排序count+; if(p->grade=igrade) q

20、p=p->sco; /qp 指向該次所要排成績的學(xué)生的成績開頭 處for(int j=0;j<times-1;j+) qp=qp->next;/qpp=qpp->next;/*初始化及更新操作*/qp->ConOrder=countSpecStudent(igrade);/不同年級學(xué)生數(shù)for(int i=0;i<CONOBJ;i+) qp->orderi=qp->ConOrder;/減少函數(shù)而調(diào)用采用的方法score=qp->ReturnConScore();ch=qp->score0;ma=qp->score1;eng=qp

21、->score2;pp=stu;/每一次都從頭開始進(jìn)行比較while(pp!=NULL) c3+; if(pp->grade=igrade && pp->num!=p->num) qpp=pp->sco; for(int j=0;j<times-1;j+) qpp=qpp->next;if(qpp->ReturnConScore() <= score) qp->ConOrder-;if(qpp->score0 <= ch)qp->order0-;if(qpp->score1 <= ma)q

22、p->order1-;if(qpp->score2 <= eng) qp->order2-;) pp=pp->next;)/cout<<p->name<<" " p=p->next;) times+;) igrade+;)/hInst,HINSTANCEint WINAPI Manage:WinMain(HINSTANCE hPrevInstance,LPSTR lpszCmdParam,int nCmdShow) MessageBox(NULL, /count, "您好,歡迎使用!",

23、”學(xué)生成績管理系統(tǒng)",MB_OK | MB_ICONINFORMATION );return 0;)/string Manage:OfProfe()/ 選擇學(xué)院專業(yè)int kh;string i;cout<<"ntt |I n"cout<<"tt|1.工學(xué)院In"cout<<"tt|n"cout<<"tt|2.理學(xué)院In"cout<<"tt|n"cout<<"tt|3.醫(yī)學(xué)院In"cout<

24、;<"tt|n"cout<<"tt|4.農(nóng)學(xué)院In"cout<<"tt|n"cout<<"tt|5.經(jīng)管學(xué)院In"cout<<"tt|n"cout<<"tt|0.退出選擇In"cout<<"ttn"doII.cout<<" tt請輸入相應(yīng)學(xué)院代號: cin>>kh;while(!(kh>=0&&kh<6);cout&l

25、t;<"t*n"switch (kh) case 1:cout<<"t*11.數(shù)字媒體技術(shù)n"cout<<"t*12.土木工程n"cout<<"t*13.建筑學(xué)n"cout<<"t*14.化學(xué)工程工藝n" break;case 2:cout<<"t*21.化學(xué)系n"cout<<"t*22.地理工程n"cout<<"t*23.環(huán)境工程n"break;

26、case 3:cout<<"t*31.臨床醫(yī)學(xué)n"cout<<"t*32.麻醉學(xué)n"cout<<"t*33.影像學(xué)n"break;case 4:cout<<"t*41.院農(nóng)業(yè)機(jī)械n"cout<<"t* 42.水產(chǎn)養(yǎng)殖n"break;case 5:cout<<"t*51.經(jīng)濟(jì)學(xué)n"cout<<"t*52.國際經(jīng)濟(jì)貿(mào)易n"break;cout<<"t*53

27、.金融學(xué)n"int ch;cout<<"t* 0.返回 n"cout<<"t*n"II.docout<<"t 請輸入相應(yīng)專業(yè)代號:cin>>ch;if(ch=0)i=OfProfe();return i;while(!(ch%10>0&&ch%10<4&&ch!=43&&ch/10=kh)|(ch=14&&ch/10 =kh);case 11:i="數(shù)子媒體技木"break;case 12:i

28、="土木工程"break;case 13:i="建筑學(xué)"break;case 14:i="化學(xué)工程工藝"break;case 21:i="化學(xué)系"break;case 22:i="地理工程"break;case 23:i="環(huán)境工程"break;case 31:i="臨床醫(yī)學(xué)"break;cout<<"t*n"switch (ch)case 32:i="麻醉學(xué)"break;case 33:i="

29、影像學(xué)"break;case 41:i="農(nóng)業(yè)機(jī)械"break;case 42:i="水產(chǎn)養(yǎng)殖"break;case 51:i="經(jīng)濟(jì)學(xué)"break;case 52:i="國際經(jīng)濟(jì)貿(mào)易"break;case 53:i="金融學(xué)"break;int judge=1;cout<<"t 已 經(jīng) 選 擇 ""<<i<<" 專 業(yè) ",*nt 是 (1)cout<<"nt 請選擇:&quo

30、t;否 (0)nt*是 否 確 定 ?nt*”default:cout<<"t 輸入錯誤。"cin>>judge;while(!judge)i=OfProfe();return i;/ int Manage:infoPass(string inum,string iname,char isex,int igrade,int iclas)int value=atoi(inum.c_str(),legal=1,count=1;cout<<"nn 信息輸入合法性:n"if(!(igrade>=1 &&

31、igrade<=4)cout<<count<<": 年級輸入不合法,請輸入大一大四n"legal=0;count+;else if(!(value >= igrade*10000 && value <= igrade*10000+9999) cout<<count<<": 學(xué) 號 輸 入 不 正 確 大 一 (1000019999) / 大( 2000029999)n"legal=0;count+;if(!(iclas>=1 && iclas<=

32、99)cout<<count<<": 班級輸入不合法,請輸入199n"legal=0;count+;if(isex!='w' && isex!='m')cout<<count<<": 請輸入正確性別,男生-m, 女生-wn"legal=0;count+;if(iname.length()>2)cout<<count<<": 姓名輸入不宜過長n"legal=0;if(count=1)cout<<&qu

33、ot;ttt 輸入合法nn"return legal;/void Manage:Add()system("CLS");Student *p=stu,*q=NULL,*save=NULL;string inum,iname,ipro;int igrade,iclas,count=0;char flag,isex,see='y'if(stu=NULL)cout<<"ttt>>* 還沒有學(xué)生信息!*<<"while(see='y') /備注:循環(huán),判斷是否多次輸入count+;cou

34、t<<endl<<count<<".n"<<" 請輸入學(xué)號:"cin>>inum;p=stu;while(p)/尋找是否已經(jīng)存在該學(xué)生if(p->num=inum)Find(inum);cout<<"n 提示:該學(xué)生已經(jīng)存在!是否修改信息?(Y/N):"cin>>flag;if(flag='Y'|flag='y')system("CLS");cout<<"ttt學(xué)生及成績錄

35、入 n”;Edit(inum);break;save=p;p=p->next;if(p=NULL)/說明沒有以上學(xué)號的學(xué)生,p 移動到了鏈表盡頭cout<<" 請輸入姓名:"cin>>iname;cout<<”請輸入性別(男-m/女-w):"cin>>isex;cout<<" 請輸入年級(大一:1):"cin>>igrade;cout<<" 請輸入班級:"cin>>iclas;if(!(infoPass(inum,iname

36、,isex,igrade,iclas)cout<<"nttt* 是否重新輸入Y/N"char judgeOfIn;cin>>judgeOfIn;if(judgeOfIn='y'|judgeOfIn='Y')Add();elsereturn ;cout<<"n"cout<<" 請選擇學(xué)院及專業(yè):"ipro=OfProfe();cout<<"t 已選擇:"<<ipro<<"n"cout

37、<<"n"q=new Student(iname,ipro,iclas,igrade,inum,isex);cout<<"ttt *>> 去輸入成績?(Y/N):"while(getchar()!='n');/cin.clear();cin>>flag;if(flag='Y'|flag='y')AddScore(q);system("CLS");judgeOfAdd='y'if(stu)save->next=q;q-&

38、gt;next=NULL;elsestu=q;stu->next=NULL;cout<<"tttt 是否繼續(xù)添加?(Y/N):"cin>>see;InitScore();/OrderConscore();OrderObject();cout<<"tttt按任意鍵返回 >" getch();/int Manage:isEmpty()char flag;Student *p=stu; if(!stu)cout<<"nttt提示:信息為空!去輸入嗎?(Y/N):"cin>&g

39、t;flag;if(flag='Y'|flag='y')Add();system("CLS");return 1; else return 0;空 else return 1; 非空 /void Manage:PrintAllScore(Score *q)打印從大一第二次開始的所有成績while(q!=NULL) 當(dāng)學(xué)生成績?yōu)榭諘r候,即q=NULL,所以此時 q!=NULL的判斷在q->next!=NULL的前面,保證了程序的準(zhǔn)確性 cout<<" 1111I"<<setw(1)<<

40、;q->score0<<"/"<<q->order0<<"|"<<setw(1)<<q->score1<<"/"<<q->order1<<"|"<<setw(1)<<q->score2<<"/"<<q->order2<<"| "cout<<setw(3)<<q-&

41、gt;ReturnConScore()/3.0<<"|"<<setw(2)<<q->ReturnConScore()<<" | "<<setw(3)<<q->ConOrder<<" | "<<"n" q=q->next; /void Manage二SkimClas() /班級 if(isEmpty()Student *p=stu;int k;cout<<"你可以選擇以下班級:&qu

42、ot;dok=p->clas;cout<<k<<""dop=p->next;while(p!=NULL&&k=p->clas);while(p!=NULL);cout<<endl<<”請輸入班級:"cin>>k;p=stu;/兩個不能對調(diào)while(p!=NULL&&k!=p->clas) p=p->next;if(p=NULL)cout<<"輸入錯誤,無該班級。n"cout<<"tttt*

43、n"<<"tttt按任意鍵返回或繼"<<"ntttt*”getch();return ;cout<<" n"/1 _ I cout<<" |基本信息績/單科排名I n"cout<<" | I I n"I語文I數(shù)學(xué)Icout<<" | 姓名| 學(xué)號|年/班I 專業(yè) 英語I平均I總分I名次In"cout<<" | I I III I I I n"p=stu;while(p!=N

44、ULL)while(p!=NULL&&p->clas!=k)p=p->next;if(p!=NULL)cout.left;cout<<" |"<<setw(4)<<p->name<<"<<setw(5)<<p->num<<"|"<<setw(3)<<p->grade<<"/"<<p->clas<<<<setw(13)&l

45、t;<p->pro<<"<<setw(1)<<p->sco->score0<<"/"<<p->sco->order0<<"<<setw(1)<<p->sco->score1<<"/"<<p->sco->order1<<"<<setw(1)<<p->sco->score2<<"/&

46、quot;<<p->sco->order2<<"| "cout.precision(2);cout<<setw(3)<<p->sco->ReturnConScore()/3.0<<"<<setw(2)<<p->sco->ReturnConScore()<<"<<setw(3)<<p->sco->ConOrder<<" | "<<"n&q

47、uot;PrintAllScore(p->sco->next);) elsebreak;p=p->next;cout<<"n"cout<<"tttt*n"<<"tttt按任意鍵返回或繼續(xù)"<<"ntttt*”; getch();/void Manage:SkimPro() if(isEmpty()Student *p=stu;string i; i=OfProfe();/專業(yè)while(p!=NULL&&i!=p->pro)p=NULL就

48、不會進(jìn)行后面一個判斷了/這兩個順序不能對調(diào)一旦判斷 否則會出錯p=p->next;if(p=NULL)cout<<"tttt該專業(yè)暫時無學(xué)生就讀n"cout<<"tttt*n"<<"tttt按任意鍵返回或繼"<<"ntttt*”getch();return ;system("CLS");cout<<" n"/1 _ I cout<<" |基本信息績/單科排名I n"cout<<

49、" I I In"I語文I數(shù)學(xué)Icout<<" | 姓名| 學(xué)號|年/班| 專業(yè) 英語I平均I總分I名次In"cout<<" I I I III I I I n"while(p!=NULL) while(p!=NULL&&p->pro!=i)p=p->next; if(p!=NULL)cout.left;"<<setw(4)<<p->name<<""<<setw(3)<<p->gra

50、de<<"/"<<p->clas<<"cout<<" "<<setw(5)<<p->num<<" "<<setw(13)<<p->pro<<"II."<<setw(1)<<p->sco->score0<<"/"<<p->sco->order0<<" &quo

51、t;<<setw(1)<<p->sco->score1<<"/"<<p->sco->order1<<" "<<setw(1)<<p->sco->score2<<"/"<<p->sco->order2<<" cout.precision(2);cout<<setw(3)<<p->sco->ReturnConScore()/3.

52、0<<""<<setw(2)<<p->sco->ReturnConScore()<<""<<setw(3)<<p->sco->ConOrder<<" | "<<"n"PrintAllScore(p->sco->next);elsebreak; p=p->next; cout<<"n"按任意鍵返回或繼續(xù)cout<<"tttt*n

53、"<<"tttt"<<"ntttt*”;getch();/void Manage:SkimAll() /全部int igrade=1;Student *p;char judge;Score *q;if(!isEmpty()return ;cout<<"tt是:顯示詳細(xì)信息,否:顯示最近一次考試成績【y/n】:" cin>>judge;while(igrade<YEARS+1)p=stu;cout<<"n 大"<<igrade<<

54、;":n"cout<<"cout<<" |績/單科排名n"/| 一 I -基本信息 I n"cout<<" I Icout<<" | 姓名 I英語I平均I總分I名次Icout<<" I In"學(xué)號I年/班I n"專業(yè)I語文I數(shù)學(xué)Inwhile(p!=NULL)(q=p->sco;if(p->grade=igrade)/打印姓名、學(xué)號、年級班級、專業(yè)cout.left;cout<<" |&quo

55、t;<<setw(4)<<p->name<<""<<setw(5)<<p->num<<"|"<<setw(3)<<p->grade<<"/"<<p->clas<<"<<setw(13)<<p->pro;/判斷是否有第一次考試成績,并輸出不同結(jié)果if(p->sco=NULL) cout<<" |"<&

56、lt;setw(1)<<"-"<<"/“<<"-“<<”|"<<setw(1)<<"-"<<"/"<<"-"<<"| "<<setw(1)<<"-"<<"/"<<"-"<<"| "cout.precision(2);cou

57、t<<setw(3)<<"-"<<”| "<<setw(2)<<"-"<<”|"<<setw(3)<<"-<<"| "<<"n"else cout<<"I"<<setw(1)<<p->sco->score0<<"/"<<p->sco->order

58、0<<"I"<<setw(1)<<p->sco->score1<<"/"<<p->sco->order1<<"I"<<setw(1)<<p->sco->score2<<"/"<<p->sco->order2<<"| "cout.precision(2);cout<<setw(3)<<p->

59、sco->ReturnConScore()/3.0<<"|"<<setw(2)<<p->sco->ReturnConScore()<<"|"<<setw(3)<<p->sco->ConOrder<<" | "<<"n" /判斷是否還有成績,有的話繼續(xù)輸出if(judge='y'|judge='Y') && q!=NULL &&

60、q->next!=NULL) 當(dāng)學(xué)生成績?yōu)榭諘r候,即q=NULL,所以此時q!=NULL 的判斷在 q->next!=NULL的前面,保證了程序的準(zhǔn)確性 PrintAllScore(q->next); p=p->next;cout<<"n"igrade+;cout<<"tttt*n"<<"tttt按任意鍵返回或繼續(xù)"<<"ntttt*”getch();/void Manage:SkimByScore()int begin,end;Student *p=s

61、tu;docout<<"請輸入起始分?jǐn)?shù)(010):"cin>>begin;while(!(begin>=0&&begin<=10);docout<<"請輸入終結(jié)分?jǐn)?shù)段(010):"cin>>end;while(!(end>=0&&end<=10);char c,m,e;cout<<"是否顯示語文(Y.y/N.n):"cin>>c;cout<<"是否顯示數(shù)學(xué)(Y.y/N.n):"

62、cin>>m;cout<<"是否顯示英語(Y.y/N.n):"cin>>e;if(c='Y'|c='y'|m='Y'|m='y'|e='Y'|e='y')cout<<" n"/1 _ I -cout<<" |基本信息I分?jǐn)?shù)段/成績/排名I n"cout<<" I I I n"cout<<" | 姓名| 學(xué)號|年/班| 專業(yè) |&

63、quot;<<setw(2)<<begin<<setw(1)<<""<<end<<"| n"cout<<" | I I I III n"if(c='Y'|c='y')while(p!=NULL)if(p->sco->score0>=begin&&p->sco->score0<=end)cout.left;cout<<" | 語文 "<

64、;<"I "<<setw(4)<<p->name<<""<<setw(5)<<p->num<<"|"<<setw(3)<<p->grade<<"/"<<p->clas<<""<<setw(13)<<p->pro<<""<<setw(13)<<p->

65、;sco->score0<<"/"<<p->sco->order0<<"| n" p=p->next;cout<<" I I n"if(m='Y'|m='y')p=stu;while(p!=NULL)if(p->sco->score1>=begin&&p->sco->score1<=end) cout.left;cout<<" |數(shù)學(xué)"<<

66、;"I "<<setw(4)<<p->name<<"|"<<setw(5)<<p->num<<"|"<<setw(3)<<p->grade<<"/"<<p->clas<<"|"<<setw(13)<<p->pro<<"|"<<setw(13)<<p->

67、sco->score1<<"/"<<p->sco->order1<<"| n" p=p->next; cout<<" | I n"if(e='Y'|e='y')p=stu;while(p!=NULL)if(p->sco->score2>=begin&&p->sco->score2<=end) cout.left; cout<<" |英語"<&l

68、t;"I "<<setw(4)<<p->name<<"|"<<setw(5)<<p->num<<"|"<<setw(3)<<p->grade<<"/"<<p->clas<<"|"<<setw(13)<<p->pro<<"|"<<setw(13)<<p->

69、;sco->score2<<"/"<<p->sco->order2<<"| n" p=p->next; cout<<" | n"/void Manage:SkimByTerms()/顯示各個學(xué)期的成績/void Manage:SkimByPlace() /按排名范圍顯示/void Manage:SkimByTest()int igrade=1,times=1,i;string judgeOfTest="middleTest"Student *p

70、;Score *q;if(!isEmpty()return ;while(igrade<YEARS)if(countSpecStudent(igrade)=0)cout<<" 大 "<<igrade<<" 暫無學(xué)生n"igrade+;continue;times=1;p=stu;cout<<"*n"cout<<"n 大 "<<igrade<<" 學(xué)生 :n"cout<<"*n"*while(times<=4*igrade)if(times%4=1) cout<<"n"cout<<"n 大 "<<times/4+1&

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論