




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上綜合程序?qū)嶒?yàn)實(shí)驗(yàn)者姓名:何彥輝 學(xué)號(hào): 實(shí)驗(yàn)日期:2012/6/9一、 實(shí)驗(yàn)題目學(xué)生信息管理程序二、 實(shí)驗(yàn)的目的和要求有一個(gè)班級(jí)的學(xué)生(不超過50人),每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、五門課(英語、高數(shù)、馬哲、計(jì)算機(jī)、電子技術(shù))的成績(jī),從鍵盤輸入此數(shù)據(jù),要求按總分從高到低的順序保存到cj.dat中,并按按學(xué)號(hào)大小從小到大排序打印出沒門課的成績(jī),以及總分最高分的學(xué)生的數(shù)據(jù)(包括學(xué)號(hào)、姓名、各門課的成績(jī)、平均分?jǐn)?shù))。要求:用input函數(shù)輸入學(xué)生數(shù)據(jù),用printscore(x)函數(shù)打印出課程x的成績(jī)表;用max函數(shù)找出最高分?jǐn)?shù)數(shù)據(jù);最高分的學(xué)生在主函數(shù)中輸出。三、程序設(shè)計(jì)
2、思路、流程圖1、程序設(shè)計(jì)思路: 定義結(jié)構(gòu)體數(shù)組來存放學(xué)生信息。用input函數(shù)輸入學(xué)生數(shù)據(jù) ,for循環(huán)輸入學(xué)生數(shù)據(jù)。再編寫printscore(x)函數(shù)打印出課程x的成績(jī)表,其中用了冒泡排序法對(duì)學(xué)號(hào)的排序,還用了if語句對(duì)分?jǐn)?shù)范圍的判斷,來統(tǒng)計(jì)人數(shù)以及計(jì)算比例,在輸出統(tǒng)計(jì)結(jié)果。用max函數(shù)找出最高分?jǐn)?shù)數(shù)據(jù),用for語句遍歷一遍,曬篩選出最高分成績(jī)的學(xué)生數(shù)據(jù),再返回結(jié)構(gòu)體函數(shù)值。文件的打開以及輸入數(shù)據(jù)到文件中再關(guān)閉,其中用了for語句對(duì)文件的輸出,使用了函數(shù)fprintf,fopen,fclose等。最后用main函數(shù)調(diào)用這些函數(shù),再在main函數(shù)里輸出最高成績(jī)的學(xué)生數(shù)據(jù)即完成。2、程序流程圖
3、:for(i=0;i<n;i+)返回最高分的學(xué)生結(jié)構(gòu)體數(shù)組 所有的學(xué)生的總分大于第一個(gè)學(xué)生的總分YN進(jìn)行交換下標(biāo)輸出某科的全班平均分以及每個(gè)分?jǐn)?shù)段的人數(shù)以及比例 for(k=0;k<5;k+)計(jì)算每個(gè)分?jǐn)?shù)段的比例for(i=0;i<n;i+)算出總成績(jī)以及每個(gè)分?jǐn)?shù)段的人數(shù)輸出某個(gè)科目的數(shù)據(jù) for (i=0;i<n;i+))for(j=0;j<n-i;j+) stuj+1> stuj yn前一項(xiàng)與后一項(xiàng)交換 計(jì)算總成績(jī)賦值給結(jié)構(gòu)體存放以及平均值存放到結(jié)構(gòu)體stu中 scanf()輸入學(xué)生數(shù)據(jù)賦值給結(jié)構(gòu)體數(shù)組stu,數(shù)據(jù)的輸入n-s圖直到i大于n(學(xué)生人數(shù))輸
4、入數(shù)據(jù),并排序:對(duì)其中一門課程的成績(jī)輸出,并進(jìn)行了統(tǒng)計(jì): for(i=0;i<n;i+)輸出某個(gè)科目的數(shù)據(jù)for(i=0;i<n;i+)算出總成績(jī)以及每個(gè)分?jǐn)?shù)段的人數(shù) for(k=0;k<5;k+)計(jì)算每個(gè)分?jǐn)?shù)段的比例輸出某科的全班平均分以及每個(gè)分?jǐn)?shù)段的人數(shù)以及比例篩選最高分的成績(jī)的學(xué)生數(shù)據(jù):for(i=0;i<n;i+) 所有的學(xué)生的總分大于第一個(gè)學(xué)生的總分YN進(jìn)行交換下標(biāo)返回最高分的學(xué)生結(jié)構(gòu)體數(shù)組四、關(guān)鍵部分的源代碼定義結(jié)構(gòu)體:struct Studentlong int num;char name20;float grade5;float aver;float t
5、otal;對(duì)最高分的輸出:max_stu=Max(p,n);printf("n");printf("輸出最高分的學(xué)生數(shù)據(jù):n學(xué)號(hào) 姓名 英語 高數(shù) 馬哲 計(jì)算機(jī) 電子技術(shù)n");printf("%-10d%8s%6.2f%6.2f%6.2f%6.2f%6.2fn",max_stu.num,max_,max_stu.grade0,max_stu.grade1,max_stu.grade2,max_stu.grade3,max_stu.grade4);輸入的關(guān)鍵for循環(huán)輸入學(xué)生數(shù)據(jù):for(i=0;i<N;i+)
6、scanf("%d %s %f %f %f %f %f",&stui.num,,&stui.grade0,&stui.grade1,&stui.grade2,&stui.grade3,&stui.grade4);stui.total=stui.grade0+stui.grade1+stui.grade2+stui.grade3+stui.grade4;stui.aver=stui.total/5.0;冒泡排序算法:使用了兩次;一次是對(duì)學(xué)號(hào)的排序,另一次是對(duì)總成績(jī)的排序:for (i=0;i<N;i+)f
7、or(j=0;j<N-i;j+)if(stuj+1.total>stuj.total)t=stuj;stuj=stuj+1;stuj+1=t;文件的打開以及輸入數(shù)據(jù)到文件中在關(guān)閉的程序代碼:fp=fopen("cj.dat","w+");for(i=0;i<n;i+)fprintf(fp,"%-10d,%-10s",p->num,p->name);for(j=0;j<5;j+)fprintf(fp,"%8.2f",p->gradej);fputs("n"
8、,fp);fclose(fp);如下是對(duì)其中一門課程的成績(jī)輸出,并進(jìn)行了統(tǒng)計(jì):其實(shí)可以用一個(gè)函數(shù)把這些代碼包含在里面,之后再調(diào)用五次就可以完成五門課的成績(jī)表輸出了.但由于程序已經(jīng)寫好了,不怎么想改動(dòng)。就免了,其實(shí)改過了也很方便,用個(gè)一個(gè)形參輸入即可控制哪一門的輸出。此處在源程序代碼中copy了五次。printf("課程名稱:英語n");print1();for(i=0;i<3;i+)printf("%-10ld%5s%8.2fn",stui.num,,stui.grade0);print2();for(i=0;i<N;i+)
9、sum+=stui.grade0;if(stui.grade0>=90) rs0+=1;if(stui.grade0>=80&&stui.grade0<90) rs1+=1;if(stui.grade0>=70&&stui.grade0<80) rs2+=1;if(stui.grade0>=60&&stui.grade0<70) rs3+=1;if(stui.grade0<60) rs4+=1;for(k=0;k<5;k+)blk=100.0*rsk/n;printf("90100分
10、(優(yōu)):%4d占%6.2f%n",rs0,bl0);printf("8089分(良):%4d占%6.2f%n",rs1,bl1);printf("7079分(中):%4d占%6.2f%n",rs2,bl2);printf("6069分(及格):%4d占%6.2f%n",rs3,bl3);printf("059分(不及格):%4d占%6.2f%n",rs4,bl4);篩選最高分的成績(jī)的學(xué)生數(shù)據(jù):for(i=0;i<N;i+)if(stuk.total<stui.total)k=i;return stuk;五、實(shí)驗(yàn)運(yùn)行結(jié)果的典型畫面六、實(shí)驗(yàn)總結(jié)這個(gè)實(shí)驗(yàn)真有點(diǎn)難,算法不難,很簡(jiǎn)單,但是格式的要求等等以及語法會(huì)經(jīng)常出錯(cuò),這個(gè)程序我調(diào)試了好久,終于完成了。很高興,不僅因?yàn)槌绦蛲瓿闪?,更是因?yàn)閺闹袑W(xué)會(huì)了很多,有很
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西農(nóng)村建房合同協(xié)議
- 小學(xué)生愛心教育
- 護(hù)理職業(yè)規(guī)劃指南
- 護(hù)理教育學(xué)第五章:護(hù)理教學(xué)的心理學(xué)基礎(chǔ)
- 室內(nèi)設(shè)計(jì)答辯指南
- 中班冬季取暖安全課件
- 先天性甲減的護(hù)理
- 方程的意義教學(xué)
- 商務(wù)圖文靜態(tài)系列 (28)商務(wù)圖文
- 美麗手部讓你更自信
- 固體化學(xué)導(dǎo)論全套課件
- 2025山西杏花村旅游開發(fā)有限公司招聘50人筆試參考題庫附帶答案詳解
- 正式展會(huì)合同協(xié)議
- 工程甩項(xiàng)合同協(xié)議
- 費(fèi)用開支標(biāo)準(zhǔn)管理制度
- 期中模擬卷(新疆專用)-2024-2025學(xué)年八年級(jí)英語下學(xué)期核心素養(yǎng)素質(zhì)調(diào)研模擬練習(xí)試題(考試版)A4
- 甲狀旁腺切除術(shù)后的護(hù)理措施
- 2024慢性鼻竇炎診斷和治療指南解讀課件
- (T8聯(lián)考)2025屆高三部分重點(diǎn)中學(xué)3月聯(lián)合測(cè)評(píng)生物試卷(含答案詳解)河北版
- 員工入職申請(qǐng)表(完整版)
- T-GDEIIA 56-2024 垂直起降低空航空器起降場(chǎng)基礎(chǔ)設(shè)施配置技術(shù)要求
評(píng)論
0/150
提交評(píng)論