版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 實(shí)驗(yàn)報(bào)告</b></p><p><b> 一、實(shí)驗(yàn)?zāi)康?lt;/b></p><p> 1、進(jìn)一步鞏固所學(xué)程序設(shè)計(jì)語(yǔ)言(主要是C、C++)的基本概念和理論;</p><p> 2、熟練掌握結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的方法和理念;</p><p> 2、培養(yǎng)實(shí)際
2、分析問(wèn)題、實(shí)踐動(dòng)手編程的能力;</p><p> 3、培養(yǎng)團(tuán)隊(duì)協(xié)作精神。</p><p><b> 二、實(shí)驗(yàn)內(nèi)容</b></p><p> 本系統(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é)
3、構(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ù)。用戶在保
4、存數(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ù)丟失。</p><p><b> 三、算法描述</b></p><p
5、> 1)主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對(duì)成績(jī)表進(jìn)行處理;</p><p> 2)錄入函數(shù)Input():輸入班級(jí)到政治課成績(jī);</p><p> 3)統(tǒng)計(jì)函數(shù)Statistic():計(jì)算平均成績(jī);</p><p> 4)查詢函數(shù)Lookup():查詢指定學(xué)號(hào)學(xué)生成績(jī)記錄;</p><p> 5)修
6、改函數(shù)Modify():修改指定學(xué)號(hào)學(xué)生成績(jī)記錄;</p><p> 6)刪除函數(shù)Delete():刪除指定學(xué)號(hào)學(xué)生記錄;</p><p> 7)輸出函數(shù)Output():輸出班級(jí)所有學(xué)生成績(jī)記錄;</p><p> 8) 排序函數(shù)Sort():按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序;</p><p> 9)插入函數(shù)Insert():按
7、平均分順序插入新記錄。</p><p><b> 四、程序結(jié)構(gòu)</b></p><p><b> 五、程序技巧或創(chuàng)新</b></p><p> 在main()函數(shù)中主要是通過(guò)”switch(menu())”選擇判斷來(lái)調(diào)用相關(guān)功能模塊。系統(tǒng)的運(yùn)行是在一個(gè)永真的循環(huán)里進(jìn)行的,只有在主界面并選擇“退出本系統(tǒng)”時(shí),才會(huì)跳出永
8、真循環(huán),并退出程序。主函數(shù)代碼為:void main() /*主函數(shù)*/ </p><p><b> { </b></p><p><b> for(;;) </b></p><p><b> { </b></p><p> switch(menu()) /*選擇判斷*
9、/ </p><p><b> { </b></p><p><b> case 1: </b></p><p> Input(stud);/*輸入學(xué)生成績(jī)*/ </p><p><b> break; </b></p><p><b&
10、gt; case 2: </b></p><p> Statistic(stud); /*輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)*/ </p><p><b> break;</b></p><p> case 3: </p><p> Lookup(stud); /*查找學(xué)生成績(jī)*/</p><
11、p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b> break; </b></p><p><b> case 4: </b></p><p> Modify(s
12、tud); /*修改學(xué)生成績(jī)*/</p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b> break; </b></p><p><b> case 5: </b>
13、</p><p> Delete(stud); /*按學(xué)號(hào)查找,刪除學(xué)生信息*/ </p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b> break; </b></p>
14、<p><b> case 6: </b></p><p> Insert(stud);/*增加學(xué)生成績(jī)*/ </p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b>
15、; break; </b></p><p><b> case 7: </b></p><p> Sort(stud); /*按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序*/ </p><p> cout<<"\t\t\t"; </p><p> system("
16、;pause"); </p><p><b> break; </b></p><p><b> case 8: </b></p><p> Output(stud); /*顯示全部學(xué)生成績(jī)*/</p><p> cout<<"\t\t\t"; &
17、lt;/p><p> system("pause"); </p><p><b> break; </b></p><p><b> case 0: </b></p><p> cout<<endl<<" ==================
18、==============<<感謝您使用學(xué)生成績(jī)管理系統(tǒng)>>===============================\n"<<endl; /*結(jié)束程序*/ </p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p>
19、<p><b> exit(0); </b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> 主界面的設(shè)計(jì):</b>
20、;</p><p> 在主界面中包括“輸入學(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ù)的具體功能:</p>
21、;<p> 1)主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對(duì)成績(jī)表進(jìn)行處理;</p><p> 2)錄入函數(shù)Input():輸入班級(jí)到政治課成績(jī);</p><p> 3)統(tǒng)計(jì)函數(shù)Statistic():計(jì)算平均成績(jī);</p><p> 4)查詢函數(shù)Lookup():查詢指定學(xué)號(hào)學(xué)生成績(jī)記錄;</p><p&
22、gt; 5)修改函數(shù)Modify():修改指定學(xué)號(hào)學(xué)生成績(jī)記錄;</p><p> 6)刪除函數(shù)Delete():刪除指定學(xué)號(hào)學(xué)生記錄;</p><p> 7)輸出函數(shù)Output():輸出班級(jí)所有學(xué)生成績(jī)記錄;</p><p> 8) 排序函數(shù)Sort():按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序;</p><p> 9)插入函數(shù)In
23、sert():按平均分順序插入新記錄</p><p> 六、程序清單(另附電子版)</p><p> #include<iostream.h></p><p> #include<fstream.h></p><p> #include<stdlib.h></p><p>
24、 #include<string.h></p><p> #include<stdio.h></p><p> #include<iomanip.h></p><p> class Stu //構(gòu)建學(xué)生類</p><p><b> {</b></p>
25、<p><b> public:</b></p><p> friend void Input(Stu stud[]) ;</p><p> friend void Statistic(Stu stud[]);</p><p> friend void Lookup(Stu stud[]) ;</p><
26、p> friend void Modify(Stu stud[]) ;</p><p> friend void Delete(Stu stud[]) ;</p><p> friend void Output(Stu stud[]) ;</p><p> friend void Sort(Stu stud[]) ;</p><p&
27、gt; friend void Insert(Stu stud[]) ;</p><p> friend void Write(Stu stud[],int n);</p><p> friend int Read(Stu stud[]);</p><p> friend void welcome();</p><p><b&g
28、t; private:</b></p><p> char class_0[20];</p><p><b> int num;</b></p><p> char name[8];</p><p> float elec;</p><p> float c_program
29、;</p><p> float media;</p><p> float english;</p><p> float math;</p><p> float sport;</p><p> float polity;</p><p> float average;</
30、p><p> int order;</p><p> }stud[100];</p><p> void welcome() //驗(yàn)證用戶登陸,登陸成功顯示歡迎信息</p><p><b> {</b></p><p> char name[4],code[7];</p>&
31、lt;p> cout<<endl;</p><p> cout<<endl;</p><p> cout<<" ▲****************************************▲\n"; </p><p> cout<<"
32、; △ 歡迎使用本學(xué)生成績(jī)管理系統(tǒng)!△\n"; </p><p> cout<<" ▲****************************************▲\n"; </p><p> cout<<"編程人員:羅維權(quán) 劉威林
33、吳煒東"<<endl;</p><p> cout<<endl;</p><p> cout<<"請(qǐng)輸入用戶名和密碼:\n"; </p><p> cout<<"帳號(hào):";</p><p> cin>>name;</p&
34、gt;<p> cout<<"密碼:";</p><p> cin>>code;</p><p> while((strcmp(name,"1111")!=0)||(strcmp(code,"0000")!=0))</p><p><b> {<
35、/b></p><p> cout<<"用戶名或密碼輸入有誤,請(qǐng)重新輸入!\n";</p><p> cin>>name>>code;</p><p><b> }</b></p><p> cout<<endl;</p>&
36、lt;p> cout<<endl;</p><p> cout<<" ▲***************************▲\n"; </p><p> cout<<" △ 歡迎使用***系統(tǒng)!△\n";
37、</p><p> cout<<" ▲***************************▲\n"; </p><p> cout<<endl;</p><p><b> }</b></p><p> void Write(S
38、tu stud[],int n) //向文件中寫入數(shù)據(jù)</p><p><b> {</b></p><p> fstream myFile;</p><p> myFile.open("student.dat",ios::out|ios::binary);</p><p> if(!myF
39、ile)</p><p><b> {</b></p><p> cout<<"student.dat can't open!"<<endl;</p><p><b> abort();</b></p><p><b> }<
40、;/b></p><p> int count=n;</p><p> myFile<<count<<endl<<endl;</p><p> for(int i=0;i<=count;i++)</p><p><b> {</b></p><p
41、> myFile<<stud[i].class_0<<" "<<stud[i].num<<" "<<stud[i].name<<" "<<stud[i].elec<<" "<<stud[i].c_program<<" &q
42、uot;<<stud[i].media<<" "<<stud[i].english</p><p> <<" "<<stud[i].math<<" "<<stud[i].sport<<" "<<stud[i].polity&l
43、t;<" "<<stud[i].average<<endl;</p><p><b> }</b></p><p> myFile.close();</p><p><b> }</b></p><p> int Read(Stu stud[
44、]) //從文件中讀數(shù)據(jù)</p><p><b> {</b></p><p> fstream myFile;</p><p> myFile.open("student.dat",ios::in|ios::binary);</p><p> if(!myFile)</p>
45、<p><b> {</b></p><p> cout<<"student.dat can't open!"<<endl;</p><p><b> abort();</b></p><p><b> }</b></p>
46、;<p> int count;</p><p> myFile.seekg(0);</p><p> myFile>>count;</p><p> for(int i=0;i<=count;i++)</p><p><b> { </b></p><p
47、> 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].
48、polity>>stud[i].average;</p><p><b> }</b></p><p> myFile.close();</p><p> return count ;</p><p><b> }</b></p><p> void I
49、nput(Stu stud[]) //---------------輸入學(xué)生成績(jī)</p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p><b> int i=0;</b></p><p><b>
50、; int flag;</b></p><p> char sign;</p><p> cout<<endl<<"====>> 請(qǐng)輸入學(xué)生成績(jī) <<===="<<endl;</p><p> while(sign!='n'&&sign
51、!='N') /*判斷*/ </p><p><b> { </b></p><p> cout<<"班級(jí):"; /*交互輸入*/ </p><p> cin>>stud[i].class_0; </p><p><b> loop:<
52、/b></p><p> cout<<"學(xué)號(hào):"; </p><p> cin>>stud[i].num;</p><p><b> int c=0;</b></p><p> while(c<i)</p><p><b>
53、; {</b></p><p><b> c++;</b></p><p> if(stud[i].num==stud[i-c].num)</p><p><b> {</b></p><p> cout<<" 你輸入的學(xué)號(hào)已經(jīng)存在!請(qǐng)重新輸入。"
54、;<<endl;</p><p> goto loop;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<"姓名:"; </p><p> cin>&g
55、t;stud[i].name; </p><p><b> do{</b></p><p><b> flag=0;</b></p><p> cout<<"數(shù)據(jù)結(jié)構(gòu)成績(jī):"; </p><p> cin>>stud[i].elec; </
56、p><p> if(stud[i].elec>100 ||stud[i].elec<1) </p><p> cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n"; </p><p><b> else </b></p><p><b> flag=1;&l
57、t;/b></p><p> }while(flag==0); </p><p><b> do{ </b></p><p><b> flag=0;</b></p><p> cout<<"C++程序設(shè)計(jì)成績(jī):"; </p><
58、p> cin>>stud[i].c_program; </p><p> if(stud[i].c_program>100 ||stud[i].c_program<1) </p><p> cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n"; </p><p><b> else
59、 </b></p><p><b> flag=1;</b></p><p> }while(flag==0); </p><p><b> do{</b></p><p><b> flag=0;</b></p><p> co
60、ut<<"大學(xué)語(yǔ)文成績(jī):"; </p><p> cin>>stud[i].media; </p><p> if(stud[i].media>100 ||stud[i].media<1) </p><p> cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n";
61、</p><p><b> else </b></p><p><b> flag=1;</b></p><p> }while(flag==0); </p><p><b> do{</b></p><p><b> flag=0
62、;</b></p><p> cout<<"大學(xué)英語(yǔ)成績(jī):"; </p><p> cin>>stud[i].english; </p><p> if(stud[i].english>100 ||stud[i].english<1) </p><p> cout&
63、lt;<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n"; </p><p><b> else </b></p><p><b> flag=1;</b></p><p> }while(flag==0); </p><p><b> do{</b
64、></p><p><b> flag=0;</b></p><p> cout<<"概率統(tǒng)計(jì)成績(jī):"; </p><p> cin>>stud[i].math;</p><p> if(stud[i].math>100 ||stud[i].math<
65、;1) </p><p> cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n"; </p><p><b> else </b></p><p><b> flag=1;</b></p><p> }while(flag==0); </p>
66、<p><b> do{</b></p><p><b> flag=0;</b></p><p> cout<<"大學(xué)體育成績(jī):"; </p><p> cin>>stud[i].sport; </p><p> if(stu
67、d[i].sport>100 ||stud[i].sport<1) </p><p> cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n"; </p><p><b> else </b></p><p><b> flag=1;</b></p>&l
68、t;p> }while(flag==0); </p><p><b> do{</b></p><p><b> flag=0;</b></p><p> cout<<"毛澤東思想成績(jī):"; </p><p> cin>>stud[i]
69、.polity; </p><p> if(stud[i].polity>100 ||stud[i].polity<1) </p><p> cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!\n"; </p><p><b> else </b></p><p>&l
70、t;b> flag=1;</b></p><p> }while(flag==0); </p><p> 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; </p&
71、gt;<p> cout<<"平均分為:"<<stud[i].average<<endl; </p><p> cout<<"====>提示:是否繼續(xù)寫入學(xué)生成績(jī)?(Y/N)"; </p><p> cin>>sign; /*輸入判斷*/ </p>
72、<p><b> i++; </b></p><p><b> } </b></p><p> Write(stud,i);</p><p><b> }</b></p><p> void Statistic(Stu stud[]) //-----
73、----------統(tǒng)計(jì)學(xué)生數(shù)據(jù)</p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p> int n=Read(stud);</p><p> cout<<endl<<"====>>
74、; 輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù) <<===="<<endl;</p><p> cout<<"班級(jí)"<<" "<<"學(xué)號(hào)"<<" "<<" 姓名"<<" "<<" 平均分&qu
75、ot;<<endl;</p><p> for(int i=0;i<n;i++)</p><p> cout<<stud[i].class_0<<" "<<stud[i].num<<" "<<stud[i].name<<" "&l
76、t;<stud[i].average<<endl;</p><p> system("pause"); </p><p><b> }</b></p><p> void Lookup(Stu stud[]) //---------------查找學(xué)生成績(jī) </p><p>&
77、lt;b> { </b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p> int n=Read(stud);</p><p><b> int s; </b></p><p><b> int i=0;</b>&l
78、t;/p><p> cout<<endl<<"====>> 查找學(xué)生成績(jī) <<===="<<endl;</p><p> cout<<"請(qǐng)輸入需要查找學(xué)生的學(xué)號(hào):"<<endl; </p><p><b> cin>>s
79、; </b></p><p> while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p><p><b> if(i==n) </b></p><p><b> { </b></p><p> cout<<
80、;"=====>提示:對(duì)不起,無(wú)法找到該學(xué)生的信息!"<<endl; /*輸入失敗信息*/ </p><p><b> } </b></p><p><b> else</b></p><p><b> {</b></p><p>
81、 cout<<"---------------------------"<<endl; </p><p> cout<<"班級(jí):"<<stud[i].class_0<<endl; /*輸出該學(xué)生信息*/ </p><p> cout<<"學(xué)號(hào):"<&
82、lt;stud[i].num<<endl; </p><p> cout<<"姓名:"<<stud[i].name<<endl; </p><p> cout<<"數(shù)據(jù)結(jié)構(gòu):"<<stud[i].elec<<endl; </p><p>
83、 cout<<"C++程序設(shè)計(jì):"<<stud[i].c_program<<endl; </p><p> cout<<"大學(xué)語(yǔ)文:"<<stud[i].media<<endl; </p><p> cout<<"大學(xué)英語(yǔ):"<<s
84、tud[i].english<<endl; </p><p> cout<<"概率統(tǒng)計(jì):"<<stud[i].math<<endl; </p><p> cout<<"大學(xué)體育:"<<stud[i].sport<<endl; </p><p&g
85、t; cout<<"毛澤東思想:"<<stud[i].polity<<endl; </p><p> cout<<"平均分:"<<stud[i].average<<endl;</p><p><b> }</b></p><p>
86、;<b> }</b></p><p> void Modify(Stu stud[]) //---------------修改學(xué)生成績(jī)</p><p><b> { </b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p> i
87、nt n=Read(stud);</p><p><b> int s; </b></p><p><b> int i=0;</b></p><p> cout<<endl<<"====>> 修改學(xué)生成績(jī) <<===="<<endl;&
88、lt;/p><p> cout<<"請(qǐng)輸入需要修改成績(jī)學(xué)生的學(xué)號(hào):"<<endl; </p><p><b> cin>>s; </b></p><p> while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p>
89、<p><b> if(i==n) </b></p><p><b> { </b></p><p> cout<<"=====>提示:對(duì)不起,無(wú)該學(xué)生的成績(jī)……"<<endl; /*輸入失敗信息*/</p><p><b> } </
90、b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"----------該學(xué)生的信息----------"<<endl; /*格式頭*/ </p><p> cout<
91、<"班級(jí)"<<" "<<"學(xué)號(hào)"<<" "<<"姓名"<<" "<<"數(shù)據(jù)"<<" "<<"c++"<<" "<<
92、" 語(yǔ)文"<<" "<<"英語(yǔ)"<<" "<<"概率"<<" "<<"體育"<<" "<<"政治"<<" "<<&quo
93、t;平均分"<<endl;</p><p> cout<<"---------------------------------"<<endl; </p><p> cout<<stud[i].class_0<<" "<<stud[i].num<<&q
94、uot; "<<stud[i].name<<" "<<stud[i].elec<<" "<<stud[i].c_program<<" "<<stud[i].media<<" "<<stud[i].english<<&qu
95、ot; "<<stud[i].math<<" "<<stud[i].sport<<" "<<stud[i].polity<<" "<<stud[i].average<<endl;</p><p> cout<<"請(qǐng)重新
96、輸入該學(xué)生的信息"<<endl;</p><p> cout<<"班級(jí):"<<endl; /*交互輸入*/ </p><p> cin>>stud[i].class_0; </p><p> cout<<"學(xué)號(hào):"<<endl; </
97、p><p> cin>>stud[i].num; </p><p> cout<<"姓名:"<<endl; </p><p> cin>>stud[i].name; </p><p> cout<<"數(shù)據(jù)結(jié)構(gòu)成績(jī):"<<endl
98、; </p><p> cin>>stud[i].elec; </p><p> cout<<"C++程序設(shè)計(jì)成績(jī):"<<endl; </p><p> cin>>stud[i].c_program; </p><p> cout<<"大學(xué)語(yǔ)文成
99、績(jī):"<<endl; </p><p> cin>>stud[i].media; </p><p> cout<<"大學(xué)英語(yǔ)成績(jī):"<<endl; </p><p> cin>>stud[i].english; </p><p> cout<
100、;<"概率統(tǒng)計(jì)成績(jī):"<<endl; </p><p> cin>>stud[i].math; </p><p> cout<<"大學(xué)體育成績(jī):"<<endl; </p><p> cin>>stud[i].sport; </p><p
101、> cout<<"毛澤東思想成績(jī):"<<endl; </p><p> cin>>stud[i].polity; </p><p> stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud
102、[i].sport+stud[i].polity)/7; </p><p> cout<<"平均分為:"<<stud[i].average<<endl;</p><p><b> char c;</b></p><p> cout<<"是否保存數(shù)據(jù)?(y/n)&
103、quot;<<endl;</p><p><b> cin>>c;</b></p><p> if(c!='n'&&c!='N')</p><p> Write(stud,n);</p><p><b> }</b>&l
104、t;/p><p><b> }</b></p><p> void Delete(Stu stud[]) //---------------按學(xué)號(hào)查找,刪除學(xué)生信息 </p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/ &
105、lt;/p><p> int n=Read(stud);</p><p><b> int s; </b></p><p> int i=0,j;</p><p> cout<<endl<<"====>> 刪除學(xué)生成績(jī) <<===="<<
106、endl;</p><p> cout<<"請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào):"<<endl; /*交互式問(wèn)尋*/ </p><p><b> cin>>s; </b></p><p> while((stud[i].num-s)!=0&&i<n) i++; /*查找判
107、斷*/ </p><p><b> if(i==n) </b></p><p><b> { </b></p><p> cout<<"====>提示:對(duì)不起,無(wú)法找到該學(xué)生……"<<endl; /*返回失敗信息*/ </p><p><
108、b> } </b></p><p><b> else</b></p><p><b> {</b></p><p> for(j=i;j<n-1;j++) /*刪除操作*/ </p><p><b> { </b></p>&l
109、t;p> strcpy(stud[j].class_0,stud[j+1].class_0); </p><p> stud[j].num=stud[j+1].num; </p><p> strcpy(stud[j].name,stud[j+1].name); </p><p> stud[j].elec=stud[j+1].elec; </p
110、><p> stud[j].c_program=stud[j+1].c_program; </p><p> stud[j].media=stud[j+1].media; </p><p> stud[j].english=stud[j+1].english; </p><p> stud[j].math=stud[j+1].math;
111、</p><p> stud[j].sport=stud[j+1].sport; </p><p> stud[j].polity=stud[j+1].polity;</p><p> stud[j].average=stud[j+1].average;</p><p><b> }</b></p>
112、<p> cout<<"====>提示:已成功刪除!"<<endl; /*返回成功信息*/</p><p><b> } </b></p><p> Write(stud,n-1);</p><p><b> } </b></p><
113、p> void Insert(Stu stud[]) //---------------增加學(xué)生成績(jī) </p><p><b> { </b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p> int n=Read(stud);</p><p>&l
114、t;b> char s;</b></p><p> cout<<endl<<"====>> 增加學(xué)生成績(jī)<<===="<<endl;</p><p> while(s!='n'&&s!='N')</p><p>&l
115、t;b> {</b></p><p> cout<<"班級(jí):"<<endl; /*交互輸入*/ </p><p> cin>>stud[n].class_0; </p><p> cout<<"學(xué)號(hào):"; </p><p> c
116、in>>stud[n].num; </p><p> cout<<"姓名:"; </p><p> cin>>stud[n].name; </p><p> cout<<"數(shù)據(jù)結(jié)構(gòu)成績(jī):"; </p><p> cin>>stud[n]
117、.elec; </p><p> cout<<"C++程序設(shè)計(jì)成績(jī):"; </p><p> cin>>stud[n].c_program; </p><p> cout<<"大學(xué)語(yǔ)文成績(jī):"; </p><p> cin>>stud[n].med
118、ia; </p><p> cout<<"大學(xué)英語(yǔ)成績(jī):"; </p><p> cin>>stud[n].english; </p><p> cout<<"概率統(tǒng)計(jì)成績(jī):"; </p><p> cin>>stud[n].math; </
119、p><p> cout<<"大學(xué)體育成績(jī):"; </p><p> cin>>stud[n].sport; </p><p> cout<<"毛澤東思想成績(jī):"; </p><p> cin>>stud[n].polity; </p>&
120、lt;p> 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; </p><p> cout<<"平均分"<<stud[n].average;</p>
121、<p><b> n++; </b></p><p> cout<<"=====>提示:插入成功!"<<endl; /*返回成功信息*/</p><p> cout<<"是否繼續(xù)輸入(y/n)"<<endl;</p><p><
122、b> cin>>s;</b></p><p><b> }</b></p><p> Write(stud,n); </p><p><b> }</b></p><p> void Sort(Stu stud[]) //---------------按平均分
123、對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序 </p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/ </p><p> int i,j,k; </p><p><b> float s; </b></p><p&g
124、t; char t[20];</p><p> cout<<endl<<"====>> 降序排序成績(jī) <<===="<<endl;</p><p> int n=Read(stud);</p><p> for(i=0;i<n-1;i++) /*冒泡法排序*/ </p
125、><p> for(j=0;j<n-1-i;j++) </p><p> if(stud[j].average<stud[j+1].average) </p><p><b> { </b></p><p> strcpy(t,stud[j+1].class_0); </p><p&g
126、t; strcpy(stud[j+1].class_0,stud[j].class_0); </p><p> strcpy(stud[j].class_0,t); </p><p> k=stud[j+1].num; </p><p> stud[j+1].num=stud[j].num; </p><p> stud[j].nu
127、m=k; </p><p> strcpy(t,stud[j+1].name); </p><p> strcpy(stud[j+1].name,stud[j].name); </p><p> strcpy(stud[j].name,t); </p><p> s=stud[j+1].elec; </p><p&
128、gt; stud[j+1].elec=stud[j].elec; </p><p> stud[j].elec=s; </p><p> s=stud[j+1].c_program; </p><p> stud[j+1].c_program=stud[j].c_program; </p><p> stud[j].c_progra
129、m=s; </p><p> s=stud[j+1].media; </p><p> stud[j+1].media=stud[j].media; </p><p> stud[j].media=s; </p><p> s=stud[j+1].english; </p><p> stud[j+1].en
130、glish=stud[j].english; </p><p> stud[j].english=s; </p><p> s=stud[j+1].math; </p><p> stud[j+1].math=stud[j].math; </p><p> stud[j].math=s; </p><p>
131、s=stud[j+1].sport;</p><p> stud[j+1].sport=stud[j].sport; </p><p> stud[j].sport=s; </p><p> s=stud[j+1].polity; </p><p> stud[j+1].polity=stud[j].polity; </p>
132、;<p> stud[j].polity=s; </p><p> s=stud[j+1].average; </p><p> stud[j+1].average=stud[j].average; </p><p> stud[j].average=s; </p><p><b> } </b>
133、</p><p> cout<<"----------------------------------------------------"<<endl; /*格式頭*/ </p><p> cout<<setw(6)<<"班級(jí)"<<setw(6)<<"學(xué)號(hào)&quo
134、t;<<setw(6)<<"姓名"<<setw(6)<<"數(shù)據(jù)"<<setw(6)<<"C++"<<setw(6)<<"語(yǔ)文"<<setw(6)<<"英語(yǔ)"<<setw(6)<<"概率&
135、quot;<<setw(6)<<"體育"<<setw(6)<<"政治"<<" "<<setw(6)<<"平均分"<<setw(6)<<"名次"<<endl; </p><p> cout<
136、<"----------------------------------------------------"<<endl; </p><p> for(i=0;i<n;i++) /*循環(huán)輸入*/ </p><p><b> { </b></p><p> stud[i].order=i+1;&
137、lt;/p><p> 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
138、(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)<<setpr
139、ecision(4)<<stud[i].average<<setw(6)<<stud[i].order<<endl; </p><p><b> } </b></p><p> Write(stud,n);</p><p><b> }</b></p>
140、;<p> void Output(Stu stud[]) //---------------顯示全部學(xué)生成績(jī) </p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p> int n=Read(stud);</p><
141、p> cout<<endl<<"====>> 顯示全部學(xué)生成績(jī) <<===="<<endl;</p><p><b> if(!stud)</b></p><p> cout<<"沒(méi)有記錄"; </p><p><b
142、> else</b></p><p><b> {</b></p><p> cout<<"----------------------------------------------------"<<endl; /*格式頭*/ </p><p> cout<<s
143、etw(6)<<"班級(jí)"<<setw(6)<<"學(xué)號(hào)"<<setw(6)<<"姓名"<<setw(6)<<"數(shù)據(jù)"<<setw(6)<<"C++"<<setw(6)<<"語(yǔ)文"<&l
144、t;setw(6)<<"英語(yǔ)"<<setw(6)<<"概率"<<setw(6)<<"體育"<<setw(6)<<"政治"<<" "<<setw(6)<<"平均分"<<endl; </
145、p><p> cout<<"------------------------------------------------"<<endl; </p><p> for(int i=0;i<n;i++) /*循環(huán)輸入*/ </p><p><b> { </b></p><
146、p> 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
147、[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)<&
148、lt;stud[i].average<<endl; </p><p><b> } </b></p><p> cout<<"--------------------------------------------------------"<<endl;</p><p><
149、;b> } </b></p><p><b> }</b></p><p> int menu() /*菜單函數(shù)*/ </p><p><b> { </b></p><p><b> char c; </b></p><p>
150、;<b> do </b></p><p><b> { </b></p><p> void welcome();</p><p> system("cls"); /*運(yùn)行前清屏*/ </p><p> cout<<"**************
151、***********************************************\n"<<endl; </p><p> cout<<" -----------------<<歡迎您使用學(xué)生成績(jī)管理系統(tǒng)--------------\n"<<endl; </p><p> cout<<
152、"編程人員:羅維權(quán) 劉威林 吳煒東"<<endl;</p><p> cout<<" *******************************************\n\n"<<endl;/*菜單選擇*/ </p><p> cout<<" *
153、 【1】輸入學(xué)生成績(jī) * "<<endl; </p><p> cout<<" * 【2】顯示統(tǒng)計(jì)數(shù)據(jù) * "<<endl; </p><p> cout<<" *
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++程序課程設(shè)計(jì)報(bào)告—學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告---學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理信息系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論