河南科技大學C語言課程設計設計報告(含源代碼)_第1頁
河南科技大學C語言課程設計設計報告(含源代碼)_第2頁
河南科技大學C語言課程設計設計報告(含源代碼)_第3頁
河南科技大學C語言課程設計設計報告(含源代碼)_第4頁
河南科技大學C語言課程設計設計報告(含源代碼)_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

學院:電子信息工程學院班級:自動化101班姓名:高賢哲學號:10104010104

一、綜合訓練的任務及要求

任務:C語言綜合訓練是為了提高學生綜合使用本學期我們所學的C語言知識編寫大

型程序的能力,了解大型程序設計的開發步驟,以上機為主,每個學生依照要求使用C語言設計一個大型程序,并提供相關的設計文檔和源程序,從網站提交。

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

依照如下格式存放:

1001stuname1891002stuname2781003stuname360??

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

a.定義一個結構體類型數組,結構體類型含有學號、姓名和成績三個域;b.將文本文件的內容讀入到結構體數組中;

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

e.顯示成績為優秀(90~100)、良好(80~89)、中等(70~79)、及格(60~

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

二、程序實現的功能、算法描述和程序實現的流程圖

程序的功能:

a.將指定文本文件的內容讀入到程序定義的結構體數組中;

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

d.顯示成績為優秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、

第1頁,共16頁

設計報告

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

S1:定義一個結構體類型structstudent數組student[100],結構體類型struct

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

S3:將文本文件stuin.txt的內容讀入到結構體數組student[100]中S4:score_max=student[0].scoreS5:i=1

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

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

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

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

設計報告

三、程序的調試

調試過程中遇到fread函數使用錯誤,導致文件讀取失敗。后改用fscanf函數,解決了文件讀取問題。

變量的運用出現了一些問題。最終把多個函數需要用到的需要保存原值的變量設為了全局變量。

四、課程設計總結與體會

通過這次課程設計,我對循環結構控制、函數調用、結構體、文件操作更加熟悉,對C語言程序設計有了更加深入的認識,鍛煉了編寫大型程序的能力,了解了大型程序設計的開發步驟。

C語言主體應是由函數調用構成的,應盡可能把相對獨立的功能單獨用一個函數來編寫,這樣可以提高程序的可讀性,也能降低編寫大型程序的難度,減少編程出錯的可能性。

第11頁,共16頁

設計報告

源代碼:#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(\取得最高成績的學生的信息:\\n\for(i=0;iave)

more_than++;

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

equal++;

elseless_than++;

FILE*fp2;

fp2=fopen(\

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

設計報告

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,\取得“優秀〞的學生人數:%d\\t%.1f%%\\n\

第15頁,共16頁

設計報告

}

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論