河南科技大學(xué)C語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告(含源代碼)_第1頁
河南科技大學(xué)C語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告(含源代碼)_第2頁
河南科技大學(xué)C語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告(含源代碼)_第3頁
河南科技大學(xué)C語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告(含源代碼)_第4頁
河南科技大學(xué)C語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告(含源代碼)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——河南科技大學(xué)C語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告(含源代碼)設(shè)計(jì)報(bào)告

學(xué)院:電子信息工程學(xué)院班級:自動(dòng)化101班姓名:高賢哲學(xué)號:10104010104

一、綜合訓(xùn)練的任務(wù)及要求

任務(wù):C語言綜合訓(xùn)練是為了提高學(xué)生綜合使用本學(xué)期我們所學(xué)的C語言知識編寫大

型程序的能力,了解大型程序設(shè)計(jì)的開發(fā)步驟,以上機(jī)為主,每個(gè)學(xué)生依照要求使用C語言設(shè)計(jì)一個(gè)大型程序,并提供相關(guān)的設(shè)計(jì)文檔和源程序,從網(wǎng)站提交。

要求:已知在磁盤上有一個(gè)文本文件(stuin.txt),此文件存放了一組學(xué)生的成績信息,

依照如下格式存放:

1001stuname1891002stuname2781003stuname360??

1100stuname10087請依照如下要求編寫程序:

a.定義一個(gè)結(jié)構(gòu)體類型數(shù)組,結(jié)構(gòu)體類型含有學(xué)號、姓名和成績?nèi)齻€(gè)域;b.將文本文件的內(nèi)容讀入到結(jié)構(gòu)體數(shù)組中;

c.顯示成績最高的人的學(xué)號、姓名和成績(假使有一致的人要全部顯示);d.顯示平均成績、高于、低于和等于平均成績的人數(shù);

e.顯示成績?yōu)閮?yōu)秀(90~100)、良好(80~89)、中等(70~79)、及格(60~

69)、不及格(0~59)的人數(shù)和所占百比分;f.將以上顯示的信息存放到stuout.txt文件中。

二、程序?qū)崿F(xiàn)的功能、算法描述和程序?qū)崿F(xiàn)的流程圖

程序的功能:

a.將指定文本文件的內(nèi)容讀入到程序定義的結(jié)構(gòu)體數(shù)組中;

b.顯示成績最高的人的學(xué)號、姓名和成績(假使有一致的人全部顯示);c.顯示平均成績、高于、低于和等于平均成績的人數(shù);

d.顯示成績?yōu)閮?yōu)秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、

第1頁,共16頁

設(shè)計(jì)報(bào)告

不及格(0~59)的人數(shù)和所占百分比;e.將以上顯示的信息存放到指定文件中。算法描述:

S1:定義一個(gè)結(jié)構(gòu)體類型structstudent數(shù)組student[100],結(jié)構(gòu)體類型struct

student含有intnum、charname[20]、floatscore三個(gè)域;定義全局整型變量i,score_max,sum,more_than,equal,less_than,A,B,C,D,E;定義全局浮點(diǎn)型變量aveS2:以〞r(shí)〞的方式開啟文本文件stuin.txt

S3:將文本文件stuin.txt的內(nèi)容讀入到結(jié)構(gòu)體數(shù)組student[100]中S4:score_max=student[0].scoreS5:i=1

S6:若student[i].score>score_max執(zhí)行S7;否則,執(zhí)行S8S7:score_max=student[i].scoreS8:i=i+1

S9:若iave執(zhí)行S23;否則,執(zhí)行S24S23:more_than=more_than+1,執(zhí)行S27

S24:若student[i].score=ave執(zhí)行S25;否則,執(zhí)行S26S25:equal=equal+1,執(zhí)行S27S26:less_than=less_than+1S27:i=i+1

S28:若iscore_max是score_max=student[i].scorei=i+1輸出“取得最高成績的學(xué)生的信息:〞到屏幕i=0否i

設(shè)計(jì)報(bào)告

三、程序的調(diào)試

調(diào)試過程中遇到fread函數(shù)使用錯(cuò)誤,導(dǎo)致文件讀取失敗。后改用fscanf函數(shù),解決了文件讀取問題。

變量的運(yùn)用出現(xiàn)了一些問題。最終把多個(gè)函數(shù)需要用到的需要保存原值的變量設(shè)為了全局變量。

四、課程設(shè)計(jì)總結(jié)與體會(huì)

通過這次課程設(shè)計(jì),我對循環(huán)結(jié)構(gòu)控制、函數(shù)調(diào)用、結(jié)構(gòu)體、文件操作更加熟悉,對C語言程序設(shè)計(jì)有了更加深入的認(rèn)識,鍛煉了編寫大型程序的能力,了解了大型程序設(shè)計(jì)的開發(fā)步驟。

C語言主體應(yīng)是由函數(shù)調(diào)用構(gòu)成的,應(yīng)盡可能把相對獨(dú)立的功能單獨(dú)用一個(gè)函數(shù)來編寫,這樣可以提高程序的可讀性,也能降低編寫大型程序的難度,減少編程出錯(cuò)的可能性。

第11頁,共16頁

設(shè)計(jì)報(bào)告

源代碼:#includestructstudent{

intnum;charname[11];intscore;

}student[100];

inti,score_max,sum,more_than,equal,less_than,A,B,C,D,E;floatave;

voidmax(){}

voidsave_max(){

第12頁,共16頁

voidsave_max();

score_max=student[0].score;for(i=0;iscore_max)

score_max=student[i].score;

printf(\取得最高成績的學(xué)生的信息:\\n\for(i=0;iave)

more_than++;

elseif(student[i].score==ave)

equal++;

elseless_than++;

FILE*fp2;

fp2=fopen(\

fprintf(fp2,\高于平均成績的學(xué)生人數(shù):%d\\n\fprintf(fp2,\等于平均成績的學(xué)生人數(shù):%d\\n\fprintf(fp2,\低于平均成績的學(xué)生人數(shù):%d\\n\\n\fclose(fp2);

設(shè)計(jì)報(bào)告

voidrank(){}

voidsave_rank(){

voidsave_rank();A=B=C=D=E=0;for(i=0;i=90)

elseif((student[i].score>=80)

elseif((student[i].score>=70)

elseif((student[i].score>=60)

elseE++;

FILE*fp2;

fp2=fopen(\

fprintf(fp2,\取得“優(yōu)秀〞的學(xué)生人數(shù):%d\\t%.1f%%\\n\

第15頁,共16頁

設(shè)計(jì)報(bào)告

}

fprintf(fp2,\取得“良好〞的學(xué)生人數(shù):%d\\t%.1f%%\\n\fprintf(fp2,\取得“中等〞的學(xué)生人數(shù):%d\\t%.1f%%\\n\fprintf(fp2,\取得“及格〞的學(xué)生人數(shù):%d\\t%.

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論