學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁(yè)
學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁(yè)
學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁(yè)
學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第4頁(yè)
學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

成績(jī)?cè)u(píng)定教師簽名嘉應(yīng)學(xué)院計(jì)算機(jī)學(xué)院實(shí)驗(yàn)報(bào)告課程名稱:C++程序設(shè)計(jì)課程設(shè)計(jì)開(kāi)課學(xué)期:2023—2023學(xué)年第2學(xué)期班級(jí):計(jì)算機(jī)091班指導(dǎo)老師:馮斯苑工程題目:學(xué)生成績(jī)管理系統(tǒng)學(xué)生姓名(學(xué)號(hào)):第4組:羅維權(quán)〔2091111137〕吳煒東〔2091111114〕劉威林〔2091111133〕提交時(shí)間:一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步穩(wěn)固所學(xué)程序設(shè)計(jì)語(yǔ)言〔主要是C、C++〕的根本概念和理論;2、熟練掌握結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的方法和理念;2、培養(yǎng)實(shí)際分析問(wèn)題、實(shí)踐動(dòng)手編程的能力;3、培養(yǎng)團(tuán)隊(duì)協(xié)作精神。二、實(shí)驗(yàn)內(nèi)容本系統(tǒng)是一個(gè)學(xué)生成績(jī)管理系統(tǒng),采用VC++6.0編譯器作為開(kāi)發(fā)環(huán)境,這個(gè)環(huán)境是我們?cè)趯W(xué)習(xí)C++的平臺(tái)。輸入數(shù)據(jù)類型主要是char、int、float等數(shù)據(jù)類型,輸入內(nèi)容包括:班級(jí)、學(xué)號(hào)、姓名、數(shù)據(jù)結(jié)構(gòu)、C++程序設(shè)計(jì)、大學(xué)語(yǔ)文、大學(xué)英語(yǔ)、概率統(tǒng)計(jì)、大學(xué)體育、毛澤東思想等數(shù)據(jù)。用戶在輸入學(xué)生數(shù)據(jù)時(shí)要保證輸入數(shù)據(jù)格式的正確性,系統(tǒng)不會(huì)自動(dòng)檢測(cè)輸入的數(shù)據(jù)是否正確,可用。輸出形式與輸入形式類似,根據(jù)需要可以選擇顯示輸入的各項(xiàng)內(nèi)容,還可以選擇顯示計(jì)算好平均分后并排序后的記錄,顯示內(nèi)容包括:班級(jí)、學(xué)號(hào)、姓名、平均分等數(shù)據(jù)。用戶運(yùn)行程序后進(jìn)入系統(tǒng)主界面,在主界面用戶可以輸入所有學(xué)生的數(shù)據(jù)并保存到文件中,也可以讀取文件中已有的學(xué)生數(shù)據(jù)。用戶在保存數(shù)據(jù)的時(shí)候,如果保存位置沒(méi)有文件那么自動(dòng)新建一個(gè)文件進(jìn)行保存。本系統(tǒng)同時(shí)只能對(duì)一個(gè)數(shù)據(jù)文件進(jìn)行相關(guān)操作,不能同時(shí)翻開(kāi)多個(gè)數(shù)據(jù)文件,其類似于單用戶操作系統(tǒng)。當(dāng)用戶讀取學(xué)生數(shù)據(jù)后可對(duì)其進(jìn)行顯示,插入,刪除,修改,排序,計(jì)算平均分等相關(guān)操作。用戶在操作過(guò)程中可隨時(shí)對(duì)當(dāng)前文件進(jìn)行保存到文件操作,以防止修改的數(shù)據(jù)喪失。三、算法描述1〕主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對(duì)成績(jī)表進(jìn)行處理;2〕錄入函數(shù)Input():輸入班級(jí)到政治課成績(jī);3〕統(tǒng)計(jì)函數(shù)Statistic():計(jì)算平均成績(jī);4〕查詢函數(shù)Lookup():查詢指定學(xué)號(hào)學(xué)生成績(jī)記錄;5〕修改函數(shù)Modify():修改指定學(xué)號(hào)學(xué)生成績(jī)記錄;6〕刪除函數(shù)Delete():刪除指定學(xué)號(hào)學(xué)生記錄;7〕輸出函數(shù)Output():輸出班級(jí)所有學(xué)生成績(jī)記錄;8)排序函數(shù)Sort():按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序;9〕插入函數(shù)Insert():按平均分順序插入新記錄。四、程序結(jié)構(gòu)mainmain用戶驗(yàn)證用戶驗(yàn)證11菜單1輸入學(xué)生成績(jī)2顯示統(tǒng)計(jì)數(shù)據(jù)3查找學(xué)生成績(jī)4修改學(xué)生成績(jī)5刪除學(xué)生成績(jī)6插入學(xué)生成績(jī)7按平均分降序排列8顯示全部學(xué)生成績(jī)0退出本系統(tǒng)本系統(tǒng)1輸入學(xué)生成績(jī)2顯示統(tǒng)計(jì)數(shù)據(jù)6插入學(xué)生成績(jī)7按平均分降序排列5刪除學(xué)生成績(jī)8顯示全部學(xué)生成績(jī)3查找學(xué)生成績(jī)4修改學(xué)生成績(jī)菜單代碼0退出本系統(tǒng)圖2程序總體框架五、程序技巧或創(chuàng)新在main〔〕函數(shù)中主要是通過(guò)〞switch(menu())〞選擇判斷來(lái)調(diào)用相關(guān)功能模塊。系統(tǒng)的運(yùn)行是在一個(gè)永真的循環(huán)里進(jìn)行的,只有在主界面并選擇“退出本系統(tǒng)〞時(shí),才會(huì)跳出永真循環(huán),并退出程序。主函數(shù)代碼為:voidmain()/*主函數(shù)*/{ for(;;) { switch(menu())/*選擇判斷*/ { case1: Input(stud);/*輸入學(xué)生成績(jī)*/ break; case2: Statistic(stud);/*輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)*/ break; case3: Lookup(stud);/*查找學(xué)生成績(jī)*/ cout<<"\t\t\t"; system("pause"); break; case4: Modify(stud);/*修改學(xué)生成績(jī)*/ cout<<"\t\t\t"; system("pause"); break; case5: Delete(stud);/*按學(xué)號(hào)查找,刪除學(xué)生信息*/ cout<<"\t\t\t"; system("pause"); break; case6: Insert(stud);/*增加學(xué)生成績(jī)*/ cout<<"\t\t\t"; system("pause"); break; case7: Sort(stud);/*按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序*/ cout<<"\t\t\t"; system("pause"); break; case8: Output(stud);/*顯示全部學(xué)生成績(jī)*/ cout<<"\t\t\t"; system("pause"); break; case0: cout<<endl<<"================================<<感謝您使用學(xué)生成績(jī)管理系統(tǒng)>>===============================\n"<<endl;/*結(jié)束程序*/ cout<<"\t\t\t"; system("pause"); exit(0); } }}主界面的設(shè)計(jì):在主界面中包括“輸入學(xué)生成績(jī)顯示統(tǒng)計(jì)數(shù)據(jù)查找學(xué)生成績(jī)修改學(xué)生成績(jī)刪除學(xué)生成績(jī)插入學(xué)生成績(jī)按平均分降序排列顯示全部學(xué)生成績(jī)退出本系統(tǒng)〞等全部的功能,之所以設(shè)計(jì)這么一個(gè)主界面,一是因?yàn)槟苁褂脩魧?duì)程序操作的流程更加清楚簡(jiǎn)明,二是保證了用戶同時(shí)只能對(duì)一個(gè)文件進(jìn)行操作的系統(tǒng)要求,保證了系統(tǒng)不會(huì)發(fā)生翻開(kāi)文件紊亂或者出現(xiàn)致命錯(cuò)誤。每個(gè)函數(shù)的具體功能:1〕主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對(duì)成績(jī)表進(jìn)行處理;2〕錄入函數(shù)Input():輸入班級(jí)到政治課成績(jī);3〕統(tǒng)計(jì)函數(shù)Statistic():計(jì)算平均成績(jī);4〕查詢函數(shù)Lookup():查詢指定學(xué)號(hào)學(xué)生成績(jī)記錄;5〕修改函數(shù)Modify():修改指定學(xué)號(hào)學(xué)生成績(jī)記錄;6〕刪除函數(shù)Delete():刪除指定學(xué)號(hào)學(xué)生記錄;7〕輸出函數(shù)Output():輸出班級(jí)所有學(xué)生成績(jī)記錄;8)排序函數(shù)Sort():按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序;9〕插入函數(shù)Insert():按平均分順序插入新記錄六、程序清單〔另附電子版〕#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>#include<iomanip.h>classStu//構(gòu)建學(xué)生類{public: friendvoidInput(Stustud[]); friendvoidStatistic(Stustud[]); friendvoidLookup(Stustud[]); friendvoidModify(Stustud[]); friendvoidDelete(Stustud[]); friendvoidOutput(Stustud[]); friendvoidSort(Stustud[]); friendvoidInsert(Stustud[]); friendvoidWrite(Stustud[],intn);friendintRead(Stustud[]); friendvoidwelcome();private: charclass_0[20]; intnum; charname[8]; floatelec; floatc_program; floatmedia; floatenglish; floatmath; floatsport; floatpolity; floataverage; intorder;}stud[100];voidwelcome()//驗(yàn)證用戶登陸,登陸成功顯示歡送信息{charname[4],code[7];cout<<endl;cout<<endl;cout<<"▲****************************************▲\n";cout<<"△歡送使用本學(xué)生成績(jī)管理系統(tǒng)!△\n";cout<<"▲****************************************▲\n";cout<<"編程人員:羅維權(quán)劉威林吳煒東"<<endl;cout<<endl;cout<<"請(qǐng)輸入用戶名和密碼:\n";cout<<"帳號(hào):";cin>>name;cout<<"密碼:";cin>>code;while((strcmp(name,"1111")!=0)||(strcmp(code,"0000")!=0)){cout<<"用戶名或密碼輸入有誤,請(qǐng)重新輸入!\n";cin>>name>>code;}cout<<endl;cout<<endl;cout<<"▲***************************▲\n";cout<<"△歡送使用***系統(tǒng)!△\n";cout<<"▲***************************▲\n";cout<<endl;}voidWrite(Stustud[],intn)//向文件中寫(xiě)入數(shù)據(jù){ fstreammyFile; myFile.open("student.dat",ios::out|ios::binary); if(!myFile) { cout<<"student.datcan'topen!"<<endl; abort(); } intcount=n; myFile<<count<<endl<<endl; for(inti=0;i<=count;i++) { myFile<<stud[i].class_0<<""<<stud[i].num<<""<<stud[i].name<<""<<stud[i].elec<<""<<stud[i].c_program<<""<<stud[i].media<<""<<stud[i].english<<""<<stud[i].math<<""<<stud[i].sport<<""<<stud[i].polity<<""<<stud[i].average<<endl; }myFile.close();}intRead(Stustud[])//從文件中讀數(shù)據(jù){fstreammyFile;myFile.open("student.dat",ios::in|ios::binary); if(!myFile) { cout<<"student.datcan'topen!"<<endl; abort(); } intcount; myFile.seekg(0);myFile>>count; for(inti=0;i<=count;i++) {myFile>>stud[i].class_0>>stud[i].num>>stud[i].name>>stud[i].elec>>stud[i].c_program>>stud[i].media>>stud[i].english>>stud[i].math>>stud[i].sport>>stud[i].polity>>stud[i].average; }myFile.close();returncount;}voidInput(Stustud[])//---------------輸入學(xué)生成績(jī){ system("cls");/*運(yùn)行前清屏*/ inti=0; intflag; charsign; cout<<endl<<"====>>請(qǐng)輸入學(xué)生成績(jī)<<===="<<endl; while(sign!='n'&&sign!='N')/*判斷*/ { cout<<" 班級(jí):";/*交互輸入*/ cin>>stud[i].class_0;loop: cout<<" 學(xué)號(hào):"; cin>>stud[i].num; intc=0; while(c<i) { c++; if(stud[i].num==stud[i-c].num) { cout<<"你輸入的學(xué)號(hào)已經(jīng)存在!請(qǐng)重新輸入。"<<endl; gotoloop; } } cout<<" 姓名:"; cin>>stud[i].name; do{ flag=0; cout<<" 數(shù)據(jù)結(jié)構(gòu)成績(jī):";cin>>stud[i].elec;if(stud[i].elec>100||stud[i].elec<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" C++程序設(shè)計(jì)成績(jī):"; cin>>stud[i].c_program;if(stud[i].c_program>100||stud[i].c_program<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 大學(xué)語(yǔ)文成績(jī):"; cin>>stud[i].media;if(stud[i].media>100||stud[i].media<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 大學(xué)英語(yǔ)成績(jī):"; cin>>stud[i].english;if(stud[i].english>100||stud[i].english<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 概率統(tǒng)計(jì)成績(jī):"; cin>>stud[i].math;if(stud[i].math>100||stud[i].math<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 大學(xué)體育成績(jī):"; cin>>stud[i].sport;if(stud[i].sport>100||stud[i].sport<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 毛澤東思想成績(jī):"; cin>>stud[i].polity;if(stud[i].polity>100||stud[i].polity<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";elseflag=1; }while(flag==0); stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; cout<<" 平均分為:"<<stud[i].average<<endl; cout<<"====>提示:是否繼續(xù)寫(xiě)入學(xué)生成績(jī)?(Y/N)"; cin>>sign;/*輸入判斷*/ i++; } Write(stud,i);}voidStatistic(Stustud[])//---------------統(tǒng)計(jì)學(xué)生數(shù)據(jù){system("cls");/*運(yùn)行前清屏*/intn=Read(stud); cout<<endl<<"====>>輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)<<===="<<endl;cout<<"班級(jí)"<<""<<"學(xué)號(hào)"<<""<<"姓名"<<""<<"平均分"<<endl;for(inti=0;i<n;i++)cout<<stud[i].class_0<<""<<stud[i].num<<""<<stud[i].name<<""<<stud[i].average<<endl;system("pause");}voidLookup(Stustud[])//---------------查找學(xué)生成績(jī){ system("cls");/*運(yùn)行前清屏*/intn=Read(stud); ints; inti=0; cout<<endl<<"====>>查找學(xué)生成績(jī)<<===="<<endl; cout<<"請(qǐng)輸入需要查找學(xué)生的學(xué)號(hào):"<<endl; cin>>s; while((stud[i].num-s)!=0&&i<n)i++;/*查找判斷*/ if(i==n) { cout<<"=====>提示:對(duì)不起,無(wú)法找到該學(xué)生的信息!"<<endl;/*輸入失敗信息*/ } else { cout<<"---------------------------"<<endl; cout<<"班級(jí):"<<stud[i].class_0<<endl;/*輸出該學(xué)生信息*/ cout<<"學(xué)號(hào):"<<stud[i].num<<endl; cout<<"姓名:"<<stud[i].name<<endl; cout<<"數(shù)據(jù)結(jié)構(gòu):"<<stud[i].elec<<endl; cout<<"C++程序設(shè)計(jì):"<<stud[i].c_program<<endl; cout<<"大學(xué)語(yǔ)文:"<<stud[i].media<<endl; cout<<"大學(xué)英語(yǔ):"<<stud[i].english<<endl; cout<<"概率統(tǒng)計(jì):"<<stud[i].math<<endl; cout<<"大學(xué)體育:"<<stud[i].sport<<endl; cout<<"毛澤東思想:"<<stud[i].polity<<endl; cout<<"平均分:"<<stud[i].average<<endl; }}voidModify(Stustud[])//---------------修改學(xué)生成績(jī){ system("cls");/*運(yùn)行前清屏*/intn=Read(stud); ints; inti=0; cout<<endl<<"====>>修改學(xué)生成績(jī)<<===="<<endl; cout<<"請(qǐng)輸入需要修改成績(jī)學(xué)生的學(xué)號(hào):"<<endl; cin>>s; while((stud[i].num-s)!=0&&i<n)i++;/*查找判斷*/ if(i==n) { cout<<"=====>提示:對(duì)不起,無(wú)該學(xué)生的成績(jī)……"<<endl;/*輸入失敗信息*/ } else { cout<<"----------該學(xué)生的信息----------"<<endl;/*格式頭*/ cout<<"班級(jí)"<<""<<"學(xué)號(hào)"<<""<<"姓名"<<""<<"數(shù)據(jù)"<<""<<"c++"<<""<<"語(yǔ)文"<<""<<"英語(yǔ)"<<""<<"概率"<<""<<"體育"<<""<<"政治"<<""<<"平均分"<<endl; cout<<"---------------------------------"<<endl; cout<<stud[i].class_0<<""<<stud[i].num<<""<<stud[i].name<<""<<stud[i].elec<<""<<stud[i].c_program<<""<<stud[i].media<<""<<stud[i].english<<""<<stud[i].math<<""<<stud[i].sport<<""<<stud[i].polity<<""<<stud[i].average<<endl; cout<<"請(qǐng)重新輸入該學(xué)生的信息"<<endl; cout<<"班級(jí):"<<endl;/*交互輸入*/ cin>>stud[i].class_0; cout<<"學(xué)號(hào):"<<endl; cin>>stud[i].num; cout<<"姓名:"<<endl; cin>>stud[i].name; cout<<"數(shù)據(jù)結(jié)構(gòu)成績(jī):"<<endl; cin>>stud[i].elec; cout<<"C++程序設(shè)計(jì)成績(jī):"<<endl; cin>>stud[i].c_program; cout<<"大學(xué)語(yǔ)文成績(jī):"<<endl; cin>>stud[i].media; cout<<"大學(xué)英語(yǔ)成績(jī):"<<endl; cin>>stud[i].english; cout<<"概率統(tǒng)計(jì)成績(jī):"<<endl; cin>>stud[i].math; cout<<"大學(xué)體育成績(jī):"<<endl; cin>>stud[i].sport; cout<<"毛澤東思想成績(jī):"<<endl; cin>>stud[i].polity; stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; cout<<"平均分為:"<<stud[i].average<<endl; charc; cout<<"是否保存數(shù)據(jù)?(y/n)"<<endl; cin>>c; if(c!='n'&&c!='N') Write(stud,n); }}voidDelete(Stustud[])//---------------按學(xué)號(hào)查找,刪除學(xué)生信息{ system("cls");/*運(yùn)行前清屏*/ intn=Read(stud); ints; inti=0,j; cout<<endl<<"====>>刪除學(xué)生成績(jī)<<===="<<endl; cout<<"請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào):"<<endl;/*交互式問(wèn)尋*/ cin>>s; while((stud[i].num-s)!=0&&i<n)i++;/*查找判斷*/ if(i==n) { cout<<"====>提示:對(duì)不起,無(wú)法找到該學(xué)生……"<<endl;/*返回失敗信息*/ } else { for(j=i;j<n-1;j++)/*刪除操作*/ { strcpy(stud[j].class_0,stud[j+1].class_0); stud[j].num=stud[j+1].num; strcpy(stud[j].name,stud[j+1].name); stud[j].elec=stud[j+1].elec; stud[j].c_program=stud[j+1].c_program; stud[j].media=stud[j+1].media; stud[j].english=stud[j+1].english; stud[j].math=stud[j+1].math; stud[j].sport=stud[j+1].sport; stud[j].polity=stud[j+1].polity; stud[j].average=stud[j+1].average; } cout<<"====>提示:已成功刪除!"<<endl;/*返回成功信息*/ } Write(stud,n-1);}voidInsert(Stustud[])//---------------增加學(xué)生成績(jī){ system("cls");/*運(yùn)行前清屏*/ intn=Read(stud); chars; cout<<endl<<"====>>增加學(xué)生成績(jī)<<===="<<endl; while(s!='n'&&s!='N') { cout<<"班級(jí):"<<endl;/*交互輸入*/cin>>stud[n].class_0;cout<<"學(xué)號(hào):";cin>>stud[n].num;cout<<"姓名:";cin>>stud[n].name; cout<<"數(shù)據(jù)結(jié)構(gòu)成績(jī):"; cin>>stud[n].elec; cout<<"C++程序設(shè)計(jì)成績(jī):"; cin>>stud[n].c_program; cout<<"大學(xué)語(yǔ)文成績(jī):"; cin>>stud[n].media; cout<<"大學(xué)英語(yǔ)成績(jī):"; cin>>stud[n].english; cout<<"概率統(tǒng)計(jì)成績(jī):"; cin>>stud[n].math; cout<<"大學(xué)體育成績(jī):"; cin>>stud[n].sport; cout<<"毛澤東思想成績(jī):"; cin>>stud[n].polity; stud[n].average=(stud[n].elec+stud[n].c_program+stud[n].media+stud[n].english+stud[n].math+stud[n].sport+stud[n].polity)/7; cout<<"平均分"<<stud[n].average; n++; cout<<"=====>提示:插入成功!"<<endl;/*返回成功信息*/ cout<<"是否繼續(xù)輸入(y/n)"<<endl; cin>>s; } Write(stud,n);}voidSort(Stustud[])//---------------按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序{ system("cls");/*運(yùn)行前清屏*/ inti,j,k; floats; chart[20]; cout<<endl<<"====>>降序排序成績(jī)<<===="<<endl; intn=Read(stud); for(i=0;i<n-1;i++)/*冒泡法排序*/ for(j=0;j<n-1-i;j++) if(stud[j].average<stud[j+1].average) { strcpy(t,stud[j+1].class_0); strcpy(stud[j+1].class_0,stud[j].class_0); strcpy(stud[j].class_0,t); k=stud[j+1].num; stud[j+1].num=stud[j].num; stud[j].num=k; strcpy(t,stud[j+1].name); strcpy(stud[j+1].name,stud[j].name); strcpy(stud[j].name,t); s=stud[j+1].elec; stud[j+1].elec=stud[j].elec; stud[j].elec=s; s=stud[j+1].c_program; stud[j+1].c_program=stud[j].c_program; stud[j].c_program=s; s=stud[j+1].media; stud[j+1].media=stud[j].media; stud[j].media=s; s=stud[j+1].english; stud[j+1].english=stud[j].english; stud[j].english=s; s=stud[j+1].math; stud[j+1].math=stud[j].math; stud[j].math=s; s=stud[j+1].sport; stud[j+1].sport=stud[j].sport; stud[j].sport=s; s=stud[j+1].polity; stud[j+1].polity=stud[j].polity; stud[j].polity=s; s=stud[j+1].average; stud[j+1].average=stud[j].average; stud[j].average=s; } cout<<"----------------------------------------------------"<<endl;/*格式頭*/ cout<<setw(6)<<"班級(jí)"<<setw(6)<<"學(xué)號(hào)"<<setw(6)<<"姓名"<<setw(6)<<"數(shù)據(jù)"<<setw(6)<<"C++"<<setw(6)<<"語(yǔ)文"<<setw(6)<<"英語(yǔ)"<<setw(6)<<"概率"<<setw(6)<<"體育"<<setw(6)<<"政治"<<""<<setw(6)<<"平均分"<<setw(6)<<"名次"<<endl; cout<<"----------------------------------------------------"<<endl; for(i=0;i<n;i++)/*循環(huán)輸入*/ { stud[i].order=i+1; cout<<setw(6)<<stud[i].class_0<<setw(6)<<stud[i].num<<setw(6)<<stud[i].name<<setw(6)<<stud[i].elec<<setw(6)<<stud[i].c_program<<setw(6)<<stud[i].media<<setw(6)<<stud[i].english<<setw(6)<<stud[i].math<<setw(6)<<stud[i].sport<<setw(6)<<stud[i].polity<<""<<setw(6)<<setprecision(4)<<stud[i].average<<setw(6)<<stud[i].order<<endl; } Write(stud,n);}voidOutput(Stustud[])//---------------顯示全部學(xué)生成績(jī){ system("cls");/*運(yùn)行前清屏*/ intn=Read(stud); cout<<endl<<"====>>顯示全部學(xué)生成績(jī)<<===="<<endl; if(!stud) cout<<"沒(méi)有記錄"; else { cout<<"----------------------------------------------------"<<endl;/*格式頭*/ cout<<setw(6)<<"班級(jí)"<<setw(6)<<"學(xué)號(hào)"<<setw(6)<<"姓名"<<setw(6)<<"數(shù)據(jù)"<<setw(6)<<"C++"<<setw(6)<<"語(yǔ)文"<<setw(6)<<"英語(yǔ)"<<setw(6)<<"概率"<<setw(6)<<"體育"<<setw(6)<<"政治"<<""<<setw(6)<<"平均分"<<endl; cout<<"------------------------------------------------"<<endl; for(inti=0;i<n;i++)/*循環(huán)輸入*/ { cout<<setw(6)<<stud[i].class_0<<setw(6)<<stud[i].num<<setw(6)<<stud[i].name<<setw(6)<<stud[i].elec<<setw(6)<<stud[i].c_program<<setw(6)<<stud[i].media<<setw(6)<<stud[i].english<<setw(6)<<stud[i].math<<setw(6)<<stud[i].sport<<setw(6)<<stud[i].polity<<""<<setw(6)<<setprecision(4)<<stud[i].average<<endl; }cout<<"--------------------------------------------------------"<<endl; }}intmenu()/*菜單函數(shù)*/{ charc; do { voidwelcome(); system("cls");/*運(yùn)行前清屏*/ cout<<"*************************************************************\n"<<endl;cout<<"-----------------<<歡送您使用學(xué)生成績(jī)管理系統(tǒng)--------------\n"<<endl; cout<<"編程人員:羅維權(quán)劉威林吳煒東"<<endl;cout<<"*******************************************\n\n"<<endl;/*菜單項(xiàng)選擇擇*/cout<<"*【1】輸入學(xué)生成績(jī)*"<<endl; cout<<"*【2】顯示統(tǒng)計(jì)數(shù)據(jù)*"<<endl; cout<<"*【3】查找學(xué)生成績(jī)*"<<endl; cout<<"*【4】修改學(xué)生成績(jī)*"<<endl; cout<<"*【5】刪除學(xué)生成績(jī)*"<<endl; cout<<"*【6】插入學(xué)生成績(jī)*"<<endl; cout<<"*【7】按平均分降序排列*"<<endl; cout<<"*【8】顯示全部學(xué)生成績(jī)*"<<endl; cout<<"*【0】退出本系統(tǒng)*"<<endl<<endl; cout<<"***************************************************************"<<endl; cout<<"請(qǐng)你選擇操作(0-8):"<<endl; c=getchar();/*讀入選擇*/ } while(c<'0'||c>'8'); return(c-'0');/*返回選擇*/}voidmain()/*主函數(shù)*/{ welcome(); for(;;) { switch(menu())/*選擇判斷*/ { case1: Input(stud);/*輸入學(xué)生成績(jī)*/ break; case2: Statistic(stud);/*輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)*/ break; case3: Lookup(stud);/*查找學(xué)生成績(jī)*/ cout<<"\t\t\t"; system("pause"); break;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論