學(xué)生成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)報(bào)告書(shū)_第1頁(yè)
學(xué)生成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)報(bào)告書(shū)_第2頁(yè)
學(xué)生成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)報(bào)告書(shū)_第3頁(yè)
學(xué)生成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)報(bào)告書(shū)_第4頁(yè)
學(xué)生成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)報(bào)告書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

淮海工學(xué)院計(jì)算機(jī)工程學(xué)院課程設(shè)計(jì)報(bào)告設(shè)計(jì)名稱(chēng)

學(xué)生成績(jī)統(tǒng)姓

名:

學(xué)

號(hào):專(zhuān)業(yè)班級(jí)系(院設(shè)計(jì)時(shí)間設(shè)計(jì)地點(diǎn):計(jì)算機(jī)工程學(xué)機(jī)房、教室學(xué)生宿舍、圖館

成:年

日課程設(shè)計(jì)報(bào)告

2

頁(yè),共

29

頁(yè).課程設(shè)計(jì)目的本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)重要的實(shí)踐性環(huán)節(jié)之一在學(xué)生學(xué)習(xí)程序設(shè)計(jì)》課程后進(jìn)行的一次全面的綜合練習(xí)。本課程設(shè)計(jì)的目的和任務(wù)1)鞏固和加深學(xué)生對(duì)課程的基本知識(shí)的理解和掌握)掌握C++程和程序調(diào)試的基本技能3)利用C++進(jìn)行簡(jiǎn)單軟件設(shè)計(jì)的基本思路和方法)提高運(yùn)用解決實(shí)際問(wèn)題的能力5)掌握書(shū)寫(xiě)程序設(shè)計(jì)說(shuō)明文檔的能力。本次課程設(shè)計(jì)利用《程序設(shè)計(jì)》課程中所學(xué)到的編程知識(shí)和編程技巧,完成具有一定難度和工作量的程序設(shè)計(jì)題目,幫助學(xué)生掌握編程、調(diào)試的基本技能,使學(xué)生能夠獨(dú)立完成所布置的任務(wù)。.課程設(shè)計(jì)任務(wù)與要求:要求:設(shè)計(jì)題目、設(shè)計(jì)要求以及系統(tǒng)功能需求分析;總體設(shè)計(jì):包括模塊說(shuō)明、模塊結(jié)構(gòu)圖和系統(tǒng)流程圖;詳細(xì)設(shè)計(jì):包括主要功能模塊的算法設(shè)計(jì)思路以及對(duì)應(yīng)的工作流程圖;源程序代碼及設(shè)計(jì)成果:完整源程序清單和設(shè)計(jì)成果;總結(jié):試分析過(guò)程描述包括測(cè)試數(shù)據(jù)測(cè)試輸出結(jié)果以及對(duì)程序調(diào)試過(guò)程中存在問(wèn)題的思考(列出主要問(wèn)題的出錯(cuò)現(xiàn)象、出錯(cuò)原因、解決方法及效果等)包括課程設(shè)計(jì)過(guò)程中的學(xué)習(xí)體會(huì)與收獲、對(duì)C++和本次課程設(shè)計(jì)的認(rèn)識(shí)等內(nèi)容.;任務(wù):設(shè)計(jì)一個(gè)學(xué)生成績(jī)排名系統(tǒng),該系統(tǒng)的主要功能如下:具備對(duì)成績(jī)的管理功能(添加、刪除、排序)具備對(duì)成績(jī)的統(tǒng)計(jì)功能(最高分,最低分,平均分,及格率等)具備按學(xué)號(hào)、姓名、或課程名查詢(xún)成績(jī)的功能。4)學(xué)生成應(yīng)該保存在文件中。備注:成績(jī)記錄以下信息:班級(jí),學(xué)號(hào),姓名,課程名,成績(jī)(百分制用能表示學(xué)生成績(jī)的結(jié)構(gòu)體數(shù)組存儲(chǔ)數(shù)據(jù)。.課程設(shè)計(jì)說(shuō)明書(shū)課程設(shè)計(jì)報(bào)告

3

頁(yè),共

29

頁(yè)⑴概要設(shè)計(jì)一

、模塊說(shuō)明在本次程序設(shè)計(jì)中我設(shè)計(jì)了大模,分別(1)覽學(xué)生的成績(jī)記錄添加學(xué)生的成績(jī)記錄刪除生的成績(jī)記錄對(duì)生成績(jī)進(jìn)行排序詢(xún)生的成績(jī)對(duì)成的統(tǒng)計(jì)。(7保數(shù)據(jù)8個(gè)模塊分別(1)按號(hào)查(2)按名查(3)按程名查(4)按學(xué)成績(jī)排名5)按語(yǔ)成績(jī)排(6)按文成績(jī)排(7)按均成績(jī)(8)按分排名。其中按學(xué)號(hào)查詢(xún),按姓名查詢(xún)按課程名查詢(xún)這三小模塊作為查詢(xún)學(xué)生成績(jī)的子模塊數(shù)成績(jī)排名按英語(yǔ)成績(jī)排名按文成績(jī)排名按平均績(jī)排名按分排名這五個(gè)小模塊作為對(duì)學(xué)生成績(jī)進(jìn)行排序的子塊。在對(duì)成績(jī)的統(tǒng)計(jì)中所有不同的統(tǒng)計(jì)都放在其中,利用switch實(shí)選輸出。整個(gè)過(guò)程中利用for語(yǔ)進(jìn)行循壞,利用語(yǔ)實(shí)現(xiàn)用戶(hù)的選擇,控程序的返回。二、模塊結(jié)構(gòu)圖學(xué)生成績(jī)排名系統(tǒng)瀏覽學(xué)生成績(jī)記錄

對(duì)學(xué)生成績(jī)進(jìn)行排序

刪除學(xué)生的成績(jī)記錄

添加學(xué)生記錄

對(duì)成績(jī)的統(tǒng)計(jì)

查詢(xún)學(xué)生的成績(jī)

保存數(shù)據(jù)按數(shù)學(xué)成績(jī)排名

按英語(yǔ)成績(jī)排名

按語(yǔ)文成績(jī)排名

按平均成績(jī)排名

按總分排名

按學(xué)號(hào)查詢(xún)

按姓名查詢(xún)

按課程名查詢(xún)課程設(shè)計(jì)報(bào)告

4

頁(yè),共

29

頁(yè)三、系統(tǒng)流程圖

開(kāi)始用戶(hù)進(jìn)行選擇輸入rr=1r=3r=7瀏覽學(xué)生成績(jī)

生進(jìn)

刪除學(xué)生

添加學(xué)生

對(duì)成績(jī)的

查詢(xún)生的

保存數(shù)據(jù)記錄

行排序

的成

記錄

統(tǒng)

計(jì)

績(jī)績(jī)記輸入

輸入r按數(shù)學(xué)成績(jī)

按英語(yǔ)成績(jī)

按語(yǔ)文成績(jī)

按平均成績(jī)

按總分排名

按學(xué)號(hào)查詢(xún)

按姓名查詢(xún)

按課程名查

排名

排名

排名

排名

詢(xún)結(jié)束課程設(shè)計(jì)報(bào)告

5

頁(yè),共

29

頁(yè)⑵詳細(xì)設(shè)計(jì)各功能模塊設(shè)計(jì)思路及流程圖:瀏學(xué)生成績(jī)記錄設(shè)計(jì)思路及流程圖。簡(jiǎn)單的用個(gè)for語(yǔ)依次輸出數(shù)據(jù)。用setw()控制字符數(shù)開(kāi)始m<n生y輸出學(xué)生的信息結(jié)束(2)添加學(xué)生成績(jī)記錄設(shè)計(jì)思路及程圖。用一個(gè)for語(yǔ)進(jìn)行從第(現(xiàn)有學(xué)生人數(shù))開(kāi)始輸入學(xué)生各成績(jī)的信息,同時(shí)每輸入一個(gè)學(xué)生的成績(jī)信息,n將加一,由此循環(huán),輸入0時(shí)束開(kāi)始m=n(輸入的學(xué)號(hào)否輸入學(xué)生的成績(jī)信息

是結(jié)束課程設(shè)計(jì)報(bào)告

6

頁(yè),共

29

頁(yè)(3)刪除學(xué)生的成績(jī)記錄設(shè)計(jì)思路流程圖。輸入一個(gè)數(shù)如果這個(gè)數(shù)與所給據(jù)庫(kù)里某一學(xué)號(hào)相等把從這個(gè)學(xué)號(hào)的下一個(gè)學(xué)號(hào)開(kāi)始把后的每個(gè)學(xué)生數(shù)據(jù)都向上一個(gè)學(xué)生數(shù)據(jù)覆蓋掉,同時(shí),學(xué)生人數(shù)減1當(dāng)輸入a時(shí)束開(kāi)始輸入是否i=0否i<n是i++否

是j=ij<n-1s[j].num=s[j+1].num;s[j].cl.egrade=s[j+1].cl.egrade;s[j].cl.mgrade=s[j+1].cl.mgrade;j++按順序輸出學(xué)生信息結(jié)束課程設(shè)計(jì)報(bào)告

7

頁(yè),共

29

頁(yè)(4對(duì)成績(jī)進(jìn)行排序設(shè)計(jì)及流程圖。運(yùn)用冒泡排序法進(jìn)行排序?yàn)槔镄枰鶕?jù)很多不同的方面進(jìn)行排序同異因此以根據(jù)數(shù)成績(jī)排序?yàn)槔i_(kāi)始j

