版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)</p><p><b> 目 錄</b></p><p><b> 1.任務(wù)要求1</b></p><p><b> 2.設(shè)計(jì)方案1</b></p><p><b> 3.設(shè)計(jì)內(nèi)容2</b>&l
2、t;/p><p> 3.1.類設(shè)計(jì)圖:2</p><p> 3.3 設(shè)計(jì)步驟:3</p><p><b> 3.4 調(diào)試:3</b></p><p><b> 3.5 結(jié)果:4</b></p><p> 3.6程序源代源5</p><p&g
3、t;<b> 4.總結(jié)5</b></p><p><b> 5.參考文獻(xiàn)5</b></p><p><b> 學(xué)生成績管理系統(tǒng)</b></p><p><b> 1.任務(wù)要求</b></p><p> ⑴ 所設(shè)計(jì)的管理系統(tǒng)可實(shí)現(xiàn)對學(xué)生信息和每
4、個(gè)學(xué)生成績的管理。</p><p> ⑵ 設(shè)計(jì)數(shù)據(jù)的存儲(chǔ)方式,使得用戶輸入的數(shù)據(jù)能夠保存到磁盤,并在下一次打開時(shí)可以讀入已經(jīng)存儲(chǔ)的數(shù)據(jù)。當(dāng)?shù)谝淮问褂脽o存盤數(shù)據(jù)時(shí)應(yīng)自動(dòng)創(chuàng)建磁盤數(shù)據(jù)記錄文件。</p><p> ?、?設(shè)計(jì)學(xué)生類,并通過類中包含的方法錄入或從文件讀入數(shù)據(jù)。</p><p> ?、仍谥鹘缑嬷邪ā拜斎雽W(xué)生成績、顯示統(tǒng)計(jì)數(shù)據(jù)、查找學(xué)生成績、修改學(xué)生成績、刪
5、除學(xué)生成績、插入學(xué)生成績、按平均分降序排列、顯示全部學(xué)生成績、退出本系統(tǒng)”等全部的功能。</p><p><b> 2.設(shè)計(jì)方案</b></p><p> 因?yàn)楸鞠到y(tǒng)是一個(gè)比較小的學(xué)生成績管理系統(tǒng),因此將程序的所有功能放在了一個(gè)文件中,使得方便對程序的管理。</p><p> 總體思路如下流程圖: </p><p>
6、;<b> 3.設(shè)計(jì)內(nèi)容</b></p><p><b> 3.1.類設(shè)計(jì)圖:</b></p><p><b> 【基本要求】</b></p><p> 將學(xué)生定義成類Stu。</p><p> 每個(gè)類中的私有成員變量需通過類中的友元函數(shù)獲取值或設(shè)置值。</p&
7、gt;<p> 設(shè)計(jì)程序入口main()使用各類中的方法管理數(shù)據(jù)和信息。</p><p> 設(shè)計(jì)讀入文件和寫入文件的代碼。</p><p><b> 3.2 設(shè)計(jì)步驟:</b></p><p> 在main()函數(shù)中主要是通過“switch(menu())”選擇判斷來調(diào)用相關(guān)功能模塊。系統(tǒng)的運(yùn)行是在一個(gè)循環(huán)里進(jìn)行的,只有在
8、主界面并選擇“退出本系統(tǒng)”時(shí),才會(huì)跳出循環(huán),并退出程序。</p><p> 在主界面中包括“輸入學(xué)生成績 顯示統(tǒng)計(jì)數(shù)據(jù) 查找學(xué)生成績 修改學(xué)生成績 刪除學(xué)生成績 插入學(xué)生成績 按平均分降序排列 顯示全部學(xué)生成績 退出本系統(tǒng)”等全部的功能,之所以設(shè)計(jì)這么一個(gè)主界面,一是因?yàn)槟苁褂脩魧Τ绦虿僮鞯牧鞒谈忧宄喢鳎潜WC了用戶同時(shí)只能對一個(gè)文件進(jìn)行操作的系統(tǒng)要求,保證了系統(tǒng)不會(huì)發(fā)生打開文件紊亂或
9、者出現(xiàn)致命錯(cuò)誤。每個(gè)函數(shù)的具體功能:</p><p> 1)主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對成績表進(jìn)行處理;</p><p> 2)錄入函數(shù)Input():輸入班級到政治課成績;</p><p> 3)統(tǒng)計(jì)函數(shù)Tongji():計(jì)算平均成績;</p><p> 4)查詢函數(shù)Lookup():查詢指定學(xué)號(hào)學(xué)
10、生成績記錄;</p><p> 5)修改函數(shù)Xiugai():修改指定學(xué)號(hào)學(xué)生成績記錄;</p><p> 6)刪除函數(shù)Delete():刪除指定學(xué)號(hào)學(xué)生記錄;</p><p> 7)輸出函數(shù)OutputAll():輸出班級所有學(xué)生成績記錄;</p><p> 8) 排序函數(shù)Sort():按平均分對學(xué)生成績記錄項(xiàng)進(jìn)行降序排序;<
11、/p><p> 9)插入函數(shù)Insert():按平均分順序插入新記錄。</p><p><b> 3.3 調(diào)試:</b></p><p> 調(diào)試是整個(gè)程序編寫過程中十分重要也是很困難的一部分,在這個(gè)過程中用了不少的時(shí)間進(jìn)行程序的調(diào)試,在調(diào)試過程中遇到的相關(guān)問題如下:</p><p><b> 一、語法錯(cuò)誤&
12、lt;/b></p><p> 1、語句的最后忘記了加上“;”,使程序發(fā)生錯(cuò)誤。</p><p> 2、把“<<”與“>>”寫反,以及字符與字符串的操作問題,這些是比較簡單的錯(cuò)誤,很容易分辨出來,并改正之。</p><p> 3、函數(shù)的返回值問題,也是比較容易找出并解決的問題。</p><p><b&
13、gt; 二、邏輯錯(cuò)誤</b></p><p> 1、文件的寫入與讀出,剛開始對文件的操作不太明白,一致不能很好的操作文件,其中最大的問題是對已存在的文件讀取問題,通過“顯示全部學(xué)生成績” 將數(shù)據(jù)從文件中讀取,可是在使用過程中總是出現(xiàn)讀出錯(cuò)誤,出現(xiàn)亂碼。</p><p> 2、內(nèi)存的分配問題,這也是困惑了我好久的問題。對于我們初學(xué)者來說對內(nèi)存的分配和釋放問題是比較抽象和模糊
14、的難題,本來使用鏈表的方式存儲(chǔ)數(shù)據(jù),然而待到排序時(shí)出現(xiàn)了交換數(shù)據(jù)困難的問題,以及分配空間繁瑣釋放空間不及時(shí)的問題,造成空間浪費(fèi)使得程序運(yùn)行效率低的問題。因此最后采用了順序存儲(chǔ)記錄的方式,這樣就能改變前述問題。</p><p> 整個(gè)調(diào)試過程中主要是這么幾個(gè)問題,其余的是一些小問題,很容易的就調(diào)試出來了。</p><p><b> 3.4 結(jié)果:</b></p
15、><p><b> 3.5程序源代源</b></p><p> #include<iostream.h></p><p> #include<fstream.h></p><p> #include<stdlib.h></p><p> #include&
16、lt;string.h></p><p> #include<stdio.h></p><p> class Stu //構(gòu)建學(xué)生類</p><p><b> {</b></p><p><b> public:</b></p><p>
17、; friend void Input(Stu stud[]) ;//能夠訪問類的所有成員的函數(shù)</p><p> friend void Tongji(Stu stud[]);</p><p> friend void Lookup(Stu stud[]) ;</p><p> friend void Change(Stu stud[]) ;</p&
18、gt;<p> friend void Delete(Stu stud[]) ;</p><p> friend void OutputAll(Stu stud[]) ;</p><p> friend void Paixu(Stu stud[]) ;</p><p> friend void Insert(Stu stud[]) ;</
19、p><p> friend void Write(Stu stud[],int n);</p><p> friend int Read(Stu stud[]);</p><p><b> private:</b></p><p> char class_0[20];</p><p><
20、b> int num;</b></p><p> char name[8];</p><p> float c_program;</p><p> float net;</p><p> float english;</p><p> float math;</p><
21、p> float sport;</p><p> float average;</p><p> int order;</p><p> }stud[100];</p><p> void Write(Stu stud[],int n) //向文件中寫入數(shù)據(jù)</p><p><b> {&
22、lt;/b></p><p> fstream myFile;</p><p> myFile.open("student.txt",ios::out);</p><p> if(!myFile)</p><p><b> {</b></p><p> cout
23、<<"student.txt can't open!"<<endl;</p><p><b> abort();</b></p><p><b> }</b></p><p> int count=n;</p><p> myFile<
24、;<count<<endl<<endl;</p><p> for(int i=0;i<=count;i++)</p><p><b> {</b></p><p> myFile<<stud[i].class_0<<" "<<stud[i].nu
25、m<<" "<<stud[i].name<<" "<<stud[i].c_program<<" "<<stud[i].net<<" "<<stud[i].english</p><p> <<" "<
26、<stud[i].math<<" "<<stud[i].sport<<" "<<stud[i].average<<endl;</p><p><b> }</b></p><p> myFile.close();</p><p><
27、;b> }</b></p><p> int Read(Stu stud[]) //從文件中讀數(shù)據(jù)</p><p><b> {</b></p><p> fstream myFile;</p><p> myFile.open("student.txt",ios::in
28、);</p><p> if(!myFile)</p><p><b> {</b></p><p> cout<<"student.txt can't open!"<<endl;</p><p><b> abort();</b><
29、/p><p><b> }</b></p><p> int count;</p><p> myFile.seekg(0);</p><p> myFile>>count;</p><p> for(int i=0;i<=count;i++)</p><
30、;p><b> { </b></p><p> myFile>>stud[i].class_0>>stud[i].num>>stud[i].name>>stud[i].c_program>>stud[i].net>>stud[i].english>>stud[i].math>>stu
31、d[i].sport>>stud[i].average;</p><p><b> }</b></p><p> myFile.close();</p><p> return count ;</p><p><b> }</b></p><p> vo
32、id Input(Stu stud[]) //---------------輸入學(xué)生成績</p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p><b> int i=0;</b></p><p><
33、b> int flag;</b></p><p> char sign;</p><p> cout<<endl<<"====>> 請輸入學(xué)生成績 <<===="<<endl;</p><p> while(sign!='n'&&
34、sign!='N') /*判斷*/ </p><p><b> { </b></p><p> cout<<"班級:"; /*交互輸入*/ </p><p> cin>>stud[i].class_0; </p><p><b> loop:
35、</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><
36、b> {</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)存在!請重新輸入。&
37、quot;<<endl;</p><p> goto loop;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<"姓名:"; </p><p> cin&g
38、t;>stud[i].name; </p><p><b> do{ </b></p><p><b> flag=0;</b></p><p> cout<<"C++程序設(shè)計(jì)成績:"; </p><p> cin>>stud[i].c_
39、program; </p><p> if(stud[i].c_program>100 ||stud[i].c_program<1) </p><p> cout<<"對不起,請輸入1-100之間的數(shù)字!!\n"; </p><p><b> else </b></p><p
40、><b> flag=1;</b></p><p> }while(flag==0); </p><p><b> do{</b></p><p><b> flag=0;</b></p><p> cout<<"計(jì)算機(jī)網(wǎng)絡(luò)成績:&qu
41、ot;; </p><p> cin>>stud[i].net; </p><p> if(stud[i].net>100 ||stud[i].net<1) </p><p> cout<<"對不起,請輸入1-100之間的數(shù)字!!\n"; </p><p><b> e
42、lse </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>
43、 cout<<"大學(xué)英語成績:"; </p><p> cin>>stud[i].english; </p><p> if(stud[i].english>100 ||stud[i].english<1) </p><p> cout<<"對不起,請輸入1-100之間的數(shù)字!!\
44、n"; </p><p><b> else </b></p><p><b> flag=1;</b></p><p> }while(flag==0); </p><p><b> do{</b></p><p><b>
45、; flag=0;</b></p><p> cout<<"高等數(shù)學(xué)成績:"; </p><p> cin>>stud[i].math;</p><p> if(stud[i].math>100 ||stud[i].math<1) </p><p> cout&l
46、t;<"對不起,請輸入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&
47、gt;</p><p><b> flag=0;</b></p><p> cout<<"大學(xué)體育成績:"; </p><p> cin>>stud[i].sport; </p><p> if(stud[i].sport>100 ||stud[i].sport
48、<1) </p><p> cout<<"對不起,請輸入1-100之間的數(shù)字!!\n"; </p><p><b> else </b></p><p><b> flag=1;</b></p><p> }while(flag==0); </p&
49、gt;<p> stud[i].average=(stud[i].c_program+stud[i].net+stud[i].english+stud[i].math+stud[i].sport)/5; </p><p> cout<<"平均分為:"<<stud[i].average<<endl; </p><p>
50、; cout<<"====>提示:是否繼續(xù)寫入學(xué)生成績?(Y/N)"; </p><p> cin>>sign; /*輸入判斷*/ </p><p><b> i++; </b></p><p><b> } </b></p><p> W
51、rite(stud,i);</p><p><b> }</b></p><p> void Tongji(Stu stud[]) //---------------統(tǒng)計(jì)學(xué)生數(shù)據(jù)</p><p><b> {</b></p><p> system("cls");
52、 /*運(yùn)行前清屏*/</p><p> int n=Read(stud);</p><p> cout<<endl<<"====>> 輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù) <<===="<<endl;</p><p> cout<<"班級"<<"\
53、t"<<"學(xué)號(hào)"<<"\t"<<" 姓名"<<"\t"<<" 平均分"<<endl;</p><p> for(int i=0;i<n;i++)</p><p> cout<<stud[i
54、].class_0<<"\t"<<stud[i].num<<"\t"<<stud[i].name<<"\t"<<stud[i].average<<endl;</p><p> system("pause"); </p><p>
55、;<b> }</b></p><p> void Lookup(Stu stud[]) //---------------查找學(xué)生成績 </p><p><b> { </b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p> in
56、t n=Read(stud);</p><p><b> int s; </b></p><p><b> int i=0;</b></p><p> cout<<endl<<"====>> 查找學(xué)生成績 <<===="<<endl;&l
57、t;/p><p> cout<<"請輸入需要查找學(xué)生的學(xué)號(hào):"<<endl; </p><p><b> cin>>s; </b></p><p> while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p>&
58、lt;p><b> if(i==n) </b></p><p><b> { </b></p><p> cout<<"=====>提示:對不起,無法找到該學(xué)生的信息!"<<endl; /*輸入失敗信息*/ </p><p><b> } </
59、b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"---------------------------"<<endl; </p><p> cout<<&qu
60、ot;班級:"<<stud[i].class_0<<endl; /*輸出該學(xué)生信息*/ </p><p> cout<<"學(xué)號(hào):"<<stud[i].num<<endl; </p><p> cout<<"姓名:"<<stud[i].name<&l
61、t;endl; </p><p> cout<<"C++程序設(shè)計(jì):"<<stud[i].c_program<<endl; </p><p> cout<<"計(jì)算機(jī)網(wǎng)絡(luò):"<<stud[i].net<<endl; </p><p> cout<
62、<"大學(xué)英語:"<<stud[i].english<<endl; </p><p> cout<<"高等數(shù)學(xué):"<<stud[i].math<<endl; </p><p> cout<<"大學(xué)體育:"<<stud[i].sport<
63、;<endl; </p><p> cout<<"平均分:"<<stud[i].average<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> void Change(S
64、tu stud[]) //---------------修改學(xué)生成績</p><p><b> { </b></p><p> system("cls"); /*運(yùn)行前清屏*/</p><p> int n=Read(stud);</p><p><b> int s; <
65、/b></p><p><b> int i=0;</b></p><p> cout<<endl<<"====>> 修改學(xué)生成績 <<===="<<endl;</p><p> cout<<"請輸入需要修改成績學(xué)生的學(xué)號(hào):&quo
66、t;<<endl; </p><p><b> cin>>s; </b></p><p> while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p><p><b> if(i==n) </b></p><p&
67、gt;<b> { </b></p><p> cout<<"=====>提示:對不起,無該學(xué)生的成績……"<<endl; /*輸入失敗信息*/</p><p><b> } </b></p><p><b> else</b></p&g
68、t;<p><b> {</b></p><p> cout<<"----------該學(xué)生的信息----------"<<endl; /*格式頭*/ </p><p> cout<<"班級"<<"\t"<<"學(xué)號(hào)&qu
69、ot;<<"\t"<<"姓名"<<"\t"<<"c++"<<"\t"<<" 網(wǎng)絡(luò)"<<"\t"<<"英語"<<"\t"<<"數(shù)學(xué)&
70、quot;<<"\t"<<"體育"<<"\t"<<"平均分"<<endl;</p><p> cout<<"---------------------------------"<<endl; </p><p&g
71、t; cout<<stud[i].class_0<<"\t"<<stud[i].num<<"\t"<<stud[i].name<<"\t"<<stud[i].c_program<<"\t"<<stud[i].net<<"\t&q
72、uot;<<stud[i].english<<"\t"<<stud[i].math<<"\t"<<stud[i].sport<<"\t"<<stud[i].average<<endl;</p><p> cout<<"請重新輸入該學(xué)生的
73、信息"<<endl;</p><p> cout<<"班級:"<<endl; /*交互輸入*/ </p><p> cin>>stud[i].class_0; </p><p> cout<<"學(xué)號(hào):"<<endl; </p>
74、<p> cin>>stud[i].num; </p><p> cout<<"姓名:"<<endl; </p><p> cin>>stud[i].name; </p><p> cout<<"C++程序設(shè)計(jì)成績:"<<endl;
75、</p><p> cin>>stud[i].c_program; </p><p> cout<<"計(jì)算機(jī)網(wǎng)絡(luò)成績:"<<endl; </p><p> cin>>stud[i].net; </p><p> cout<<"大學(xué)英語成績:&qu
76、ot;<<endl; </p><p> cin>>stud[i].english; </p><p> cout<<"高等數(shù)學(xué)成績:"<<endl; </p><p> cin>>stud[i].math; </p><p> cout<<&
77、quot;大學(xué)體育成績:"<<endl; </p><p> cin>>stud[i].sport; </p><p> stud[i].average=(stud[i].c_program+stud[i].net+stud[i].english+stud[i].math+stud[i].sport)/5; </p><p>
78、 cout<<"平均分為:"<<stud[i].average<<endl;</p><p><b> char c;</b></p><p> cout<<"是否保存數(shù)據(jù)?(y/n)"<<endl;</p><p><b> c
79、in>>c;</b></p><p> if(c!='n'&&c!='N')</p><p> Write(stud,n);</p><p><b> }</b></p><p><b> }</b></p>
80、<p> void Delete(Stu stud[]) //---------------按學(xué)號(hào)查找,刪除學(xué)生信息 </p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/ </p><p> int n=Read(stud);</p>
81、<p><b> int s; </b></p><p> int i=0,j;</p><p> cout<<endl<<"====>> 刪除學(xué)生成績 <<===="<<endl;</p><p> cout<<"請輸入需要
82、刪除學(xué)生的學(xué)號(hào):"<<endl; /*交互式問尋*/ </p><p><b> cin>>s; </b></p><p> while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p><p><b> if(i==n) </b
83、></p><p><b> { </b></p><p> cout<<"====>提示:對不起,無法找到該學(xué)生……"<<endl; /*返回失敗信息*/ </p><p><b> } </b></p><p><b>
84、else</b></p><p><b> {</b></p><p> for(j=i;j<n-1;j++) /*刪除操作*/ </p><p><b> { </b></p><p> strcpy(stud[j].class_0,stud[j+1].class_0);
85、 </p><p> stud[j].num=stud[j+1].num; </p><p> strcpy(stud[j].name,stud[j+1].name); </p><p> stud[j].c_program=stud[j+1].c_program; </p><p> stud[j].net=stud[j+1].n
86、et; </p><p> stud[j].english=stud[j+1].english; </p><p> stud[j].math=stud[j+1].math; </p><p> stud[j].sport=stud[j+1].sport; </p><p> stud[j].average=stud[j+1].ave
87、rage;</p><p><b> }</b></p><p> cout<<"====>提示:已成功刪除!"<<endl; /*返回成功信息*/</p><p><b> } </b></p><p> Write(stud,n-1);&
88、lt;/p><p><b> } </b></p><p> void Insert(Stu stud[]) //---------------增加學(xué)生成績 </p><p><b> { </b></p><p> system("cls"); /*運(yùn)行前清屏*/<
89、/p><p> int n=Read(stud);</p><p><b> char s;</b></p><p> cout<<endl<<"====>> 增加學(xué)生成績<<===="<<endl;</p><p> while(s!=
90、'n'&&s!='N')</p><p><b> {</b></p><p> cout<<"班級:"<<endl; /*交互輸入*/ </p><p> cin>>stud[n].class_0; </p><p
91、> cout<<"學(xué)號(hào):"; </p><p> cin>>stud[n].num; </p><p> cout<<"姓名:"; </p><p> cin>>stud[n].name; </p><p> cout<<&qu
92、ot;C++程序設(shè)計(jì)成績:"; </p><p> cin>>stud[n].c_program; </p><p> cout<<"計(jì)算機(jī)網(wǎng)絡(luò)成績:"; </p><p> cin>>stud[n].net; </p><p> cout<<"大
93、學(xué)英語成績:"; </p><p> cin>>stud[n].english; </p><p> cout<<"高等數(shù)學(xué)成績:"; </p><p> cin>>stud[n].math; </p><p> cout<<"大學(xué)體育成績:&qu
94、ot;; </p><p> cin>>stud[n].sport; </p><p> stud[n].average=(stud[n].c_program+stud[n].net+stud[n].english+ stud[n].math+stud[n].sport)/5; </p><p> cout<<"平均分&quo
95、t;<<stud[n].average;</p><p><b> n++; </b></p><p> cout<<"=====>提示:插入成功!"<<endl; /*返回成功信息*/</p><p> cout<<"是否繼續(xù)輸入(y/n)"&
96、lt;<endl;</p><p><b> cin>>s;</b></p><p><b> }</b></p><p> Write(stud,n); </p><p><b> }</b></p><p> void P
97、aixu(Stu stud[]) //---------------按平均分對學(xué)生成績記錄項(xiàng)進(jìn)行降序排序 </p><p><b> {</b></p><p> system("cls"); /*運(yùn)行前清屏*/ </p><p> int i,j,k; </p><p><b>
98、float s; </b></p><p> char t[20];</p><p> cout<<endl<<"====>> 降序排序成績 <<===="<<endl;</p><p> int n=Read(stud);</p><p>
99、for(i=0;i<n-1;i++) /*冒泡法排序*/ </p><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,s
100、tud[j+1].class_0); </p><p> 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].
101、num; </p><p> stud[j].num=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>
102、 s=stud[j+1].c_program; </p><p> stud[j+1].c_program=stud[j].c_program; </p><p> stud[j].c_program=s; </p><p> s=stud[j+1].net; </p><p> stud[j+1].net=stud[j].net;
103、 </p><p> stud[j].net=s; </p><p> s=stud[j+1].english; </p><p> stud[j+1].english=stud[j].english; </p><p> stud[j].english=s; </p><p> s=stud[j+1].ma
104、th; </p><p> stud[j+1].math=stud[j].math; </p><p> stud[j].math=s; </p><p> s=stud[j+1].sport; </p><p> stud[j+1].sport=stud[j].sport; </p><p> stud[j
105、].sport=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></p><p>
106、 cout<<"----------------------------------------------------"<<endl; /*格式頭*/ </p><p> cout<<"班級"<<"\t"<<"學(xué)號(hào)"<<"\t"<&
107、lt;"姓名"<<"\t"<<"C++"<<"\t"<<"網(wǎng)絡(luò)"<<"\t"<<"英語"<<"\t"<<"數(shù)學(xué)"<<"\t"<
108、<"體育"<<"\t"<<"平均分"<<"\t"<<"名次"<<endl; </p><p> cout<<"----------------------------------------------------"
109、<<endl; </p><p> for(i=0;i<n;i++) /*循環(huán)輸入*/ </p><p><b> { </b></p><p> stud[i].order=i+1;</p><p> cout<<stud[i].class_0<<"\t&qu
110、ot;<<stud[i].num<<"\t"<<stud[i].name<<"\t"<<stud[i].c_program<<"\t"<<stud[i].net<<"\t "<<stud[i].english<<" \t"
111、;<< stud[i].math<<"\t"<<stud[i].sport<<"\t "<<stud[i].average<<"\t"<<stud[i].order<<endl; </p><p><b> } </b><
112、/p><p> Write(stud,n);</p><p><b> }</b></p><p> void OutputAll(Stu stud[]) //---------------顯示全部學(xué)生成績 </p><p><b> {</b></p><p> sy
113、stem("cls"); /*運(yùn)行前清屏*/</p><p> int n=Read(stud);</p><p> cout<<endl<<"====>> 顯示全部學(xué)生成績 <<===="<<endl;</p><p><b> if(!stud)&
114、lt;/b></p><p> cout<<"沒有記錄"; </p><p><b> else</b></p><p><b> {</b></p><p> cout<<"----------------------------
115、------------------------"<<endl; /*格式頭*/ </p><p> cout<<"班級"<<"\t"<<"學(xué)號(hào)"<<"\t"<<"姓名"<<"\t"<<&
116、quot;c++"<<"\t"<<"網(wǎng)絡(luò)"<<"\t"<<"英語"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"體育"<<"\t"<<
117、"平均分"<<endl;</p><p> cout<<"------------------------------------------------"<<endl; </p><p> for(int i=0;i<n;i++) /*循環(huán)輸入*/ </p><p><b&
118、gt; { </b></p><p> cout<<stud[i].class_0<<"\t "<<stud[i].num<<"\t "<<stud[i].name<<"\t "<<stud[i].c_program<<"\t &qu
119、ot;<<stud[i].net<<"\t "<<stud[i].english<<"\t "<< stud[i].math<<" \t"<<stud[i].sport<<"\t"<<stud[i].average<<endl; </
120、p><p><b> } </b></p><p> cout<<"--------------------------------------------------------"<<endl;</p><p><b> } </b></p><p>
121、<b> }</b></p><p> int menu() /*菜單函數(shù)*/ </p><p><b> { </b></p><p><b> char c; </b></p><p><b> do </b></p><
122、p><b> { </b></p><p> system("cls"); /*運(yùn)行前清屏*/ </p><p> cout<<"****************************************************************\n"<<endl; </p&
123、gt;<p> cout<<" -----------------《歡迎您使用學(xué)生成績管理系統(tǒng)》--------------\n"<<endl; </p><p> cout<<" ------------------------設(shè)計(jì)人:天涯海角-----------------------\n"<<endl
124、; </p><p> cout<<" ------------------------QQ:478903423-----------------------\n"<<endl;</p><p> cout<<" ******************************************************
125、********\n\n"<<endl;/*菜單選擇*/ </p><p> cout<<" * 【1】輸入學(xué)生成績 * "<<endl; </p><p> cout<<" * 【2】
126、顯示統(tǒng)計(jì)數(shù)據(jù) * "<<endl; </p><p> cout<<" * 【3】查找學(xué)生成績 * "<<endl; </p><p> cout<<" *
127、 【4】修改學(xué)生成績 * "<<endl; </p><p> cout<<" * 【5】刪除學(xué)生成績 * "<<endl; </p><p> cout<<" *
128、 【6】插入學(xué)生成績 * "<<endl; </p><p> cout<<" * 【7】按平均分降序排列 * "<<endl; </p><p> cout<<" *
129、 【8】顯示全部學(xué)生成績 * "<<endl; </p><p> cout<<" * 【0】退出本系統(tǒng) * "<<endl<<endl; </p><p> cout<<
130、"***************************************************************"<<endl; </p><p> cout<<"請你選擇操作(0-8):"<<endl; </p><p> c=getchar(); /*讀入選擇*/ </p>&
131、lt;p><b> } </b></p><p> while(c<'0'||c>'8'); </p><p> return(c-'0'); /*返回選擇*/ </p><p><b> } </b></p><p> v
132、oid main() /*主函數(shù)*/ </p><p><b> { </b></p><p><b> for(;;) </b></p><p><b> { </b></p><p> switch(menu()) /*選擇判斷*/ </p><
133、p><b> { </b></p><p><b> case 1: </b></p><p> Input(stud);/*輸入學(xué)生成績*/ </p><p><b> break; </b></p><p><b> case 2: </
134、b></p><p> Tongji(stud); /*輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)*/ </p><p><b> break;</b></p><p> case 3: </p><p> Lookup(stud); /*查找學(xué)生成績*/</p><p> cout<<&q
135、uot;\t\t\t"; </p><p> system("pause"); </p><p><b> break; </b></p><p><b> case 4: </b></p><p> Change(stud); /*修改學(xué)生成績*/</
136、p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b> break; </b></p><p><b> case 5: </b></p><p>
137、 Delete(stud); /*按學(xué)號(hào)查找,刪除學(xué)生信息*/ </p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b> break; </b></p><p><b> c
138、ase 6: </b></p><p> Insert(stud);/*增加學(xué)生成績*/ </p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b> break; </b>&
139、lt;/p><p><b> case 7: </b></p><p> Paixu(stud); /*按平均分對成績記錄項(xiàng)進(jìn)行降序排序*/ </p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p&
140、gt;<p><b> break; </b></p><p><b> case 8: </b></p><p> OutputAll(stud); /*顯示全部學(xué)生成績*/</p><p> cout<<"\t\t\t"; </p><p>
141、; system("pause"); </p><p><b> break; </b></p><p><b> case 0: </b></p><p> cout<<endl<<" ================================<&
142、lt;感謝您使用學(xué)生成績管理系統(tǒng)>>===============================\n"<<endl; /*結(jié)束程序*/ </p><p> cout<<"\t\t\t"; </p><p> system("pause"); </p><p><b>
143、; exit(0); </b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> 4.總結(jié)</b></p><p>
144、 這一段時(shí)間的C++課程設(shè)計(jì),時(shí)間上說長不長,說短也不短,卻讓我學(xué)到了很多,第一點(diǎn)就是:C++很難,似乎是學(xué)不完的,你覺得自己了解一點(diǎn),是總會(huì)發(fā)現(xiàn)還有很多自己所不懂的東西,還有很多自己所沒探知的領(lǐng)域,很多知識(shí)運(yùn)用到實(shí)踐中很有一定的難度,看著自己和同學(xué)的程序運(yùn)行結(jié)果,突然發(fā)現(xiàn)C++真的很神奇,居然能運(yùn)行出那么漂亮的系統(tǒng),看著運(yùn)行結(jié)果。</p><p> 在我們上機(jī)調(diào)試程序的過程中,我遇到了很多的問題,說實(shí)話這次
145、課程設(shè)計(jì)自己沒有出多大的力,大部分都是借鑒同學(xué)的設(shè)計(jì)成果,自己設(shè)計(jì)是總是覺得沒有頭緒,無從下手??吹酵瑢W(xué)認(rèn)真看程序的樣子,還有修改程序時(shí)的熟練,我很羨慕他,我想,我也要將C++學(xué)好,在將來能為我的就業(yè)加分。</p><p> 在這期末考試前期,學(xué)院給我們安排的課程設(shè)計(jì)周,總讓我們覺的有些為難我們,這樣一個(gè)復(fù)雜困難而又繁瑣的作業(yè),似乎弄得我們既沒有時(shí)間也沒有心情復(fù)習(xí),我曾一度地抱怨過學(xué)院,在完成它之后,我發(fā)現(xiàn)我錯(cuò)
146、了,課程設(shè)計(jì)不僅讓我們鞏固了所學(xué)的知識(shí),還使得我們學(xué)習(xí)到了更多平時(shí)所忽略的,最重要的是,它磨礪了我們,讓我們在大學(xué)的下一個(gè)階段能更好的成長。雖然學(xué)生信息量相對來說有點(diǎn)少,只是為了演示程序,如要增加則只需要增加學(xué)生類中的成員變量和相應(yīng)的方法即可。</p><p><b> 5.參考文獻(xiàn)</b></p><p> [1] 譚浩強(qiáng)編著. C++面向?qū)ο蟪绦蛟O(shè)計(jì).北京:清
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績管理
- c++課程設(shè)計(jì)--- 學(xué)生成績管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績管理
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--學(xué)生成績管理系統(tǒng)
- c&c++課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)設(shè)計(jì)與管理
- c++程序課程設(shè)計(jì)報(bào)告—學(xué)生成績管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論