




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《C程序設(shè)計(jì)》綜合性實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告題目:學(xué)生成績(jī)管理姓名:班級(jí):學(xué)號(hào):指導(dǎo)教師:完成時(shí)間:2011.05.21
實(shí)驗(yàn)題目學(xué)生成績(jī)管理實(shí)驗(yàn)?zāi)康?.掌握一維數(shù)組、二維數(shù)組的使用方法。2.掌握結(jié)構(gòu)體數(shù)組的定義和使用。3.綜合應(yīng)用數(shù)據(jù)文件的讀寫(xiě)語(yǔ)句保存結(jié)構(gòu)體數(shù)組中的數(shù)據(jù)。實(shí)驗(yàn)要求有4個(gè)學(xué)生,每個(gè)學(xué)生有3門(mén)課的成績(jī),從鍵盤(pán)上輸入以上數(shù)據(jù),計(jì)算每個(gè)學(xué)生的平均分,并把這些信息(包括學(xué)號(hào)、姓名、班級(jí)、3門(mén)課的成績(jī)及平均分)保存到一個(gè)文件(score.txt)中,并顯示在屏幕上。具體要求:定義結(jié)構(gòu)體類型(student_type),其中包括學(xué)號(hào)(num[11])、姓名(name[8])、班級(jí)(class[20])、3門(mén)課成績(jī)(score[3])和平均成績(jī)(ave)。利用該結(jié)構(gòu)體類型定義數(shù)組stud[4]。在主函數(shù)中輸入學(xué)生學(xué)號(hào)、姓名、班級(jí)、3門(mén)課的成績(jī),并計(jì)算出平均成績(jī),然后調(diào)用save()函數(shù)將學(xué)生數(shù)據(jù)保存在score.txt文件中,調(diào)用display()函數(shù)讀取score.txt文件,并將其中的內(nèi)容顯示在屏幕上。定義保存文件函數(shù)save()和顯示文件函數(shù)display()。程序流程圖程序代碼#include<stdio.h>#include<stdlib.h>#defineSIZE4structstudent_type{charname[4];intnum[11];intscore[3];floatave;charclass[20];}stud[SIZE];intmain(){inti;FILE*fp;if((fp=fopen("stu.dat","rb"))==NULL)//打開(kāi)輸入文件atu.dat{printf("cannotopenfile\n");exit(0);}for(i=0;i<SIZE;i++){fread(&stud[i],sizeof(structstudent_type),1,fp);//從fp指向的文件讀入一組數(shù)據(jù)printf("%-10s,%4d,%4d,%7.2f,%7.2f\n",stud[i].name,stud[i].num,stud[i].class,stud[i].Score,stud[i],ave);//在屏幕上輸出這組數(shù)據(jù)}fclose(fp);//關(guān)閉文件"stu.dat"return0;}voidave(){floatsum;inti,j;for(i=0;i<4;i++){sum=0;for(j=0;j<3;j++)sum=sum+stud[i].class[j];stud[i].ave=sum/3;}}3建立保存學(xué)生成績(jī)函數(shù)voidsave(){FILE*fp;inti;if((fp=fopen("stu-list","wb"))==NULL){printf("cannotopenfile\n");return;}for(i=0;i<SIZE;i++)/*二進(jìn)制寫(xiě)*/if(fwrite(&stud[i],sizeof(structstudent_type),1,fp)!=1)printf("filewriteerror\n");/*出錯(cuò)處理*/fclose(fp);/*關(guān)閉文件*/}4建立顯示學(xué)生成績(jī)函數(shù)voiddisplay(){FILE*fp;inti;if((fp=fopen("d:\\fengyi\\exe\\stu_dat","rb"))==NULL){printf("cannotopenfile\n"); return;}for(i=0;i<SIZE;i++){fread(&stud[i],sizeof(structstudent_type),1,fp);printf("%-10s%4d%4d%-15s\n",stud[i].name,stud[i].num,stud[i].class,stud[i].score,stud[i].ave);}fclose(fp);}組合之后的程序如下:#include<stdio.h>
structstudent
{charname[10];
intnum;
intgrade;
floatscore[3];
floataver;
}stud[4];
intmain()
{
voidsave();
voiddisplay();
inti,j;floatsum=0;
printf("請(qǐng)輸入各學(xué)生信息:姓名、學(xué)號(hào)、班級(jí)、三門(mén)課成績(jī):\n");
for(i=0;i<4;sum=0,i++)
{scanf("%s%d%d%f%f%f",&stud[i].name,&stud[i].num,&stud[i].grade,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
for(j=0;j<3;j++)
{
sum=sum+stud[i].score[j];
}
stud[i].aver=(float)(sum/3.0);
}
save();
display();
}
voidsave()
{FILE*fp;
inti;
if((fp=fopen("score.txt","wb"))==NULL)
{printf("cannotopenfile\n");
return;
}
for(i=0;i<4;i++)
if(fwrite(&stud[i],sizeof(structstudent),1,fp)!=1)
printf("filewriteerror\n");
fclose(fp);
}
voiddisplay()
{FILE*fp;
inti;
if((fp=fopen("score.txt","rb"))==NULL)
{printf("cannotopenfile\n");
return;
}
for(i=0;i<4;i++)
{fread(&stud[i],sizeof(structstudent),1,fp);
printf("%-10s%4d%4d%5.1f%5.1f%5.1f%5.1f\n",stud[i].name,stud[i].num,stud[i].grade,stud[i].score[0],
stud[i].score[1],stud[i].score[2],stud[i].aver);
}
fclose(fp);
}
實(shí)驗(yàn)結(jié)果運(yùn)行情況如下:實(shí)驗(yàn)體會(huì)通過(guò)對(duì)本次綜合實(shí)驗(yàn)報(bào)告編寫(xiě),又讓我對(duì)c語(yǔ)言有了更近一步的了解和認(rèn)識(shí),本次程序使用了全局變量與局部變量,以前我對(duì)局部變量和全局變量的概念和用途的認(rèn)識(shí)比較模糊,通過(guò)編寫(xiě),使我重新認(rèn)識(shí)了這兩種變量,從他們?cè)诔绦蛑械亩x與聲明位置到他們?cè)诔绦?/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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥物治療了嗎練習(xí)測(cè)試卷
- 養(yǎng)豬場(chǎng)租賃合同書(shū)
- 跨境電商平臺(tái)運(yùn)營(yíng)策略及市場(chǎng)拓展研究
- 油茶種苗采購(gòu)合同范本
- 船舶配件合同范本
- 通訊配件出售合同范本
- 復(fù)工復(fù)產(chǎn)培訓(xùn)計(jì)劃
- 室內(nèi)線安裝合同范本
- 2025電梯設(shè)備安裝合同協(xié)議書(shū)范本
- 外景拍照合同范本
- 《變電站二次系統(tǒng)數(shù)字化設(shè)計(jì)編碼規(guī)范》
- 住建局安全生產(chǎn)匯報(bào)
- 《老年社會(huì)工作》課件-老年社會(huì)生活相關(guān)理論及應(yīng)用
- 2022年全國(guó)高考數(shù)學(xué)(新高考1卷)試題及答案解析
- 消化系統(tǒng)腫瘤的預(yù)防和治療
- 2024年高考一輪復(fù)習(xí)精細(xì)講義第25講 實(shí)驗(yàn):驗(yàn)證動(dòng)量守恒定律(原卷版+解析)
- 2023年4月自考00037美學(xué)真題及答案含解析
- 2024年山東淄博市熱力集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 審查易系統(tǒng)操作指南
- 護(hù)理中針刺傷預(yù)防和處理
- 畢業(yè)設(shè)計(jì)論文《10t單梁橋式起重機(jī)的設(shè)計(jì)》
評(píng)論
0/150
提交評(píng)論