=0否j<n-1是i=0否i<=n-jj是s[i].cl.mgrade<s[i+1].cl.mgrade把所有第i的數(shù)據(jù)與第i+1數(shù)據(jù)交換

i

++按順序輸出學(xué)生信息結(jié)束課程設(shè)計(jì)報(bào)告

8

頁(yè),共

29

頁(yè)(5對(duì)成績(jī)的統(tǒng)計(jì)的設(shè)計(jì)思路及流程圖在這個(gè)模塊,我設(shè)計(jì)了四個(gè)不同方式的查詢(xún),但是方法類(lèi)似,由此,舉按數(shù)學(xué)成績(jī)最高分為例首先定義一個(gè)最高分m_max另它為第一個(gè)人的成績(jī),依次往后面學(xué)生的成績(jī)比較,如果比他大,則他們的信息交換,最后就找到了最高分,輸出。開(kāi)始m_max=s[0].cl.mgradei

=0否i

<是m_max<s[i].cl.mgrade是m_max=s[i].cl.mgradei++

否輸出最高分結(jié)束課程設(shè)計(jì)報(bào)告

9

頁(yè),共

29

頁(yè)(6查詢(xún)學(xué)生成績(jī)的設(shè)計(jì)思路與流程圖在這個(gè)模塊,我設(shè)計(jì)了三個(gè)根據(jù)不同的類(lèi)型查詢(xún),方法類(lèi)似,這里舉一個(gè)通過(guò)學(xué)號(hào)來(lái)查詢(xún)。首先輸入一個(gè)數(shù),如果這個(gè)數(shù)等于的則結(jié)束即返回上一層。同時(shí)令bool=0這用處是提醒戶(hù)沒(méi)有所要查詢(xún)的學(xué)號(hào)接著進(jìn)入一個(gè)循環(huán)果輸入的值等于學(xué)號(hào)中的某一個(gè)時(shí)輸這個(gè)學(xué)所有的學(xué)生成績(jī)信息。開(kāi)始輸入a是a

=0否輸出“無(wú)該學(xué)生”

bool

=0否i

=0否bool

=1

i

<是否a==s[i].num是輸出這個(gè)學(xué)生的成績(jī)信息,bool=1i

++結(jié)束課程設(shè)計(jì)報(bào)告

10

頁(yè),共

29

頁(yè).課程設(shè)計(jì)成果(1)程代碼。#include<iostream>#include<fstream>#include<iomanip>#include<string>usingnamespacestd;structClass{floatmgrade;floategrade;floatlgrade;};structStudent{chargrade[20];intnum;charname[20];floatsum;floataverage;Classcl;}s[50];voidrefer();voidshow(){cout<<"********************************"<<endl;cout<<"*---(1)瀏覽學(xué)生的成績(jī)------*"<<endl;cout<<"*---(2添加生的成績(jī)記------*"<<endl;cout<<"*---(3)刪除學(xué)生的成績(jī)------*"<<endl;cout<<"*---(4)對(duì)學(xué)生成績(jī)進(jìn)行------*"<<endl;cout<<"*---(5)查詢(xún)學(xué)生的成績(jī)---------*"<<endl;cout<<"*---(6)對(duì)成績(jī)的統(tǒng)------------*"<<endl;cout<<"*---(7)保存數(shù)----------------*"<<endl;cout<<"*---(0)結(jié)束程----------------*"<<endl;cout<<"********************************"<<endl;}課程設(shè)計(jì)報(bào)告

11頁(yè),共

29

頁(yè)staticintn=0;voidinput(){cout<<"添加學(xué)生的成績(jī)記錄"<<endl;cout<<"請(qǐng)依次輸入學(xué)號(hào)班姓名數(shù)學(xué)英語(yǔ)文。當(dāng)輸入時(shí)回<<endl;for(intm=n;m<50;m++){cin>>s[m].num;if(s[m].num==0)break;cin>>s[m].grade>>s[m].name>>s[m].cl.mgrade>>s[m].cl.egrade>>s[m].cl.lgrade;n++;}}voidall_show(){intm;for(inti=0;i<80;i++){cout<<"*";}cout<<endl;cout<<setiosflags(ios::left)<<setw(15)<<"學(xué)"班"<<setw(10)<<"姓名"<<setw(5)<<"數(shù)學(xué)<<setw(5)<<"語(yǔ)<<setw(5)<<"語(yǔ)"<<setw(15)<<"三平均成績(jī)"<<setw(15)<<"三門(mén)總成績(jī)";for(m=0;m<n;m++){s[m].average=(s[m].cl.egrade+s[m].cl.lgrade+s[m].cl.mgrade)/3;s[m].sum=s[m].cl.egrade+s[m].cl.lgrade+s[m].cl.mgrade;cout<<setiosflags(ios::left)<<setw(15)<<s[m].num<<setw(10)<<s[m].grade<<setw(10)<<s[m].name<<setw(5)<<s[m].cl.mgrade<<setw(5)<<s[m].cl.egrade<<setw(5)<<s[m].cl.lgrade<<setw(15)<<s[m].average<<setw(15)<<s[m].sum;}cout<<endl;for(intj=0;j<80;j++){cout<<"*";}}課程設(shè)計(jì)報(bào)告

12

頁(yè),共

29

頁(yè)voiddelet(){inta;for(;;){all_show();cout<<endl;cout<<"請(qǐng)輸入要?jiǎng)h除的學(xué)生成信息的學(xué),輸入時(shí)返"<<endl;cin>>a;if(a==0)break;for(inti=0;i<n;i++){if(a==s[i].num){for(intj=i;j<n-1;j++){strcpy(s[j].name,s[j+1].name);strcpy(s[j].grade,s[j+1].grade);s[j].num=s[j+1].num;s[j].cl.egrade=s[j+1].cl.egrade;s[j].cl.lgrade=s[j+1].cl.lgrade;s[j].cl.mgrade=s[j+1].cl.mgrade;}}}n--;cout<<setiosflags(ios::left)<<setw(15)<<"號(hào)班"<<setw(10)<<"姓名<<setw(5)<<"數(shù)學(xué)"英語(yǔ)<<setw(5)<<"文<<setw(15)<<"三門(mén)平均成"<<setw(15)<<"三門(mén)總成";for(intm=0;m<n;m++){s[m].average=(s[m].cl.egrade+s[m].cl.lgrade+s[m].cl.mgrade)/3;s[m].sum=s[m].cl.egrade+s[m].cl.lgrade+s[m].cl.mgrade;cout<<setiosflags(ios::left)<<setw(15)<<s[m].num<<setw(10)<<s[m].grade<<setw(10)<<s[m].name<<setw(5)<<s[m].cl.mgrade<<setw(5)<<s[m].cl.egrade<<setw(5)<<s[m].cl.lgrade<<setw(15)<<s[m].average<<setw(15)<<s[m].sum;}}課程設(shè)計(jì)報(bào)告

13

頁(yè),共

29

頁(yè)}voidrefer1(){inta;for(;;){cout<<"輸入要查詢(xún)學(xué)生成績(jī)的輸入時(shí)回上一"<<endl;cin>>a;if(a==0)break;intbool=0;for(inti=0;i<n;i++){if(a==s[i].num){cout<<setiosflags(ios::left)<<setw(15)<<"號(hào)班"<<setw(10)<<"姓名<<setw(5)<<"數(shù)學(xué)"英語(yǔ)<<setw(5)<<"文<<endl;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<setw(5)<<s[i].cl.egrade<<setw(5)<<s[i].cl.lgrade<<endl;bool=1;}}if(bool==0)cout<<"無(wú)該學(xué)生紀(jì)"<<endl;}}voidrefer2(){stringa;for(;;){cout<<"輸入要查詢(xún)學(xué)生成績(jī)的輸入時(shí)回上一"<<endl;cin>>a;if(a=="0")break;intbool=0;課程設(shè)計(jì)報(bào)告

14

頁(yè),共

29

頁(yè)for(inti=0;i<n;i++){if(a==s[i].name){cout<<setiosflags(ios::left)<<setw(15)<<"學(xué)"<<setw(10)<<"班級(jí)"<<setw(10)<<"姓名<<setw(5)<<"數(shù)學(xué)"語(yǔ)<<setw(5)<<"語(yǔ)文"<<endl;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<setw(5)<<s[i].cl.egrade<<setw(5)<<s[i].cl.lgrade<<endl;bool=1;}}if(bool==0)cout<<"無(wú)該學(xué)生紀(jì)"<<endl;}}voidrefer3(){stringa;for(;;){cout<<"輸入要查詢(xún)學(xué)生成績(jī)的程"<<endl;cin>>a;if(a=="0")break;intbool=0;for(inti=0;i<n;i++){if(a=="數(shù)學(xué)"){cout<<setiosflags(ios::left)<<setw(15)<<"學(xué)"<<setw(10)<<"班級(jí)"<<setw(10)<<"姓名<<setw(5)<<"數(shù)學(xué)"<<endl;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<endl;bool=1;}if(a=="英語(yǔ)"){cout<<setiosflags(ios::left)<<setw(15)<<"學(xué)"<<setw(10)<<"班級(jí)"<<setw(10)<<"姓名<<setw(5)<<"英語(yǔ)"<<endl;課程設(shè)計(jì)報(bào)告

15

頁(yè),共

29

頁(yè)cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.egrade<<endl;bool=1;}if(a=="語(yǔ)文){cout<<setiosflags(ios::left)<<setw(15)<<"學(xué)"<<setw(10)<<"班級(jí)"<<setw(10)<<"姓名<<setw(5)<<"語(yǔ)文"<<endl;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.lgrade<<endl;bool=1;}}if(bool==0)cout<<"無(wú)該學(xué)生紀(jì)"<<endl;}}voidrefer(){intr;for(;;){all_show();cout<<"1.根據(jù)學(xué)號(hào)查找<<endl;cout<<"2.根據(jù)姓名查找"<<endl;cout<<"3.根據(jù)課程名查"<<endl;cout<<"0.返回上一級(jí)"<<endl;cin>>r;if(r==0)break;switch(r){case1:refer1();continue;case2:refer2();continue;case3:refer3();continue;default:cout<<"error!"<<endl;break;}}}課程設(shè)計(jì)報(bào)告

16

頁(yè),共

29

頁(yè)voidsort1(){intt;floatt2;charp1[10],p2[10];cout<<"按學(xué)成績(jī)排名"<<endl;for(intj=0;j<n-1;j++)for(inti=0;i<=n-j;i++)if(s[i].cl.mgrade<s[i+1].cl.mgrade){t=s[i].cl.mgrade;s[i].cl.mgrade=s[i+1].cl.mgrade;s[i+1].cl.mgrade=t;t=s[i].cl.egrade;s[i].cl.egrade=s[i+1].cl.egrade;s[i+1].cl.egrade=t;t=s[i].cl.lgrade;s[i].cl.lgrade=s[i+1].cl.lgrade;s[i+1].cl.lgrade=t;t2=s[i].average;s[i].average=s[i+1].average;s[i+1].average=t2;t=s[i].sum;s[i].sum=s[i+1].sum;s[i+1].sum=t;t=s[i].num;s[i].num=s[i+1].num;s[i+1].num=t;strcpy(p1,s[i].grade);strcpy(s[i].grade,s[i+1].grade);strcpy(s[i+1].grade,p1);strcpy(p2,s[i].name);strcpy(s[i].name,s[i+1].name);strcpy(s[i+1].name,p2);}cout<<setiosflags(ios::left)<<setw(15)<<"號(hào)<<setw(10)<<"班級(jí)姓"數(shù)學(xué)<<setw(5)<<"英"語(yǔ)"門(mén)平均成績(jī)"<<setw(15)<<"三門(mén)總成績(jī)";for(inti=0;i<n;i++){s[i].average=(s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade)/3;s[i].sum=s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<setw(5)<<s[i].cl.egrade<<setw(5)<<s[i].cl.lgrade<<setw(15)<<s[i].average<<setw(15)<<s[i].sum;}}voidsort2(){intt;課程設(shè)計(jì)報(bào)告

17

頁(yè),共

29

頁(yè)floatt2;charp1[10],p2[10];cout<<"按語(yǔ)成績(jī)成績(jī)排名"<<endl;for(intj=0;j<n-1;j++)for(inti=0;i<=n-j;i++)if(s[i].cl.egrade<s[i+1].cl.egrade){t=s[i].cl.mgrade;s[i].cl.mgrade=s[i+1].cl.mgrade;s[i+1].cl.mgrade=t;t=s[i].cl.egrade;s[i].cl.egrade=s[i+1].cl.egrade;s[i+1].cl.egrade=t;t=s[i].cl.lgrade;s[i].cl.lgrade=s[i+1].cl.lgrade;s[i+1].cl.lgrade=t;t2=s[i].average;s[i].average=s[i+1].average;s[i+1].average=t2;t=s[i].sum;s[i].sum=s[i+1].sum;s[i+1].sum=t;t=s[i].num;s[i].num=s[i+1].num;s[i+1].num=t;strcpy(p1,s[i].grade);strcpy(s[i].grade,s[i+1].grade);strcpy(s[i+1].grade,p1);strcpy(p2,s[i].name);strcpy(s[i].name,s[i+1].name);strcpy(s[i+1].name,p2);}cout<<setiosflags(ios::left)<<setw(15)<<""<<setw(10)<<"班級(jí)<<setw(10)<<"姓名<<setw(5)<<"數(shù)學(xué)<<setw(5)<<"英"<<setw(5)<<"語(yǔ)文<<setw(15)<<"三門(mén)平均成"<<setw(15)<<"門(mén)總成";for(inti=0;i<n;i++){s[i].average=(s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade)/3;s[i].sum=s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<setw(5)<<s[i].cl.egrade<<setw(5)<<s[i].cl.lgrade<<setw(15)<<s[i].average<<setw(15)<<s[i].sum;}}voidsort3(){intt;floatt2;charp1[10],p2[10];cout<<"按文成績(jī)排名<<endl;for(intj=0;j<n-1;j++)for(inti=0;i<=n-j;i++)if(s[i].cl.lgrade<s[i+1].cl.lgrade){課程設(shè)計(jì)報(bào)告

18

頁(yè),共

29

頁(yè)t=s[i].cl.mgrade;s[i].cl.mgrade=s[i+1].cl.mgrade;s[i+1].cl.mgrade=t;t=s[i].cl.egrade;s[i].cl.egrade=s[i+1].cl.egrade;s[i+1].cl.egrade=t;t=s[i].cl.lgrade;s[i].cl.lgrade=s[i+1].cl.lgrade;s[i+1].cl.lgrade=t;t2=s[i].average;s[i].average=s[i+1].average;s[i+1].average=t2;t=s[i].sum;s[i].sum=s[i+1].sum;s[i+1].sum=t;t=s[i].num;s[i].num=s[i+1].num;s[i+1].num=t;strcpy(p1,s[i].grade);strcpy(s[i].grade,s[i+1].grade);strcpy(s[i+1].grade,p1);strcpy(p2,s[i].name);strcpy(s[i].name,s[i+1].name);strcpy(s[i+1].name,p2);}cout<<setiosflags(ios::left)<<setw(15)<<""<<setw(10)<<"班級(jí)<<setw(10)<<"姓名<<setw(5)<<"數(shù)學(xué)<<setw(5)<<"英"<<setw(5)<<"語(yǔ)文<<setw(15)<<"三門(mén)平均成"<<setw(15)<<"門(mén)總成";for(inti=0;i<n;i++){s[i].average=(s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade)/3;s[i].sum=s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<setw(5)<<s[i].cl.egrade<<setw(5)<<s[i].cl.lgrade<<setw(15)<<s[i].average<<setw(15)<<s[i].sum;}}voidsort4(){intt,min;floatt2;charp1[10],p2[10];cout<<"按均成績(jī)排名<<endl;for(inti=0;i<n;i++){min=i;for(intj=i+1;j<n;j++)if(s[min].average>s[j].average){t=s[j].cl.mgrade;s[j].cl.mgrade=s[min].cl.mgrade;s[min].cl.mgrade=t;t=s[j].cl.egrade;s[j].cl.egrade=s[min].cl.egrade;s[min].cl.egrade=t;t=s[j].cl.lgrade;s[j].cl.lgrade=s[min].cl.lgrade;s[min].cl.lgrade=t;t2=s[j].average;s[j].average=s[min].average;s[min].average=t2;課程設(shè)計(jì)報(bào)告

19

頁(yè),共

29

頁(yè)t=s[j].sum;s[j].sum=s[min].sum;s[min].sum=t;t=s[j].num;s[j].num=s[min].num;s[min].num=t;strcpy(p1,s[j].grade);strcpy(s[j].grade,s[min].grade);strcpy(s[min].grade,p1);strcpy(p2,s[j].name);strcpy(s[j].name,s[min].name);strcpy(s[min].name,p2);}}cout<<setiosflags(ios::left)<<setw(15)<<""<<setw(10)<<"班級(jí)"<<setw(10)<<"姓名<<setw(5)<<"數(shù)學(xué)"<<setw(5)<<"語(yǔ)<<setw(5)<<"語(yǔ)文三平均成績(jī)"<<setw(15)<<"三總成績(jī);for(i=0;i<n;i++){s[i].average=(s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade)/3;s[i].sum=s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<setw(5)<<s[i].cl.egrade<<setw(5)<<s[i].cl.lgrade<<setw(15)<<s[i].average<<setw(15)<<s[i].sum;}}voidsort5(){intt;floatt2;charp1[10],p2[10];cout<<"按分排名<<endl;for(intj=0;j<n-1;j++)for(inti=0;i<=n-j;i++)if(s[i].sum<s[i+1].sum){t=s[i].cl.mgrade;s[i].cl.mgrade=s[i+1].cl.mgrade;s[i+1].cl.mgrade=t;t=s[i].cl.egrade;s[i].cl.egrade=s[i+1].cl.egrade;s[i+1].cl.egrade=t;t=s[i].cl.lgrade;s[i].cl.lgrade=s[i+1].cl.lgrade;s[i+1].cl.lgrade=t;t2=s[i].average;s[i].average=s[i+1].average;s[i+1].average=t2;t=s[i].sum;s[i].sum=s[i+1].sum;s[i+1].sum=t;t=s[i].num;s[i].num=s[i+1].num;s[i+1].num=t;strcpy(p1,s[i].grade);strcpy(s[i].grade,s[i+1].grade);strcpy(s[i+1].grade,p1);strcpy(p2,s[i].name);strcpy(s[i].name,s[i+1].name);strcpy(s[i+1].name,p2);}cout<<setiosflags(ios::left)<<setw(15)<<""<<setw(10)<<"班級(jí)<<setw(10)課程設(shè)計(jì)報(bào)告

20

頁(yè),共

29

頁(yè)<<"姓名<<setw(5)<<"數(shù)學(xué)<<setw(5)<<"英"<<setw(5)<<"語(yǔ)文<<setw(15)<<"三門(mén)平均成"<<setw(15)<<"門(mén)總成";for(inti=0;i<n;i++){s[i].average=(s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade)/3;s[i].sum=s[i].cl.egrade+s[i].cl.lgrade+s[i].cl.mgrade;cout<<setiosflags(ios::left)<<setw(15)<<s[i].num<<setw(10)<<s[i].grade<<setw(10)<<s[i].name<<setw(5)<<s[i].cl.mgrade<<setw(5)<<s[i].cl.egrade<<setw(5)<<s[i].cl.lgrade<<setw(15)<<s[i].average<<setw(15)<<s[i].sum;}}voidsort(){intr;for(;;){all_show();cout<<"輸入排名類(lèi)"<<endl;cout<<"1.數(shù)學(xué)成績(jī)排名<<endl;cout<<"2.英語(yǔ)成績(jī)排名<<endl;cout<<"3.語(yǔ)文成績(jī)排名<<endl;cout<<"4.平均成績(jī)排名<<endl;cout<<"5.總分排名<<endl;cout<<"輸入0返回一"<<endl;cin>>r;if(r==0)break;switch(r){case1:sort1();continue;case2:sort2();continue;case3:sort3();continue;case4:sort4();continue;case5:sort5();continue;default:cout<<"error\n";break;}}}課程設(shè)計(jì)報(bào)告

