版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 上海電力學(xué)院</b></p><p> 《高級(jí)程序設(shè)計(jì)C++》</p><p><b> 課程設(shè)計(jì)</b></p><p> 題 目: 學(xué)生綜合測(cè)評(píng)系統(tǒng) </p><p> 院 系: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
2、 </p><p> 專業(yè)年級(jí): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 學(xué)生姓名: 學(xué)號(hào): 20111695 </p><p> 指導(dǎo)教師: </p><p><b> 2013年1月</b>
3、</p><p><b> 目錄</b></p><p><b> 目錄2</b></p><p><b> 1.需求分析3</b></p><p><b> 2.概要設(shè)計(jì)4</b></p><p><b&g
4、t; 3.詳細(xì)設(shè)計(jì)6</b></p><p> 4.用戶使用手冊(cè)9</p><p> 4.1 環(huán)境設(shè)置9</p><p> 4.2 操作步驟10</p><p> 5.程序創(chuàng)新點(diǎn)錯(cuò)誤!未定義書簽。</p><p> 6.使用的主要技術(shù)錯(cuò)誤!未定義書簽。</p>
5、<p> 7.總結(jié)錯(cuò)誤!未定義書簽。</p><p> 附錄錯(cuò)誤!未定義書簽。</p><p><b> 需求分析</b></p><p> 本系統(tǒng)旨在便于學(xué)校管理和查閱學(xué)生信息并計(jì)算學(xué)生的考試成績(jī)和名次以及綜合測(cè)評(píng)成績(jī)和名次。每個(gè)學(xué)生的信息為:學(xué)號(hào)、姓名、性別、家庭住址、聯(lián)系電話、高等數(shù)學(xué)、物理、英語(yǔ)三門單科成績(jī)、、同
6、學(xué)互評(píng)分、品德成績(jī)、任課教師評(píng)分??荚嚻骄煽?jī)、同學(xué)互評(píng)分、品德成績(jī)、任課教師評(píng)分分別占綜合測(cè)評(píng)總分的60%,10%,10%,20%。</p><p><b> 程序的基本功能:</b></p><p><b> 1.學(xué)生信息處理:</b></p><p> (1) 輸入學(xué)生信息、學(xué)號(hào)、姓名、性別、家庭住址、聯(lián)系電話
7、,按學(xué)號(hào)以小到大的順序存入文件中。</p><p> (2) 插入(修改)同學(xué)信息。</p><p> (3) 刪除同學(xué)信息。</p><p> (4) 瀏覽學(xué)生信息。</p><p><b> 2.學(xué)生數(shù)據(jù)處理:</b></p><p> (1) 按考試科目錄入學(xué)生成績(jī)并且按公式:考試
8、成績(jī)=(語(yǔ)文+數(shù)學(xué)+外語(yǔ))/3 計(jì)算考試成績(jī),并計(jì)算考試名次。 </p><p> (2) 學(xué)生測(cè)評(píng)數(shù)據(jù)輸入并計(jì)算綜合測(cè)評(píng)總分及名次。</p><p> (3) 學(xué)生數(shù)據(jù)管理。</p><p> (4) 學(xué)生數(shù)據(jù)查詢。</p><p> 3.學(xué)生綜合信息輸出</p><p><b> 概要設(shè)計(jì)<
9、;/b></p><p> 根據(jù)需求分析中的描述,知道需要一個(gè)帳戶類型,由于基本數(shù)據(jù)類型無(wú)法實(shí)現(xiàn)將一個(gè)用戶的信息綁定在一起,所以需要定義一個(gè)抽象數(shù)據(jù)類型帳戶,命名為Student,其定義如下:</p><p> class Student</p><p><b> {</b></p><p><b>
10、; public:</b></p><p> int num;//學(xué)號(hào)</p><p> string name;//姓名</p><p> string sex;//性別</p><p> string address;//家庭住址</p><p> string phone;//聯(lián)系電話&l
11、t;/p><p> double english;//英語(yǔ)成績(jī)</p><p> double math;//數(shù)學(xué)成績(jī)</p><p> double physics;//物理分?jǐn)?shù)</p><p> double average;//考試成績(jī)</p><p> double grade1;//同學(xué)互評(píng)分</
12、p><p> double grade2;//品德成績(jī)</p><p> double grade3;//任課教室評(píng)分</p><p> double gradesum;//綜合測(cè)評(píng)成績(jī)</p><p> int ranking1;//考試名次</p><p> int ranking2;//綜合測(cè)評(píng)名次<
13、/p><p><b> };</b></p><p> 為了方便外部函數(shù)進(jìn)行操作,以上全為共有變量。</p><p> 定義一個(gè)對(duì)象數(shù)組Student stud[100];方便對(duì)Student類中數(shù)據(jù)進(jìn)行輸入和輸出以及排序等等功能。</p><p><b> 外部操作函數(shù)有:</b></p
14、><p> void read()//從文件中讀取學(xué)生信息函數(shù)</p><p> void show()//顯示學(xué)生信息函數(shù)</p><p> void save()//保存學(xué)生信息函數(shù)</p><p> void SR()//輸入學(xué)生信息函數(shù)</p><p> void SC()//刪除學(xué)生信息函數(shù)</p
15、><p> void TJ()//添加學(xué)生信息函數(shù)</p><p> void XG()//修改學(xué)生信息函數(shù)</p><p> void PM1()//計(jì)算考試成績(jī)以及排名函數(shù)</p><p> void PM2()//計(jì)算綜合測(cè)評(píng)成績(jī)以及排名函數(shù)</p><p> void sn()//按學(xué)生學(xué)號(hào)查找學(xué)生信息&
16、lt;/p><p> void sm()//按學(xué)生姓名查找學(xué)生信息</p><p> void Fire()//學(xué)生信息管理界面</p><p> void statistics()//學(xué)生成績(jī)統(tǒng)計(jì)管理界面</p><p> void inquiry()//學(xué)生查詢管理界面</p><p> void about
17、()//關(guān)于系統(tǒng)界面</p><p> void thanks()//退出程序界面</p><p> 主函數(shù)為學(xué)生測(cè)評(píng)系統(tǒng)主界面</p><p><b> 3、詳細(xì)設(shè)計(jì)</b></p><p> void read() </p><p><
18、b> {</b></p><p> char filename[20];</p><p> cout<<"從文件中讀取信息!"<<endl;</p><p> cout<<"請(qǐng)輸入文件名:"<<endl;</p><p> ci
19、n>>filename;</p><p> cout<<"請(qǐng)問(wèn)要讀取幾名學(xué)生信息:"<<endl;</p><p><b> cin>>n;</b></p><p> ifstream infile;</p><p> infile.open(f
20、ilename,ios::in|ios::out);</p><p> if(!infile)</p><p><b> {</b></p><p> cerr<<"open error!"<<endl;</p><p><b> exit(1);</b
21、></p><p><b> }</b></p><p><b> int i=0;</b></p><p><b> do</b></p><p><b> {</b></p><p> infile>>
22、;stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].address</p><p> >>stud[i].phone>>stud[i].english>>stud[i].math</p><p> >>stud[i].physics>>stud[
23、i].grade1</p><p> >>stud[i].grade2>>stud[i].grade3;</p><p><b> i++;</b></p><p><b> }</b></p><p> while(!infile.eof());</p>
24、<p> infile.close();</p><p> cout<<"讀取成功!"<<endl;</p><p><b> }</b></p><p> 以上為讀取文件中學(xué)生信息的函數(shù),當(dāng)信息成功讀取后才可進(jìn)行修改或添加或刪除,所以在許多外部函數(shù)里面都必須要有讀取函數(shù)的功能為
25、前提。</p><p> void save() </p><p><b> {</b></p><p><b> int i;</b></p><p> char filename[20];</p><p> cou
26、t<<"將記錄保存在文件夾!"<<endl;</p><p> cout<<"請(qǐng)輸入文件名:";</p><p> cin>>filename;</p><p> ofstream outfile(filename);</p><p> if(!o
27、utfile)</p><p><b> {</b></p><p> cerr<<"open error!"<<endl;</p><p><b> }</b></p><p> //保存時(shí)按學(xué)號(hào)排序,采用冒泡排序法實(shí)現(xiàn)數(shù)組內(nèi)的排序</p&
28、gt;<p><b> ……</b></p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> outfile<<stud[i].num<<" "<<stud[i].name<<
29、" "<<stud[i].sex<<" "<<stud[i].address<<" "</p><p> <<stud[i].phone<<" "<<stud[i].english<<" "<<stud[i
30、].math<<" "<<stud[i].physics<<" "</p><p> <<stud[i].grade1<<" "<<stud[i].grade2<<" "<<stud[i].grade3<<endl;</
31、p><p><b> }</b></p><p> outfile.close();</p><p> cout<<"保存成功!"<<endl;</p><p><b> }</b></p><p> 在每次保存時(shí)都先按學(xué)號(hào)排
32、序,保證信息是按學(xué)號(hào)從小到大的順序存入文件。在輸入、修改、添加和刪除函數(shù)的末端都有保存函數(shù)以實(shí)現(xiàn)信息的保存。</p><p> void XG() </p><p><b> {</b></p><p><b> read();</b></p><
33、;p> begin:string find_name;</p><p><b> int i;</b></p><p> cout<<"請(qǐng)輸入你要修改的學(xué)生名字:"<<endl;</p><p> cin>>find_name;</p><p> f
34、or(i=0;i<n;i++)</p><p> if(stud[i].name==find_name)</p><p> {……}//輸出修改前學(xué)生信息</p><p> if(stud[i].name!=find_name) </p><p><b> {</b></p><p>
35、; cout<<"can't find this name"<<endl;</p><p> cout<<"請(qǐng)重新查找!"<<endl;</p><p> goto begin;</p><p><b> }</b></p>&
36、lt;p> cout<<"請(qǐng)輸入新的信息:"<<endl;</p><p> cout<<"學(xué)號(hào):"<<' ';cin>>stud[i].num;</p><p><b> ……</b></p><p><b&g
37、t; ……</b></p><p> cout<<"修改成功,是否保存?(y/n)"<<endl;</p><p> cin>>press;</p><p> switch(press)</p><p><b> {</b></p>
38、<p> case 'y' : save();break;</p><p> default: cout<<"不保存!";break;</p><p><b> }</b></p><p><b> }</b></p><p>
39、 基于數(shù)組形式對(duì)數(shù)據(jù)進(jìn)行修改。基本上所有函數(shù)都是基于數(shù)組進(jìn)行操作,像刪除函數(shù)是用循環(huán)先匹配類中的一個(gè)數(shù)據(jù),找到之后再以此開始用對(duì)象數(shù)組后面的替換掉前一個(gè),以實(shí)現(xiàn)刪除功能。</p><p> string SC_name;</p><p> cout<<"請(qǐng)輸入你要?jiǎng)h除的學(xué)生名字:"<<endl;</p><p><
40、;b> int i=0;</b></p><p> cin>>SC_name;</p><p> while(stud[i].name!=SC_name && i<n) </p><p> i++; //查找判斷</p><p>
41、if(stud[i].name==SC_name) </p><p><b> {</b></p><p> for(int j=i;j<n+1;j++)</p><p><b> {</b></p><p> stud[i].num=stud[i+1].num;</p>
42、<p> stud[i].name=stud[i+1].name;</p><p><b> ……</b></p><p><b> ……</b></p><p><b> }</b></p><p><b> } </b></
43、p><p> 考試成績(jī)排名和綜合測(cè)評(píng)成績(jī)排名都是采用冒泡排序法實(shí)現(xiàn):</p><p> double temp[100];</p><p> for(int a=0;a<n;a++)//計(jì)算考試成績(jī)并賦值給temp</p><p><b> {</b></p><p> stud[a]
44、.average=(stud[a].english+stud[a].math+stud[a].physics)/3;</p><p> temp[a]=stud[a].average;</p><p><b> }</b></p><p><b> double t;</b></p><p>
45、 for(int j=0;j<n;j++) //temp中的考試成績(jī)按從大到小冒泡排序</p><p> {for(int k=0;k<n-1-j;k++)</p><p> {f(temp[k]<temp[k+1])</p><p> {t=temp[k]; temp[k]=temp[k+1]; temp[k+1]=t;}}}&l
46、t;/p><p> for(int q=0;q<n;q++)//判定考試成績(jī)名次</p><p> {for(int p=0;p<n;p++)</p><p> {if(stud[p].average==temp[q])</p><p> stud[p].ranking1=q+1;}}</p><p>
47、 最后各種界面函數(shù)通過(guò)switch語(yǔ)句進(jìn)行調(diào)用,以實(shí)現(xiàn)各種功能來(lái)完成此系統(tǒng):</p><p> void Fire()//學(xué)生信息管理系統(tǒng)界面</p><p> { while(choose!=0)</p><p> { //輸出界面樣式略。</p><p> cout<<"\t\t 請(qǐng)輸入0-5
48、之間的任意一數(shù)字:"<<' ';</p><p> cin>>choose;</p><p> switch(choose) </p><p> {case 1:system("cls");SR();break;<
49、/p><p> case 2:system("cls");SC();break;</p><p> case 3:system("cls");TJ();break;</p><p> case 4:system("cls");XG();break;</p><p> case 5
50、:system("cls");show();break;</p><p> default:cout<<"\t\t 輸入錯(cuò)誤或返回主界面"<<'\n';break;}}}</p><p><b> 用戶使用手冊(cè)</b></p><p><b&
51、gt; 4.1 環(huán)境設(shè)置</b></p><p> 將已創(chuàng)建擴(kuò)展名為cpp在VC6.0中運(yùn)行即可,如圖所示。</p><p><b> 4.2 操作步驟</b></p><p> 編譯每個(gè)擴(kuò)展名為.cpp的文件,如果有編譯錯(cuò)誤,則根據(jù)提示修改,否則編譯成功。最后編譯、連接和運(yùn)行測(cè)試程序文件,輸入數(shù)據(jù)并測(cè)試程序的各種操作。如圖
52、所示。</p><p> 在當(dāng)前的Dos窗口中,輸入要執(zhí)行的功能號(hào)碼,如輸入1,然后單擊回車,則顯示如圖所示。</p><p> 此為學(xué)生信息管理界面,輸入要執(zhí)行的功能號(hào)碼,如輸入1,然后單擊回車,則顯示如圖所示。</p><p> 按提示輸入3個(gè)學(xué)生信息并保存至文件1.txt中,完成后返回學(xué)生信息管理界面,輸入要執(zhí)行的功能號(hào)碼,如輸入5,然后單擊回車,然后輸
53、入文件名1.txt和要讀取幾名學(xué)生信息,如輸入3,則顯示如圖所示。</p><p> 如上所示,按照提示內(nèi)容輸入功能號(hào)并回車確認(rèn)就能正確使用本系統(tǒng)。</p><p><b> 使用的主要技術(shù)</b></p><p> 文本文件的讀寫、數(shù)組。</p><p><b> 總結(jié)</b></p
54、><p> 經(jīng)過(guò)一個(gè)學(xué)期對(duì)《C++程序設(shè)計(jì)》的學(xué)習(xí),我學(xué)習(xí)到了基本的理論知識(shí),了解到了C++語(yǔ)言程序設(shè)計(jì)的思想,這些知識(shí)都為我的課程設(shè)計(jì)和進(jìn)一步學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。</p><p> 在為期一周的的C++課程設(shè)計(jì)中,我體會(huì)頗多,學(xué)到了很多東西。我加強(qiáng)了對(duì)C++程序設(shè)計(jì)這門課程的認(rèn)識(shí),并且復(fù)習(xí)了自己以前學(xué)過(guò)的知識(shí)。這些都使得我對(duì)計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)有了更深入的認(rèn)識(shí)。像學(xué)生測(cè)評(píng)系統(tǒng)這樣的程序設(shè)計(jì)
55、,經(jīng)歷了平時(shí)在課堂和考試中不會(huì)出現(xiàn)的問(wèn)題和考驗(yàn)。而這些問(wèn)題,并不是只靠課本就可以輕易解決的。所以,鍛煉了我們獨(dú)立思考和解決問(wèn)題的能力。特別是向老師提問(wèn)時(shí),老師教會(huì)了我調(diào)試程序的方法,讓我更容易發(fā)現(xiàn)自己所犯的錯(cuò)誤。</p><p> 在老師和同學(xué)的幫助下,通過(guò)自己的努力,終于完成了這次學(xué)生測(cè)評(píng)系統(tǒng)的課程設(shè)計(jì),雖然還有缺陷,但過(guò)程中所摸索到的經(jīng)驗(yàn)是一筆寶貴的財(cái)富。</p><p> 總而言
56、之,這次課程設(shè)計(jì)讓我收獲很大。</p><p><b> 附錄</b></p><p> #include<iostream></p><p> #include<fstream></p><p> #include<string></p><p>
57、#include<iomanip></p><p> using namespace std;</p><p> char press;int choose=1;int n;</p><p> class Student</p><p><b> {</b></p><p>&
58、lt;b> public:</b></p><p> int num;//學(xué)號(hào)</p><p> string name;//姓名</p><p> string sex;//性別</p><p> string address;//家庭住址</p><p> string phone;/
59、/聯(lián)系電話</p><p> double english;//英語(yǔ)成績(jī)</p><p> double math;//數(shù)學(xué)成績(jī)</p><p> double physics;//物理分?jǐn)?shù)</p><p> double average;//考試成績(jī)</p><p> double grade1;//同學(xué)互
60、評(píng)分</p><p> double grade2;//品德成績(jī)</p><p> double grade3;//任課教室評(píng)分</p><p> double gradesum;//綜合測(cè)評(píng)成績(jī)</p><p> int ranking1;//考試名次</p><p> int ranking2;//綜合測(cè)
61、評(píng)名次</p><p><b> };</b></p><p> Student stud[100];</p><p> //————————————————讀取學(xué)生信息——————————————————</p><p> void read() </p>
62、;<p><b> {</b></p><p> char filename[20];</p><p> cout<<"從文件中讀取信息!"<<endl;</p><p> cout<<"請(qǐng)輸入文件名:"<<endl;</p>
63、;<p> cin>>filename;</p><p> cout<<"請(qǐng)問(wèn)要讀取幾名學(xué)生信息:"<<endl;</p><p><b> cin>>n;</b></p><p> ifstream infile;</p><p>
64、; infile.open(filename,ios::in|ios::out);</p><p> if(!infile)</p><p><b> {</b></p><p> cerr<<"open error!"<<endl;</p><p><b>
65、 exit(1);</b></p><p><b> }</b></p><p><b> int i=0;</b></p><p><b> do</b></p><p><b> {</b></p><p>
66、; infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].address</p><p> >>stud[i].phone>>stud[i].english>>stud[i].math</p><p> >>stud[i].phys
67、ics>>stud[i].grade1</p><p> >>stud[i].grade2>>stud[i].grade3;</p><p><b> i++;</b></p><p><b> }</b></p><p> while(!infile.e
68、of());</p><p> infile.close();</p><p> cout<<"讀取成功!"<<endl;</p><p><b> }</b></p><p> //---------------------------顯示學(xué)生信息----------
69、---------------------</p><p> void show()</p><p><b> {</b></p><p><b> read();</b></p><p> cout<<"學(xué)號(hào) "<<"姓名 "
70、;<<"性別 "<<"家庭地址 "<<"聯(lián)系方式 "</p><p> <<"英語(yǔ) "<<"高數(shù) "<<"物理 "<<"同學(xué)互評(píng) "<<"品德成績(jī) "
71、;<<"教師評(píng)分"<<endl;</p><p> for(int i=0;i<n;i++)</p><p><b> {</b></p><p> cout<<stud[i].num;</p><p> cout.width(5);</p>
72、;<p> cout<<stud[i].name;</p><p> cout.width(5);</p><p> cout<<stud[i].sex;</p><p> cout.width(8);</p><p> cout<<stud[i].address;</p>
73、;<p> cout.width(8);</p><p> cout<<stud[i].phone;</p><p> cout.width(6);</p><p> cout<<stud[i].english;</p><p> cout.width(6);</p><p&
74、gt; cout<<stud[i].math;</p><p> cout.width(6);</p><p> cout<<stud[i].physics;</p><p> cout.width(6);</p><p> cout<<stud[i].grade1;</p><
75、;p> cout.width(8);</p><p> cout<<stud[i].grade2;</p><p> cout.width(8);</p><p> cout<<stud[i].grade3<<endl;</p><p><b> }</b></p
76、><p><b> }</b></p><p> //————————————————保存學(xué)生信息——————————————————</p><p> void save() </p><p><b> {</b></p><
77、p><b> int i;</b></p><p> char filename[20];</p><p> cout<<"將記錄保存在文件夾!"<<endl;</p><p> cout<<"請(qǐng)輸入文件名:";</p><p>
78、 cin>>filename;</p><p> ofstream outfile(filename);</p><p> if(!outfile)</p><p><b> {</b></p><p> cerr<<"open error!"<<endl;
79、</p><p><b> }</b></p><p> //------------保存時(shí)按學(xué)號(hào)排序-----------------</p><p> int temp[100];</p><p> for(int a=0;a<n;a++)</p><p><b>
80、{</b></p><p> temp[a]=stud[a].num;</p><p><b> }</b></p><p><b> int t;</b></p><p> for(int j=0;j<n;j++)</p><p><b>
81、; {</b></p><p> for(int k=0;k<n-1-j;k++)</p><p><b> {</b></p><p> if(temp[k]>temp[k+1])</p><p><b> {</b></p><p>
82、t=temp[k];</p><p> temp[k]=temp[k+1];</p><p> temp[k+1]=t;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></
83、p><p> int tempnum;</p><p> string tempname;</p><p> string tempsex;</p><p> string tempaddress;</p><p> string tempphone;</p><p> double t
84、empenglish;</p><p> double tempmath;</p><p> double tempphysics;</p><p> double tempgrade1;</p><p> double tempgrade2;</p><p> double tempgrade3;</
85、p><p> for(int q=0;q<n;q++)</p><p><b> {</b></p><p> for(int p=0;p<n;p++)</p><p><b> {</b></p><p> if(stud[p].num==temp[q])
86、</p><p><b> {</b></p><p> tempnum=stud[p].num;</p><p> tempname=stud[p].name;</p><p> tempsex=stud[p].sex;</p><p> tempaddress=stud[p].add
87、ress;</p><p> tempphone=stud[p].phone;</p><p> tempenglish=stud[p].english;</p><p> tempmath=stud[p].math;</p><p> tempphysics=stud[p].physics;</p><p>
88、 tempgrade1=stud[p].grade1;</p><p> tempgrade2=stud[p].grade2;</p><p> tempgrade3=stud[p].grade3;</p><p> stud[p].num=stud[q].num;</p><p> stud[p].name=stud[q].nam
89、e;</p><p> stud[p].sex=stud[q].sex;</p><p> stud[p].address=stud[q].address;</p><p> stud[p].phone=stud[q].phone;</p><p> stud[p].english=stud[q].english;</p>
90、<p> stud[p].math=stud[q].math;</p><p> stud[p].physics=stud[q].physics;</p><p> stud[p].grade1=stud[q].grade2;</p><p> stud[p].grade2=stud[q].grade2;</p><p>
91、; stud[p].grade3=stud[q].grade3;</p><p> stud[q].num=tempnum;</p><p> stud[q].name=tempname;</p><p> stud[q].sex=tempsex;</p><p> stud[q].address=tempaddress;</
92、p><p> stud[q].phone=tempphone;</p><p> stud[q].english=tempenglish;</p><p> stud[q].math=tempmath;</p><p> stud[q].physics=tempphysics;</p><p> stud[q].
93、grade1=tempgrade1;</p><p> stud[q].grade2=tempgrade2;</p><p> stud[q].grade3=tempgrade3;</p><p><b> }</b></p><p><b> }</b></p><p&
94、gt;<b> }</b></p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> outfile<<stud[i].num<<" "<<stud[i].name<<" "
95、;<<stud[i].sex<<" "<<stud[i].address<<" "</p><p> <<stud[i].phone<<" "<<stud[i].english<<" "<<stud[i].math<&l
96、t;" "<<stud[i].physics<<" "</p><p> <<stud[i].grade1<<" "<<stud[i].grade2<<" "<<stud[i].grade3<<endl;</p><p
97、><b> }</b></p><p> outfile.close();</p><p> cout<<"保存成功!"<<endl;</p><p><b> }</b></p><p> //————————————————輸入學(xué)生資料
98、——————————————————</p><p> void SR() </p><p><b> {</b></p><p> cout<<"請(qǐng)根據(jù)你的需要輸入學(xué)生的個(gè)數(shù):";</p><p><b> c
99、in>>n;</b></p><p> for(int a=0;a<n;a++)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入第"<<a+1<<"個(gè)學(xué)生資料:"<<endl;</p&g
100、t;<p> cout<<"學(xué)號(hào):"<<' ';cin>>stud[a].num;</p><p> cout<<"姓名:"<<' ';cin>>stud[a].name;</p><p> cout<<"
101、性別:"<<' ';cin>>stud[a].sex;</p><p> cout<<"家庭住址:"<<' ';cin>>stud[a].address;</p><p> cout<<"聯(lián)系方式:"<<'
102、9;;cin>>stud[a].phone;</p><p> cout<<"英語(yǔ)成績(jī):"<<' ';cin>>stud[a].english;</p><p> cout<<"物理成績(jī):"<<' ';cin>>stud[a].ph
103、ysics;</p><p> cout<<"高數(shù)成績(jī):"<<' ';cin>>stud[a].math;</p><p> cout<<"同學(xué)互評(píng):"<<' ';cin>>stud[a].grade1;</p><p>
104、; cout<<"品德成績(jī):"<<' ';cin>>stud[a].grade2;</p><p> cout<<"任課教師評(píng)分:"<<' ';cin>>stud[a].grade3;</p><p><b> }</b>
105、;</p><p> cout<<"輸入成功,學(xué)生資料是否保存?(y/n)"<<endl;</p><p> cin>>press;</p><p> switch(press)</p><p><b> {</b></p><p>
106、 case 'y' : save();break;</p><p> default: cout<<"不保存!";break;</p><p><b> }</b></p><p><b> }</b></p><p> //————————
107、————————?jiǎng)h除資料——————————————————</p><p> void SC() </p><p><b> {</b></p><p><b> read();</b></p><p><b> do
108、</b></p><p><b> {</b></p><p> string SC_name;</p><p> cout<<"請(qǐng)輸入你要?jiǎng)h除的學(xué)生名字:"<<endl;</p><p><b> int i=0;</b></p
109、><p> cin>>SC_name;</p><p> while(stud[i].name!=SC_name && i<n) </p><p> i++; //查找判斷</p><p> if(stud[i].name==SC_name) </p
110、><p><b> {</b></p><p> for(int j=i;j<n+1;j++)</p><p><b> {</b></p><p> stud[i].num=stud[i+1].num;</p><p> stud[i].name=stud[i+
111、1].name;</p><p> stud[i].sex=stud[i+1].sex;</p><p> stud[i].address=stud[i+1].address;</p><p> stud[i].phone=stud[i+1].phone;</p><p> stud[i].english=stud[i+1].engl
112、ish;</p><p> stud[i].math=stud[i+1].math;</p><p> stud[i].physics=stud[i+1].physics;</p><p> stud[i].grade1=stud[i+1].grade1;</p><p> stud[i].grade2=stud[i+1].grade
113、2;</p><p> stud[i].grade3=stud[i+1].grade3;</p><p><b> }</b></p><p> cout<<"刪除成功!"<<endl;</p><p><b> n=n-1;</b></p&
114、gt;<p><b> save();</b></p><p><b> }</b></p><p> else if(i==n) </p><p><b> {</b></p><p> cout<<"can't find
115、 this name"<<endl;</p><p> cout<<"該信息不存在,無(wú)法刪除!"<<endl;</p><p><b> } </b></p><p> cout<<"(是否繼續(xù)操作?(y/n))"<<
116、endl;</p><p> cin>>press;</p><p><b> }</b></p><p> while(press=='y'||press=='Y') ;</p><p><b> }</b></p><p&g
117、t; //————————————————添加學(xué)生信息——————————————————</p><p> void TJ() </p><p><b> {</b></p><p><b> read();</b></p><p
118、><b> do</b></p><p><b> {</b></p><p> cout<<"請(qǐng)?zhí)砑有碌膶W(xué)生信息"<<endl;</p><p> cout<<"新的學(xué)生學(xué)號(hào):";cin>>stud[n].num;<
119、;/p><p> cout<<"新學(xué)生姓名:";cin>>stud[n].name;</p><p> cout<<"新學(xué)生性別:";cin>>stud[n].sex;</p><p> cout<<"新學(xué)生家庭地址:";cin>>s
120、tud[n].address;</p><p> cout<<"新學(xué)生的聯(lián)系方式:";cin>>stud[n].phone;</p><p> cout<<"新學(xué)生的英語(yǔ)成績(jī):";cin>>stud[n].english;</p><p> cout<<&quo
121、t;新學(xué)生的高數(shù)成績(jī):";cin>>stud[n].math;</p><p> cout<<"新學(xué)生的物理成績(jī)";cin>>stud[n].physics;</p><p> cout<<"新學(xué)生的同學(xué)互評(píng)分";cin>>stud[n].grade1;</p>
122、<p> cout<<"新學(xué)生的品德成績(jī)";cin>>stud[n].grade2;</p><p> cout<<"新學(xué)生的任課教師評(píng)分";cin>>stud[n].grade3;</p><p><b> n++;</b></p><p>
123、; cout<<"(是否繼續(xù)操作?(y/n))"<<endl;cin>>press;</p><p><b> }</b></p><p> while(press=='y'||press=='Y');</p><p> cout<<&q
124、uot;添加成功,學(xué)生資料是否保存?(y/n)"<<endl;</p><p> cin>>press;</p><p> switch(press)</p><p><b> {</b></p><p> case 'y' : save();break;<
125、/p><p> default: cout<<"不保存!";break;</p><p><b> }</b></p><p><b> }</b></p><p> //————————————————修改學(xué)生信息——————————————————</p
126、><p> void XG() </p><p><b> {</b></p><p><b> read();</b></p><p> begin:string find_name;</p><p><b>
127、; int i;</b></p><p> cout<<"請(qǐng)輸入你要修改的學(xué)生名字:"<<endl;</p><p> cin>>find_name;</p><p> for(i=0;i<n;i++)</p><p> if(stud[i].name==fi
128、nd_name)</p><p><b> {</b></p><p> cout<<stud[i].name<<" "<<"has been found:"<<endl;</p><p> cout<<"學(xué)生的學(xué)號(hào):"
129、<<stud[i].num<<" "</p><p> <<"姓名:"<<stud[i].name<<" "</p><p> <<"性別:"<<stud[i].sex<<" "</p&
130、gt;<p> <<"家庭住址:"<<stud[i].address<<" "</p><p> <<"聯(lián)系方式:"<<stud[i].phone<<" "</p><p> <<"英語(yǔ)成績(jī):&qu
131、ot;<<stud[i].english<<" "</p><p> <<"高數(shù)成績(jī):"<<stud[i].math<<" "</p><p> <<"物理成績(jī):"<<stud[i].physics<<"
132、; "</p><p> <<"同學(xué)互評(píng)分:"<<stud[i].grade1<<" "</p><p> <<"品德成績(jī):"<<stud[i].grade2<<" "</p><p> <&l
133、t;"任課教師評(píng)分:"<<stud[i].grade3<<endl;</p><p><b> break;</b></p><p><b> }</b></p><p> if(stud[i].name!=find_name) </p><p>&
134、lt;b> {</b></p><p> cout<<"can't find this name"<<endl;</p><p> cout<<"請(qǐng)重新查找!"<<endl;</p><p> goto begin;</p><
135、;p><b> }</b></p><p> cout<<"請(qǐng)輸入新的信息:"<<endl;</p><p> cout<<"學(xué)號(hào):"<<' ';cin>>stud[i].num;</p><p> cout<
136、<"姓名:"<<' ';cin>>stud[i].name;</p><p> cout<<"性別:"<<' ';cin>>stud[i].sex;</p><p> cout<<"家庭住址:"<<'
137、; ';cin>>stud[i].address;</p><p> cout<<"聯(lián)系方式:"<<' ';cin>>stud[i].phone;</p><p> cout<<"英語(yǔ)成績(jī):"<<' ';cin>>stud[
138、i].english;</p><p> cout<<"物理成績(jī):"<<' ';cin>>stud[i].physics;</p><p> cout<<"高數(shù)成績(jī):"<<' ';cin>>stud[i].math;</p>&l
139、t;p> cout<<"同學(xué)互評(píng)分:"<<' ';cin>>stud[i].grade1;</p><p> cout<<"品德成績(jī):"<<' ';cin>>stud[i].grade2;</p><p> cout<<&q
140、uot;任課教師評(píng)分:"<<' ';cin>>stud[i].grade3;</p><p> cout<<"修改成功,是否保存?(y/n)"<<endl;</p><p> cin>>press;</p><p> switch(press)</p
141、><p><b> {</b></p><p> case 'y' : save();break;</p><p> default: cout<<"不保存!";break;</p><p><b> }</b></p><p&
142、gt;<b> }</b></p><p> //----------------------計(jì)算考試成績(jī)并按考試成績(jī)排名------------------------</p><p> void PM1()</p><p><b> {</b></p><p><b> re
143、ad(); </b></p><p> double temp[100];</p><p> for(int a=0;a<n;a++)//</p><p><b> {</b></p><p> stud[a].average=(stud[a].english+stud[a].math+stu
144、d[a].physics)/3;</p><p> temp[a]=stud[a].average;</p><p><b> }</b></p><p><b> double t;</b></p><p> for(int j=0;j<n;j++)//temp中的考試成績(jī)按從大到小
145、冒泡排序</p><p><b> {</b></p><p> for(int k=0;k<n-1-j;k++)</p><p><b> {</b></p><p> if(temp[k]<temp[k+1])</p><p><b> {
146、</b></p><p> t=temp[k];</p><p> temp[k]=temp[k+1];</p><p> temp[k+1]=t;</p><p><b> }</b></p><p><b> }</b></p><
147、;p><b> }</b></p><p> for(int q=0;q<n;q++)//判定考試成績(jī)名次</p><p><b> {</b></p><p> for(int p=0;p<n;p++)</p><p><b> {</b><
148、/p><p> if(stud[p].average==temp[q])</p><p> stud[p].ranking1=q+1;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<"學(xué)號(hào)
149、 "<<" 姓名 "<<"考試成績(jī) "<<"考試成績(jī)排名"<<endl;</p><p> for(int b=0;b<n;b++)</p><p><b> {</b></p><p> cout
150、<<stud[b].num;</p><p> cout.width(10);</p><p> cout<<stud[b].name;</p><p> cout.width(10);</p><p> cout<<stud[b].average;</p><p> co
151、ut.width(10);</p><p> cout<<stud[b].ranking1<<endl;</p><p><b> }</b></p><p> cout<<"是否要保存到文件中?(y/n)"<<endl;</p><p> ci
152、n>>press;</p><p> switch(press)</p><p><b> {</b></p><p><b> {</b></p><p><b> case 'y':</b></p><p><
153、;b> int i;</b></p><p> char filename[20];</p><p> cout<<"請(qǐng)輸入文件名:";</p><p> cin>>filename;</p><p> ofstream outfile(filename);</p&
溫馨提示
- 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語(yǔ)言課程設(shè)計(jì)-學(xué)生綜合測(cè)評(píng)系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)學(xué)生綜合測(cè)評(píng)系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--學(xué)生測(cè)評(píng)系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--學(xué)生測(cè)評(píng)系統(tǒng)
- 綜合課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- 通信系統(tǒng)綜合課程設(shè)計(jì)
- 綜合布線系統(tǒng)課程設(shè)計(jì)
- 2015年電子設(shè)計(jì)大賽綜合測(cè)評(píng)題課程設(shè)計(jì)
- 機(jī)電系統(tǒng)綜合課程設(shè)計(jì)
- 2015年電子設(shè)計(jì)大賽綜合測(cè)評(píng)題課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生借閱系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生選課系統(tǒng)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論