學(xué)生綜合測評系統(tǒng)-C++設(shè)計報告_第1頁
學(xué)生綜合測評系統(tǒng)-C++設(shè)計報告_第2頁
學(xué)生綜合測評系統(tǒng)-C++設(shè)計報告_第3頁
學(xué)生綜合測評系統(tǒng)-C++設(shè)計報告_第4頁
學(xué)生綜合測評系統(tǒng)-C++設(shè)計報告_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

上海電力學(xué)院《高級程序設(shè)計C++》課程設(shè)計題目:學(xué)生綜合測評系統(tǒng)院系:計算機(jī)科學(xué)與技術(shù)學(xué)院專業(yè)年級:計算機(jī)科學(xué)與技術(shù)學(xué)生姓名:學(xué)號:20231695指導(dǎo)教師:2023年1月目錄目錄21.需求分析32.概要設(shè)計33.詳細(xì)設(shè)計64.用戶使用手冊74.1環(huán)境設(shè)置74.2操作步驟85.程序創(chuàng)新點166.使用的主要技術(shù)167.總結(jié)16附錄16需求分析本系統(tǒng)旨在便于學(xué)校管理和查閱學(xué)生信息并計算學(xué)生的考試成績和名次以及綜合測評成績和名次。每個學(xué)生的信息為:學(xué)號、姓名、性別、家庭住址、聯(lián)系、高等數(shù)學(xué)、物理、英語三門單科成績、、同學(xué)互評分、品德成績、任課教師評分??荚嚻骄煽儭⑼瑢W(xué)互評分、品德成績、任課教師評分分別占綜合測評總分的60%,10%,10%,20%。程序的根本功能:1.學(xué)生信息處理:(1)輸入學(xué)生信息、學(xué)號、姓名、性別、家庭住址、聯(lián)系,按學(xué)號以小到大的順序存入文件中。(2)插入〔修改〕同學(xué)信息。(3)刪除同學(xué)信息。(4)瀏覽學(xué)生信息。2.學(xué)生數(shù)據(jù)處理:(1)按考試科目錄入學(xué)生成績并且按公式:考試成績=〔語文+數(shù)學(xué)+外語〕/3計算考試成績,并計算考試名次。(2)學(xué)生測評數(shù)據(jù)輸入并計算綜合測評總分及名次。(3)學(xué)生數(shù)據(jù)管理。(4)學(xué)生數(shù)據(jù)查詢。3.學(xué)生綜合信息輸出概要設(shè)計根據(jù)需求分析中的描述,知道需要一個帳戶類型,由于根本數(shù)據(jù)類型無法實現(xiàn)將一個用戶的信息綁定在一起,所以需要定義一個抽象數(shù)據(jù)類型帳戶,命名為Student,其定義如下:classStudent{public: intnum;//學(xué)號 stringname;//姓名 stringsex;//性別 stringaddress;//家庭住址 stringphone;//聯(lián)系 doubleenglish;//英語成績 doublemath;//數(shù)學(xué)成績 doublephysics;//物理分?jǐn)?shù) doubleaverage;//考試成績 doublegrade1;//同學(xué)互評分 doublegrade2;//品德成績 doublegrade3;//任課教室評分 doublegradesum;//綜合測評成績 intranking1;//考試名次 intranking2;//綜合測評名次};為了方便外部函數(shù)進(jìn)行操作,以上全為共有變量。定義一個對象數(shù)組Studentstud[100];方便對Student類中數(shù)據(jù)進(jìn)行輸入和輸出以及排序等等功能。外部操作函數(shù)有:voidread()//從文件中讀取學(xué)生信息函數(shù)voidshow()//顯示學(xué)生信息函數(shù)voidsave()//保存學(xué)生信息函數(shù)voidSR()//輸入學(xué)生信息函數(shù)voidSC()//刪除學(xué)生信息函數(shù)voidTJ()//添加學(xué)生信息函數(shù)voidXG()//修改學(xué)生信息函數(shù)voidPM1()//計算考試成績以及排名函數(shù)voidPM2()//計算綜合測評成績以及排名函數(shù)voidsn()//按學(xué)生學(xué)號查找學(xué)生信息voidsm()//按學(xué)生姓名查找學(xué)生信息voidFire()//學(xué)生信息管理界面voidstatistics()//學(xué)生成績統(tǒng)計管理界面voidinquiry()//學(xué)生查詢管理界面voidabout()//關(guān)于系統(tǒng)界面voidthanks()//退出程序界面主函數(shù)為學(xué)生測評系統(tǒng)主界面3、詳細(xì)設(shè)計voidread(){ charfilename[20];cout<<"從文件中讀取信息!"<<endl;cout<<"請輸入文件名:"<<endl;cin>>filename; cout<<"請問要讀取幾名學(xué)生信息:"<<endl; cin>>n;ifstreaminfile; infile.open(filename,ios::in|ios::out);if(!infile) { cerr<<"openerror!"<<endl; exit(1); } inti=0;do {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].address >>stud[i].phone>>stud[i].english>>stud[i].math >>stud[i].physics>>stud[i].grade1 >>stud[i].grade2>>stud[i].grade3; i++; } while(!infile.eof());infile.close();cout<<"讀取成功!"<<endl;}以上為讀取文件中學(xué)生信息的函數(shù),當(dāng)信息成功讀取后才可進(jìn)行修改或添加或刪除,所以在許多外部函數(shù)里面都必須要有讀取函數(shù)的功能為前提。voidsave(){ inti;charfilename[20];cout<<"將記錄保存在文件夾!"<<endl;cout<<"請輸入文件名:";cin>>filename;ofstreamoutfile(filename);if(!outfile) { cerr<<"openerror!"<<endl; } //保存時按學(xué)號排序,采用冒泡排序法實現(xiàn)數(shù)組內(nèi)的排序…… for(i=0;i<n;i++) { outfile<<stud[i].num<<""<<stud[i].name<<""<<stud[i].sex<<""<<stud[i].address<<""<<stud[i].phone<<""<<stud[i].english<<""<<stud[i].math<<""<<stud[i].physics<<"" <<stud[i].grade1<<""<<stud[i].grade2<<""<<stud[i].grade3<<endl; }outfile.close();cout<<"保存成功!"<<endl;}在每次保存時都先按學(xué)號排序,保證信息是按學(xué)號從小到大的順序存入文件。在輸入、修改、添加和刪除函數(shù)的末端都有保存函數(shù)以實現(xiàn)信息的保存。voidXG(){ read();begin:stringfind_name; inti; cout<<"請輸入你要修改的學(xué)生名字:"<<endl; cin>>find_name; for(i=0;i<n;i++) if(stud[i].name==find_name) {……}//輸出修改前學(xué)生信息 if(stud[i].name!=find_name) { cout<<"can'tfindthisname"<<endl; cout<<"請重新查找!"<<endl; gotobegin; } cout<<"請輸入新的信息:"<<endl; cout<<"學(xué)號:"<<'';cin>>stud[i].num;………… cout<<"修改成功,是否保存?(y/n)"<<endl; cin>>press; switch(press) { case'y':save();break; default:cout<<"不保存!";break; }}基于數(shù)組形式對數(shù)據(jù)進(jìn)行修改。根本上所有函數(shù)都是基于數(shù)組進(jìn)行操作,像刪除函數(shù)是用循環(huán)先匹配類中的一個數(shù)據(jù),找到之后再以此開始用對象數(shù)組后面的替換掉前一個,以實現(xiàn)刪除功能。stringSC_name;cout<<"請輸入你要刪除的學(xué)生名字:"<<endl; inti=0; cin>>SC_name;while(stud[i].name!=SC_name&&i<n) i++;//查找判斷if(stud[i].name==SC_name) { for(intj=i;j<n+1;j++) { stud[i].num=stud[i+1].num;stud[i].name=stud[i+1].name;…………}}考試成績排名和綜合測評成績排名都是采用冒泡排序法實現(xiàn):doubletemp[100]; for(inta=0;a<n;a++)//計算考試成績并賦值給temp { stud[a].average=(stud[a].english+stud[a].math+stud[a].physics)/3; temp[a]=stud[a].average; } doublet; for(intj=0;j<n;j++)//temp中的考試成績按從大到小冒泡排序 {for(intk=0;k<n-1-j;k++) {f(temp[k]<temp[k+1]) {t=temp[k];temp[k]=temp[k+1];temp[k+1]=t;}}} for(intq=0;q<n;q++)//判定考試成績名次 {for(intp=0;p<n;p++) {if(stud[p].average==temp[q]) stud[p].ranking1=q+1;}}最后各種界面函數(shù)通過switch語句進(jìn)行調(diào)用,以實現(xiàn)各種功能來完成此系統(tǒng):voidFire()//學(xué)生信息管理系統(tǒng)界面{while(choose!=0) {//輸出界面樣式略。cout<<"\t\t請輸入0-5之間的任意一數(shù)字:"<<''; cin>>choose;switch(choose) {case1:system("cls");SR();break; case2:system("cls");SC();break; case3:system("cls");TJ();break; case4:system("cls");XG();break; case5:system("cls");show();break; default:cout<<"\t\t輸入錯誤或返回主界面"<<'\n';break;}}}用戶使用手冊4.1環(huán)境設(shè)置將已創(chuàng)立擴(kuò)展名為cpp在VC6.0中運行即可,如下圖。4.2操作步驟編譯每個擴(kuò)展名為.cpp的文件,如果有編譯錯誤,那么根據(jù)提示修改,否那么編譯成功。最后編譯、連接和運行測試程序文件,輸入數(shù)據(jù)并測試程序的各種操作。如下圖。在當(dāng)前的Dos窗口中,輸入要執(zhí)行的功能號碼,如輸入1,然后單擊回車,那么顯示如下圖。此為學(xué)生信息管理界面,輸入要執(zhí)行的功能號碼,如輸入1,然后單擊回車,那么顯示如下圖。按提示輸入3個學(xué)生信息并保存至文件1.txt中,完成后返回學(xué)生信息管理界面,輸入要執(zhí)行的功能號碼,如輸入5,然后單擊回車,然后輸入文件名1.txt和要讀取幾名學(xué)生信息,如輸入3,那么顯示如下圖。如上所示,按照提示內(nèi)容輸入功能號并回車確認(rèn)就能正確使用本系統(tǒng)。使用的主要技術(shù)文本文件的讀寫、數(shù)組。總結(jié)經(jīng)過一個學(xué)期對《C++程序設(shè)計》的學(xué)習(xí),我學(xué)習(xí)到了根本的理論知識,了解到了C++語言程序設(shè)計的思想,這些知識都為我的課程設(shè)計和進(jìn)一步學(xué)習(xí)打下了堅實的根底。在為期一周的的C++課程設(shè)計中,我體會頗多,學(xué)到了很多東西。我加強(qiáng)了對C++程序設(shè)計這門課程的認(rèn)識,并且復(fù)習(xí)了自己以前學(xué)過的知識。這些都使得我對計算機(jī)語言的學(xué)習(xí)有了更深入的認(rèn)識。像學(xué)生測評系統(tǒng)這樣的程序設(shè)計,經(jīng)歷了平時在課堂和考試中不會出現(xiàn)的問題和考驗。而這些問題,并不是只靠課本就可以輕易解決的。所以,鍛煉了我們獨立思考和解決問題的能力。特別是向老師提問時,老師教會了我調(diào)試程序的方法,讓我更容易發(fā)現(xiàn)自己所犯的錯誤。在老師和同學(xué)的幫助下,通過自己的努力,終于完成了這次學(xué)生測評系統(tǒng)的課程設(shè)計,雖然還有缺陷,但過程中所摸索到的經(jīng)驗是一筆珍貴的財富??偠灾?,這次課程設(shè)計讓我收獲很大。附錄#include<iostream>#include<fstream>#include<string>#include<iomanip>usingnamespacestd;charpress;intchoose=1;intn;classStudent{public: intnum;//學(xué)號 stringname;//姓名 stringsex;//性別 stringaddress;//家庭住址 stringphone;//聯(lián)系 doubleenglish;//英語成績 doublemath;//數(shù)學(xué)成績 doublephysics;//物理分?jǐn)?shù) doubleaverage;//考試成績 doublegrade1;//同學(xué)互評分 doublegrade2;//品德成績 doublegrade3;//任課教室評分 doublegradesum;//綜合測評成績 intranking1;//考試名次 intranking2;//綜合測評名次}; Studentstud[100];//————————————————讀取學(xué)生信息——————————————————voidread(){ charfilename[20];cout<<"從文件中讀取信息!"<<endl;cout<<"請輸入文件名:"<<endl;cin>>filename; cout<<"請問要讀取幾名學(xué)生信息:"<<endl; cin>>n;ifstreaminfile; infile.open(filename,ios::in|ios::out);if(!infile) { cerr<<"openerror!"<<endl; exit(1); } inti=0;do {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].address >>stud[i].phone>>stud[i].english>>stud[i].math >>stud[i].physics>>stud[i].grade1 >>stud[i].grade2>>stud[i].grade3; i++; } while(!infile.eof());infile.close();cout<<"讀取成功!"<<endl;}//顯示學(xué)生信息voidshow(){ read(); cout<<"學(xué)號"<<"姓名"<<"性別"<<"家庭地址"<<"聯(lián)系方式" <<"英語"<<"高數(shù)"<<"物理"<<"同學(xué)互評"<<"品德成績"<<"教師評分"<<endl; for(inti=0;i<n;i++) { cout<<stud[i].num; cout.width(5); cout<<stud[i].name; cout.width(5); cout<<stud[i].sex; cout.width(8); cout<<stud[i].address; cout.width(8); cout<<stud[i].phone; cout.width(6); cout<<stud[i].english; cout.width(6); cout<<stud[i].math; cout.width(6); cout<<stud[i].physics; cout.width(6); cout<<stud[i].grade1; cout.width(8); cout<<stud[i].grade2; cout.width(8); cout<<stud[i].grade3<<endl; }}//————————————————保存學(xué)生信息——————————————————voidsave(){ inti;charfilename[20];cout<<"將記錄保存在文件夾!"<<endl;cout<<"請輸入文件名:";cin>>filename;ofstreamoutfile(filename);if(!outfile) { cerr<<"openerror!"<<endl; } //保存時按學(xué)號排序 inttemp[100]; for(inta=0;a<n;a++) { temp[a]=stud[a].num; } intt; for(intj=0;j<n;j++) { for(intk=0;k<n-1-j;k++) { if(temp[k]>temp[k+1]) { t=temp[k]; temp[k]=temp[k+1]; temp[k+1]=t; } } } inttempnum; stringtempname; stringtempsex; stringtempaddress; stringtempphone; doubletempenglish; doubletempmath; doubletempphysics; doubletempgrade1; doubletempgrade2; doubletempgrade3; for(intq=0;q<n;q++) { for(intp=0;p<n;p++) { if(stud[p].num==temp[q]) { tempnum=stud[p].num; tempname=stud[p].name; tempsex=stud[p].sex; tempaddress=stud[p].address; tempphone=stud[p].phone; tempenglish=stud[p].english; tempmath=stud[p].math; tempphysics=stud[p].physics; tempgrade1=stud[p].grade1; tempgrade2=stud[p].grade2; tempgrade3=stud[p].grade3; stud[p].num=stud[q].num; stud[p].name=stud[q].name; stud[p].sex=stud[q].sex; stud[p].address=stud[q].address; stud[p].phone=stud[q].phone; stud[p].english=stud[q].english; stud[p].math=stud[q].math; stud[p].physics=stud[q].physics; stud[p].grade1=stud[q].grade2; stud[p].grade2=stud[q].grade2; stud[p].grade3=stud[q].grade3; stud[q].num=tempnum; stud[q].name=tempname; stud[q].sex=tempsex; stud[q].address=tempaddress; stud[q].phone=tempphone; stud[q].english=tempenglish; stud[q].math=tempmath; stud[q].physics=tempphysics; stud[q].grade1=tempgrade1; stud[q].grade2=tempgrade2; stud[q].grade3=tempgrade3; } } } for(i=0;i<n;i++) { outfile<<stud[i].num<<""<<stud[i].name<<""<<stud[i].sex<<""<<stud[i].address<<""<<stud[i].phone<<""<<stud[i].english<<""<<stud[i].math<<""<<stud[i].physics<<"" <<stud[i].grade1<<""<<stud[i].grade2<<""<<stud[i].grade3<<endl; }outfile.close();cout<<"保存成功!"<<endl;}//————————————————輸入學(xué)生資料——————————————————voidSR(){ cout<<"請根據(jù)你的需要輸入學(xué)生的個數(shù):";cin>>n; for(inta=0;a<n;a++) { cout<<"請輸入第"<<a+1<<"個學(xué)生資料:"<<endl;cout<<"學(xué)號:"<<'';cin>>stud[a].num;cout<<"姓名:"<<'';cin>>stud[a].name;cout<<"性別:"<<'';cin>>stud[a].sex;cout<<"家庭住址:"<<'';cin>>stud[a].address;cout<<"聯(lián)系方式:"<<'';cin>>stud[a].phone;cout<<"英語成績:"<<'';cin>>stud[a].english;cout<<"物理成績:"<<'';cin>>stud[a].physics; cout<<"高數(shù)成績:"<<'';cin>>stud[a].math;cout<<"同學(xué)互評:"<<'';cin>>stud[a].grade1; cout<<"品德成績:"<<'';cin>>stud[a].grade2; cout<<"任課教師評分:"<<'';cin>>stud[a].grade3; }cout<<"輸入成功,學(xué)生資料是否保存?(y/n)"<<endl;cin>>press;switch(press) { case'y':save();break; default:cout<<"不保存!";break; }}//————————————————刪除資料——————————————————voidSC(){ read(); do { stringSC_name;cout<<"請輸入你要刪除的學(xué)生名字:"<<endl; inti=0; cin>>SC_name;while(stud[i].name!=SC_name&&i<n) i++;//查找判斷if(stud[i].name==SC_name) { for(intj=i;j<n+1;j++) { stud[i].num=stud[i+1].num;stud[i].name=stud[i+1].name;stud[i].sex=stud[i+1].sex;stud[i].address=stud[i+1].address;stud[i].phone=stud[i+1].phone;stud[i].english=stud[i+1].english;stud[i].math=stud[i+1].math; stud[i].physics=stud[i+1].physics; stud[i].grade1=stud[i+1].grade1; stud[i].grade2=stud[i+1].grade2; stud[i].grade3=stud[i+1].grade3; }cout<<"刪除成功!"<<endl; n=n-1; save(); }elseif(i==n) { cout<<"can'tfindthisname"<<endl; cout<<"該信息不存在,無法刪除!"<<endl; } cout<<"(是否繼續(xù)操作?(y/n))"<<endl; cin>>press; } while(press=='y'||press=='Y');}//————————————————添加學(xué)生信息——————————————————voidTJ(){ read(); do { cout<<"請?zhí)砑有碌膶W(xué)生信息"<<endl; cout<<"新的學(xué)生學(xué)號:";cin>>stud[n].num; cout<<"新學(xué)生姓名:";cin>>stud[n].name; cout<<"新學(xué)生性別:";cin>>stud[n].sex; cout<<"新學(xué)生家庭地址:";cin>>stud[n].address; cout<<"新學(xué)生的聯(lián)系方式:";cin>>stud[n].phone; cout<<"新學(xué)生的英語成績:";cin>>stud[n].english; cout<<"新學(xué)生的高數(shù)成績:";cin>>stud[n].math; cout<<"新學(xué)生的物理成績";cin>>stud[n].physics; cout<<"新學(xué)生的同學(xué)互評分";cin>>stud[n].grade1; cout<<"新學(xué)生的品德成績";cin>>stud[n].grade2; cout<<"新學(xué)生的任課教師評分";cin>>stud[n].grade3; n++; cout<<"(是否繼續(xù)操作?(y/n))"<<endl;cin>>press; } while(press=='y'||press=='Y'); cout<<"添加成功,學(xué)生資料是否保存?(y/n)"<<endl; cin>>press; switch(press) { case'y':save();break; default:cout<<"不保存!";break; }}//————————————————修改學(xué)生信息——————————————————voidXG(){ read();begin:stringfind_name; inti; cout<<"請輸入你要修改的學(xué)生名字:"<<endl; cin>>find_name; for(i=0;i<n;i++) if(stud[i].name==find_name) { cout<<stud[i].name<<""<<"hasbeenfound:"<<endl; cout<<"學(xué)生的學(xué)號:"<<stud[i].num<<"" <<"姓名:"<<stud[i].name<<"" <<"性別:"<<stud[i].sex<<"" <<"家庭住址:"<<stud[i].address<<"" <<"聯(lián)系方式:"<<stud[i].phone<<"" <<"英語成績:"<<stud[i].english<<"" <<"高數(shù)成績:"<<stud[i].math<<""<<"物理成績:"<<stud[i].physics<<"" <<"同學(xué)互評分:"<<stud[i].grade1<<"" <<"品德成績:"<<stud[i].grade2<<"" <<"任課教師評分:"<<stud[i].grade3<<endl; break; } if(stud[i].name!=find_name) { cout<<"can'tfindthisname"<<endl; cout<<"請重新查找!"<<endl; gotobegin; } cout<<"請輸入新的信息:"<<endl; cout<<"學(xué)號:"<<'';cin>>stud[i].num; cout<<"姓名:"<<'';cin>>stud[i].name; cout<<"性別:"<<'';cin>>stud[i].sex; cout<<"家庭住址:"<<'';cin>>stud[i].address;cout<<"聯(lián)系方式:"<<'';cin>>stud[i].phone;cout<<"英語成績:"<<'';cin>>stud[i].english;cout<<"物理成績:"<<'';cin>>stud[i].physics; cout<<"高數(shù)成績:"<<'';cin>>stud[i].math; cout<<"同學(xué)互評分:"<<'';cin>>stud[i].grade1; cout<<"品德成績:"<<'';cin>>stud[i].grade2; cout<<"任課教師評分:"<<'';cin>>stud[i].grade3; cout<<"修改成功,是否保存?(y/n)"<<endl; cin>>press; switch(press) { case'y':save();break; default:cout<<"不保存!";break; }}//計算考試成績并按考試成績排名voidPM1(){ read(); doubletemp[100]; for(inta=0;a<n;a++)// { stud[a].average=(stud[a].english+stud[a].math+stud[a].physics)/3; temp[a]=stud[a].average; } doublet; for(intj=0;j<n;j++)//temp中的考試成績按從大到小冒泡排序 { for(intk=0;k<n-1-j;k++) { if(temp[k]<temp[k+1]) { t=temp[k]; temp[k]=temp[k+1]; temp[k+1]=t; } } } for(intq=0;q<n;q++)//判定考試成績名次 { for(intp=0;p<n;p++) { if(stud[p].average==temp[q]) stud[p].ranking1=q+1; } } cout<<"學(xué)號"<<"姓名"<<"考試成績"<<"考試成績排名"<<endl; for(intb=0;b<n;b++) { cout<<stud[b].num; cout.width(10); cout<<stud[b].name; cout.width(10); cout<<stud[b].average; cout.width(10); cout<<stud[b].ranking1<<endl; } cout<<"是否要保存到文件中?(y/n)"<<endl; cin>>press;switch(press) { {case'y': inti; charfilename[20];cout<<"請輸入文件名:";cin>>filename;ofstreamoutfile(filename);if(!outfile) { cerr<<"openerror!"<<endl; }for(i=0;i<n;i++) { outfile<<"學(xué)號:"<<stud[i].num<<"姓名:"<<stud[i].name <<"考試成績:"<<stud[i].average<<"考試成績排名"<<stud[i].ranking1<<endl; }outfile.close(); cout<<"保存成功!"<<endl;break; }default:cout<<"不保存!";break;}}//計算綜合測評成績并按綜合測評成績排名voidPM2(){ read(); doubletemp[100]; for(inta=0;a<n;a++)// { stud[a].gradesum=((stud[a].english+stud[a].math+stud[a].physics)/3)*0.6+ stud[a].grade1*0.1+stud[a].grade2*0.1+stud[a].grade3*0.2; temp[a]=stud[a].gradesum; } doublet; for(intj=0;j<n;j++)//temp中的綜合測評成績按從大到小冒泡排序 { for(intk=0;k<n-1-j;k++) { if(temp[k]<temp[k+1]) { t=temp[k]; temp[k]=temp[k+1]; temp[k+1]=t; } } } for(intq=0;q<n;q++)//判定綜合測評成績名次 { for(intp=0;p<n;p++) { if(stud[p].gradesum==temp[q]) stud[p].ranking2=q+1; } } cout<<"學(xué)號"<<"姓名"<<"綜合測評成績"<<"綜合測評排名"<<endl; for(intb=0;b<n;b++) { cout<<stud[b].num; cout.width(10); cout<<stud[b].name; cout.width(10); cout<<stud[b].gradesum; cout.width(10); cout<<stud[b].ranking2<<endl; }}//————————————————按學(xué)生學(xué)號查找資料————————————voidsn(){ read(); do { intfind_num;cout<<"請輸入你要查詢的學(xué)號:"<<'';cin>>find_num; inti;for(i=0;i<n;i++) if(stud[i].num==find_num) { cout<<"學(xué)號為"<<stud[i].num<<"的學(xué)生的資料已找到:"<<endl; cout<<"學(xué)號:"<<stud[i].num<<'' <<"姓名:"<<stud[i].name<<'' <<"性別:"<<stud[i].sex<<'' <<"家庭地址:"<<stud[i].address<<'' <<"聯(lián)系方式:"<<stud[i].phone<<'' <<"英語成績:"<<stud[i].english<<'' <<"高數(shù)成績:"<<stud[i].math<<'' <<"物理成績:"<<stud[i].physics<<'' <<"同學(xué)互評分:"<<stud[i].grade1<<'' <<"品德成績:"<<stud[i].grade2<<'' <<"任課教師評分:"<<stud[i].grade3<<endl; break; } if(stud[i].num!=find_num) cout<<"can'tfindthisnum"<<endl; cout<<"(是否繼續(xù)操作?(y/n))"<<endl; cin>>press; } while(press=='y'||press=='Y');}//—————————————————按學(xué)生姓名查找資料————————————voidsm(){ read(); do { stringfind_name; cout<<"請輸入你要查詢的姓名:"<<''; cin>>find_name; inti; for(i=0;i<n;i++) if(stud[i].name==find_name) { cout<<"姓名為"<<stud[i].name<<"的學(xué)生的資料已找到"<<endl; cout<<"學(xué)號:"<<stud[i].num<<'' <<"姓名:"<<stud[i].name<<'' <<"性別:"<<stud[i].sex<<'' <<"家庭地址:"<<stud[i].address<<'' <<"聯(lián)系方式:"<<stud[i].phone<<'' <<"英語成績:"<<stud[i].english<<'' <<"高數(shù)成績:"<<stud[i].math<<'' <<"物理成績:"<<stud[i].physics<<'' <<"同學(xué)互評分:"<<stud[i].grade1<<'' <<"品德成績:"<<stud[i].grade2<<'' <<"任課教師評分:"<<stud[i].grade3<<endl; break; } if(stud[i].name!=find_name) cout<<"can'tfindthisname"<<endl; cout<<"(是否繼續(xù)操作?(y/n))"<<endl; cin>>press; } while(press=='y'||press=='Y');}//—————————————————學(xué)生信息管理界面—————————————voidFire(){ while(choose!=0) { cout<<"\t\t\t*************************************"<<endl; cout<<"\t\t\t*************************************"<<endl;cout<<"\t\t\t*學(xué)生信息管理*"<<endl;cout<<"\t\t\t**"<<endl;cout<<"\t\t\t*1.錄入學(xué)生信息*"<<endl;cout<<"\t\t\t*2.刪除學(xué)生信息*"<<endl;cout<<"\t\t\t*3.添加學(xué)生信息*"<<endl;cout<<"\t\t\t*4.修改學(xué)生信息*"<<endl;cout<<"\t\t\t*5.顯示學(xué)生信息*"<<endl; cout<<"\t\t\t*0.返回*"<<endl;cout<<"\t\t\t**"<<endl; cout<<"\t\t\t*按Enter繼續(xù)*"<<endl; cout<<"\t\t\t*************************************"<<endl; cout<<"\t\t\t*************************************"<<endl;cout<<"\t\t請輸入0-5之間的任意一數(shù)字:"<<''; cin>>choose;switch(choose) { case1:system("cls");SR();break; case2:system("cls");SC();break; case3:system("cls");TJ();break; case4:system("cls");XG();break; case5:system("cls");show();break; default:cout<<"\t\t輸入錯誤或返回主界面"<<'\n';break; } }}//—————————————學(xué)生成績統(tǒng)計管理界面———————————voidstatistics(){ while(choose!=0) { cout<<"\t\t\t*************************************"<<endl; cout<<"\t\t\t*************************************"<<endl;cout<<"\t\t\t*學(xué)生成績統(tǒng)計管理*"<<endl;cout<<"\t\t\t**"<<endl;cout<<"\t\t\t*1.按考試成績排名*"<<endl;cout<<"\t\t\t*2.按綜合測評排名*"<<endl; cout<<"\t\t\t*0.返回*"<<endl;cout<<"\t\t\t**"<<endl; cout<<"\t\t\t*按Enter繼續(xù)*"<<endl; cout<<"\t\t\t*************************************"<<endl; cout<<"\t\t\t*************************************"<<endl;cout<<"\t\t請輸入0-2之間的任意一數(shù)字:"<<''; cin>>choose; switch(choose) { case1:system("cls");PM1();break;case2:system("cls");PM2();break;default:cout<<"\t\t輸入錯誤或返回主界面"<<'\n';break; } }}//—————————————學(xué)生查詢管理界面—————————————voidinquiry(){ while(choose!=0) { cout<<"\t\t\t*************************************"<<endl; cout<<"\t\t\t*************************************"<<endl;cout<<"\t\t\t*學(xué)生查詢管理*"<<endl;cout<<"\t\t\t**"<<endl;cout<<"\t\t\t*1.按學(xué)號查詢*"<<endl;cout<<"\t\t\t*2.按姓名查詢*"<<endl; cout<<"\t\t\t*0.返回*"<<endl;cout<<"\t\t\t**"<<endl; cout<<"\t\t\t*按Enter繼續(xù)*"<<endl; cout<<"\t\t\t*************************************"<<endl; cout<<"\t\t\t*************************************"<<endl;cout<<"\t\t請輸入0-2之間的任意一數(shù)字:"<<''; cin>>choose;switch(choose) { case1:system("cls");sn();break;case2:system("cls");sm();break; default:cout<<"\t\t輸入錯誤或返回主界面"<<'\n';break; } }}//—————————————————關(guān)于系統(tǒng)界面———————————————voidabout(){ while(choose!=0){cout<<"\t\t******************************************************"<<endl;cout<<"\t\t關(guān)于系統(tǒng)"<<endl;cout<<""<<endl;cout<<"\t\t系統(tǒng)設(shè)計者:姓名班級學(xué)號"<<endl; cout<<""<<endl;cout<<"\t\t歐陽晗計算機(jī)05120231695"<<endl;cout<<""<<endl; cout<<"\t\t系統(tǒng)設(shè)計日期:2023.1.14至2023.1.17"<<endl;cout<<""<<endl; cout<<"\t\t系統(tǒng)仍有許多缺乏之處,敬請見諒"<<endl;cout<<""<<endl;cout<<"\t\t如發(fā)現(xiàn)錯誤,請聯(lián)系QQ339340195"<<endl;cout<<""<<endl;cout<<"\t\t按0返回:"<<endl;cout<<"\t\t******************************************************"<<endl; cin>>choose; switch(choose) { case0:break; default:break; } }}//—————————————————退出程序界面———————————————voidthanks(){ cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<"\t***************"<<endl;cout<<"\t************"<<endl;cout<<"\t**************"<<endl;cout<<"\t************"<<endl; cout<<"\t************

溫馨提示

  • 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

提交評論