21

頁(yè),共

29

頁(yè)voidstatistics(){floata1=0,a2=0,a3=0;floats1=0,s2=0,s3=0,s4;floatm_max=s[0].cl.mgrade,m_min=s[0].cl.mgrade,e_max=s[0].cl.egrade,e_min=s[0].cl.egrade,l_max=s[0].cl.lgrade,l_min=s[0].cl.lgrade;floatm_average,e_average,l_average,average;floatmpass,epass,lpass;for(inti=0;i<n;i++){if(m_max<s[i].cl.mgrade)m_max=s[i].cl.mgrade;if(m_min>s[i].cl.mgrade)m_min=s[i].cl.mgrade;if(e_max<s[i].cl.egrade)e_max=s[i].cl.egrade;if(e_min>s[i].cl.egrade)e_min=s[i].cl.egrade;if(l_max<s[i].cl.lgrade)l_max=s[i].cl.lgrade;if(l_min>s[i].cl.lgrade)l_min=s[i].cl.lgrade;if(s[i].cl.mgrade>=60)++a1;if(s[i].cl.egrade>=60)++a2;if(s[i].cl.lgrade>=60)++a3;s1=s1+s[i].cl.mgrade;s2=s2+s[i].cl.egrade;s3=s3+s[i].cl.lgrade;}mpass=a1/n;epass=a2/n;lpass=a3/n;m_average=s1/n;e_average=s2/n;課程設(shè)計(jì)報(bào)告

22

頁(yè),共

29

頁(yè)l_average=s3/n;s4=s1+s2+s3;average=s4/(n*3);intr;for(;;){cout<<endl;for(inti=0;i<80;i++){cout<<"*";}cout<<"1.數(shù)學(xué)成績(jī)的信息。"<<endl;cout<<"2.英語(yǔ)成績(jī)的信息。"<<endl;cout<<"3.語(yǔ)文成績(jī)的信息。"<<endl;cout<<"4.所有同學(xué)的成績(jī)的平分"<<endl;cout<<"0.返回上一級(jí)"<<endl;for(intj=0;j<80;j++){cout<<"*";}cout<<"請(qǐng)輸入數(shù)字查詢(xún):";cin>>r;if(r==0)break;switch(r){case1:cout<<"數(shù)學(xué)的最高分為"<<m_max<<"最低分為"<<m_min<<"平分為:及率為"<<mpass<<endl;continue;case2:cout<<"英語(yǔ)的最高分為"<<e_max<<"最低分為"<<e_min<<"平分為:及率為"<<epass<<endl;continue;case3:cout<<"語(yǔ)文的最高分為"<<l_max<<"最低分為"<<l_min<<"平分為:及率為"<<lpass<<endl;continue;case4:cout<<"所有同學(xué)的成績(jī)平均分"<<average<<endl;continue;default:cout<<"error!";break;}}}voidsave(){課程設(shè)計(jì)報(bào)告

23

頁(yè),共

29

頁(yè)inti;ofstreamoutfile("成績(jī)排名txt",ios::out);if(!outfile){cerr<<"open成績(jī)名.txterror!"<<endl;exit(1);}outfile<<n<<endl;for(i=0;i<n;i++){outfile<<s[i].num<<'';outfile<<s[i].name<<'';outfile<<s[i].grade<<'';outfile<<s[i].cl.lgrade<<'';outfile<<s[i].cl.egrade<<'';outfile<<s[i].cl.mgrade<<'';outfile<<s[i].sum<<'';outfile<<s[i].average<<'';outfile<<endl;}outfile.close();cout<<endl;cout<<"資已保存<<endl;}voidload(){ifstream成排名.txt",ios::in);if(!infile){cerr<<"open成排名.error!"<<endl;exit(1);}infile>>n;for(inti=0;i<n;i++){infile>>s[i].num;infile>>s[i].name;infile>>s[i].grade;課程設(shè)計(jì)報(bào)告

24

頁(yè),共

29

頁(yè)infile>>s[i].cl.lgrade;infile>>s[i].cl.egrade;infile>>s[i].cl.mgrade;infile>>s[i].sum;infile>>s[i].average;}}voidmain(){cout<<setiosflags(ios::fixed)<<setprecision(1);cout<<"學(xué)生成績(jī)管理系"<<endl;load();intr;for(;;){show();cout<<"請(qǐng)輸入數(shù)字";cin>>r;if(r==0)break;switch(r){case1:all_show();continue

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論