![學(xué)生成績(jī)分布統(tǒng)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view12/M03/27/2B/wKhkGWYjvnuAQEfpAAF15PxCUwY023.jpg)
![學(xué)生成績(jī)分布統(tǒng)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view12/M03/27/2B/wKhkGWYjvnuAQEfpAAF15PxCUwY0232.jpg)
![學(xué)生成績(jī)分布統(tǒng)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view12/M03/27/2B/wKhkGWYjvnuAQEfpAAF15PxCUwY0233.jpg)
![學(xué)生成績(jī)分布統(tǒng)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view12/M03/27/2B/wKhkGWYjvnuAQEfpAAF15PxCUwY0234.jpg)
![學(xué)生成績(jī)分布統(tǒng)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view12/M03/27/2B/wKhkGWYjvnuAQEfpAAF15PxCUwY0235.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第第頁(yè)學(xué)生成績(jī)分布統(tǒng)計(jì)同學(xué)成果分布統(tǒng)計(jì)
一、課程設(shè)計(jì)時(shí)間
2022年第2學(xué)期第15周,即6月13日~6月17日,共計(jì)1周,20學(xué)時(shí)。
二、課程設(shè)計(jì)內(nèi)容
用C語(yǔ)言編寫軟件完成以下任務(wù):
用C語(yǔ)言編寫軟件模擬數(shù)字化成果管理,用戶界面中的菜單至少包括“讀取數(shù)據(jù)、”“按學(xué)號(hào)或姓名查詢、”“統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)、”“退出”4項(xiàng);
讀取數(shù)據(jù):C語(yǔ)言其中考試成果保存在文件file29.te*t中,數(shù)據(jù)格式為:學(xué)號(hào),姓名,成果;
按學(xué)號(hào)和姓名查詢:實(shí)現(xiàn)成果查詢
統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù):分?jǐn)?shù)段指不及格、及格、中等、良好、優(yōu)秀5種成果,能夠統(tǒng)計(jì)個(gè)分?jǐn)?shù)段的人數(shù)。
沈陽(yáng)航空航天高校設(shè)計(jì)用紙
目次
一、需求分析1
二、設(shè)計(jì)分析2
三、主要界面截圖7
四、技術(shù)要點(diǎn)8
五、個(gè)人總結(jié)11
六、
一、需求分析
依據(jù)任務(wù)書給定的“課程設(shè)計(jì)內(nèi)容”和“課程設(shè)計(jì)要求”作如下的需求分析。
1、安全性分析
這個(gè)系統(tǒng)涉及到同學(xué)的信息比較大,其中包括同學(xué)的學(xué)號(hào)及同學(xué)的姓名。是一些比較隱私的信息。能夠?qū)崿F(xiàn)許多同學(xué)信息的查詢。這里就涉及到同學(xué)信息的安全性問(wèn)題,所以我這個(gè)程序要很好的把安全性做好。
2、穩(wěn)定性分析
這個(gè)系統(tǒng)涉及到的信息量比較大,假如操得步驟不正確。那么系統(tǒng)間就會(huì)不好用,整個(gè)程序就會(huì)功虧一簣,所以我們要保證操操作的正確性,整個(gè)程序才能正確穩(wěn)定的進(jìn)行。
3、經(jīng)過(guò)對(duì)程序的分析討論,可知這個(gè)程序有四個(gè)功能,讀取數(shù)據(jù)、按學(xué)號(hào)或姓名查詢、統(tǒng)計(jì)個(gè)分?jǐn)?shù)段人數(shù)、退出等
4、讀取數(shù)據(jù)需要一個(gè)函數(shù),我把它定義為“duqu”它要實(shí)現(xiàn)的是從電腦的磁盤中吧需要的數(shù)據(jù)讀取出來(lái)。
5、按學(xué)號(hào)和姓名的查詢,在這里我有需要一個(gè)查
詢函數(shù),我定義它為“cha*un”,當(dāng)輸入學(xué)號(hào)或姓名是要有結(jié)果。
6、統(tǒng)計(jì)各個(gè)分?jǐn)?shù)段的人數(shù),需要一個(gè)計(jì)數(shù)函數(shù),她要用到我們所學(xué)的“switchcase”循環(huán)這里你要統(tǒng)計(jì)出不及格、及格、中、良好、優(yōu)秀的人數(shù)
二、設(shè)計(jì)分析
有分析可知。我所設(shè)計(jì)的這個(gè)程序有四部分組成,每一部分都采納了一個(gè)自定義函數(shù)來(lái)完成。也就是有三個(gè)自定義函數(shù)來(lái)完成它。最末是退出。
自定義函數(shù)duqu,他是的功能是從電腦的磁盤中讀取出來(lái)所需的數(shù)據(jù)
自定義函數(shù)cha*un是要是想查詢的功能,也就是說(shuō)當(dāng)輸入學(xué)號(hào)或姓名是能在知道他的成果
自定義函數(shù)all是進(jìn)行人數(shù)統(tǒng)計(jì)的,也就是,不及格、及格、中、良好、優(yōu)秀的人數(shù)。
1、程序總體結(jié)構(gòu)圖
2、N-S結(jié)構(gòu)框圖
3、主要功能模塊框圖
〔1〕讀取同學(xué)信息
〔2〕同學(xué)成果查詢
圖2同學(xué)信息查詢
3〕統(tǒng)計(jì)同學(xué)成果
圖3
三、主要界面截圖
圖1
程序主界面及讀取界面
圖2成果查詢及統(tǒng)計(jì)界面
1、結(jié)構(gòu)體的應(yīng)用來(lái)描述同學(xué)的基本信息。詳細(xì)程序段
如下:
structstudent/*定義結(jié)構(gòu)體*/
{charnum[10];
charname[20];
intscore;
}stud[ren];
2、文件的讀取
主要就是充分運(yùn)用老師所給的數(shù)據(jù),來(lái)完成我的整個(gè)程序,那么我是運(yùn)用已有的函數(shù)來(lái)打開這個(gè)文件的。這個(gè)函數(shù)是fopen函數(shù)。它主要的功能就是從計(jì)算機(jī)中讀取數(shù)據(jù)。如下就是我的讀取文件的程序。在這里指針文件指向我用文件的地址,用來(lái)方便查找文件。文件是以只讀的形式打開的。
inti;
FILE*fp;/*定義一個(gè)變量指向FILE*/
fp=fopen(d:\\file29.t*t,r);/*以只讀的形式打開文件*/for(i=0;iren;i++)
{fscanf(fp,%s\t%s\t%d\n,stud[i].num,stud[i].name,stud[i].score);
printf(%s\t%s\t%d\n,stud[i].num,stud[i].name,stud[i].score);}fclose(fp)
3、成果的查詢
在這里主要的功能是實(shí)現(xiàn)對(duì)同學(xué)成果的查詢,在這里由兩種方法可以查詢成果,第一種通過(guò)數(shù)日同學(xué)的學(xué)號(hào)對(duì)成果的查詢,另一種方法是通過(guò)輸入同學(xué)的姓名對(duì)成果進(jìn)行查詢。這兩種方法是獨(dú)立的,是不相互影響的,在這里我只要運(yùn)用的是switch..case多分枝結(jié)構(gòu)選擇的運(yùn)用。那么下面就是我的程序,在這里可以實(shí)現(xiàn)對(duì)同學(xué)成果的學(xué)號(hào)查詢和姓名查詢。這樣也是程序更加的合理化,更加的簡(jiǎn)約,明白。
{inti,flag=0,a;charb[100],*[20];
printf(請(qǐng)選擇:1.學(xué)號(hào)2.姓名\n);
scanf(%d,a);
switch(a)/*選擇語(yǔ)句*/
{case1:printf(輸入學(xué)號(hào):\n);scanf(%s,*);
for(i=0;i25;i++)
if(strcmp(stud[i].num,*)==0)
{printf(分?jǐn)?shù):%d\n,stud[i].fen);
flag=1;
}
if(flag==0)printf(沒有此人!\n);break;
case2:printf(輸入姓名:\n);scanf(%s,b);
for(i=0;i25;i++)
if(strcmp(stud[i].name,b)==0)
{printf(%d\n,stud[i].fen);
flag=1;break;
}
if(flag==0)printf(沒有此人!\n);break;
}
4、成果的統(tǒng)計(jì)
我要統(tǒng)計(jì)該班級(jí)有多少人是優(yōu)秀,多少人是良好,多少人是中等,多少人及格,多少人不及格。這樣是班級(jí)的成果更加明白,但是這一步也是特別的麻煩,一不當(dāng)心就會(huì)出錯(cuò),所以這部我選擇了比較保險(xiǎn)的步驟,if.else結(jié)構(gòu)。這樣我的程序就是順次向下執(zhí)行,假如成果符合大于90那么優(yōu)秀的人增加一個(gè),否那么繼續(xù)向下執(zhí)行,知道判斷玩這個(gè)人在進(jìn)行下一個(gè)人的判斷,直到最末涌現(xiàn)我要的結(jié)果。下面就是我的程序
inti,a=0,b=0,c=0,d=0,e=0;
for(i=0;i25;i++)
{if(stud[i].score=90)a++;
elseif(stud[i].score=80)b++;
elseif〔stud[i].score80)c++;
elseif(stud[i].score70)d++;
elseif(stud[i].score60)e++;
}
printf(=90優(yōu)秀的人數(shù):\t%d\n90,=80良好的人數(shù):
\t%d\n80,=70中等的人數(shù):\t%d\n70,=60幾個(gè)的人數(shù):\t%d\n60不及格的人數(shù):\t%d\n,a,b,c,d,e);
這樣下來(lái)我的程序基本就完成了,整個(gè)過(guò)程我運(yùn)用了最基本的c語(yǔ)言知識(shí),其中包括for循環(huán),switchcase分支結(jié)構(gòu),ifelse選擇語(yǔ)句。
五、個(gè)人總結(jié)
通過(guò)這一周的C語(yǔ)言課程設(shè)計(jì),我又進(jìn)一步的學(xué)習(xí)了C語(yǔ)言知識(shí),也學(xué)會(huì)了真正的去編寫一個(gè)實(shí)際應(yīng)用的程序,真正的吧課堂學(xué)到的東西運(yùn)用到現(xiàn)實(shí)生活中,雖然編程的過(guò)程很困難,很愁人,但是當(dāng)我真的編寫出來(lái)、運(yùn)行出來(lái)心里那份滿意感是無(wú)法用語(yǔ)言來(lái)形容的,說(shuō)不出來(lái),但是真的很快樂。當(dāng)然在這個(gè)過(guò)程中我也遇到了許多的困難,有的也真是我自己解決不了的,在這里也費(fèi)城感謝那些給我援助的老師同學(xué)。有了你們我的課設(shè)才會(huì)這么順當(dāng)。
六、
七、源程序
#includestdio.h
#includestring.h
#includestdlib.h
#defineren25
structstudent/*定義結(jié)構(gòu)體*/
{charnum[10];
charname[20];
intscore;
}stud[ren];
voidduqu()/*讀取函數(shù)*/
{inti;
FILE*fp;/*定義一個(gè)變量指向FILE*/
fp=fopen(d:\\file29.t*t,r);/*以只讀的形式打開文件*/for(i=0;iren;i++)
{fscanf(fp,%s\t%s\t%d\n,stud[i].num,stud[i].name,stud[i].score);printf(%s\t%s\t%d\n,stud[i].num,stud[i].name,stud[i].score);}fclose(fp);
}
voidcha*un()/*查詢函數(shù)*/
{inti,flag=0,a;charb[100],*[20];
printf(請(qǐng)選擇:1.同學(xué)學(xué)號(hào)2.同學(xué)姓名\n);
scanf(%d,a);
switch(a)/*選擇語(yǔ)句*/
{case1:printf(輸入同學(xué)學(xué)號(hào):\n);scanf(%s,*);
for(i=0;i25;i++)
if(strcmp(stud[i].num,*)==0)
{printf(分?jǐn)?shù):%d\n,stud[i].score);
flag=1;
}
if(flag==0)printf(查詢沒有此人!\n);break;
case2:printf(輸入同學(xué)姓名:\n);scanf(%s,b);
for(i=0;i25;i++)
if(strcmp(stud[i].name,b)==0)
{printf(%d\n,stud[i].score);
flag=1;break;
}
if(flag==0)printf(查詢沒有此人!\n);break;
}
}
voidall()/*統(tǒng)計(jì)函數(shù)*/
{inti,a=0,b=0,c=0,d=0,e=0;
for(i=0;i25;i++)
{if(stud[i].score=90)a++;
elseif(stud[i].score=80)b++;
elseif(stud[i].score80)c++;
elseif(stud[i].score70)d++;
elseif(stud[i].score60)e++;
}
printf(=90優(yōu)秀的人數(shù):\t%d\n90,=80良好的人數(shù):\t%d\n80,=70中等的人數(shù):\t%d\n70,=60幾個(gè)的人數(shù):\t%d\n60不及格的人數(shù):\t%d\n,a,b,c,d,e);
}
voidmain()/*主函數(shù)*/
{printf(************************************************\n);printf(******歡迎您進(jìn)入同學(xué)成果分布系******\n);printf(*******1:讀取數(shù)據(jù)*******\n);printf(******2:按學(xué)號(hào)或姓名查詢成果******\n);printf(******3:統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)******\n);printf(4:退出系統(tǒng)\n);
printf(************************************************\n);while(1)
{intch;
printf(輸入你的選擇:\n);
scanf(%d,ch);
switch(ch)/*選擇語(yǔ)句*/{case1:duqu();break;
case2:cha*un();break;
case3:all();break;
case4:e*it(0);break;
default:printf(錯(cuò)誤,請(qǐng)按任意鍵繼續(xù)!\n);break;}
}
}
同學(xué)成
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 少先鋒隊(duì)申請(qǐng)書
- 全國(guó)導(dǎo)游基礎(chǔ)知識(shí)-導(dǎo)游資格全國(guó)導(dǎo)游基礎(chǔ)知識(shí)2021年真題
- 管理班級(jí)申請(qǐng)書
- 企業(yè)信息披露結(jié)構(gòu)與透明度提升規(guī)范
- 校資助貧困申請(qǐng)書
- 2024-2025學(xué)年安徽省合肥市普通高中高二上學(xué)期期末總復(fù)習(xí)測(cè)物理試卷(解析版)
- 江蘇省鹽城市2024-2025學(xué)年高二上學(xué)期學(xué)業(yè)水平合格性模擬檢測(cè)物理試題(解析版)
- 2024-2029年中國(guó)氫能承壓設(shè)備(氫能裝備)行業(yè)發(fā)展前景預(yù)測(cè)與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2025年江蘇南通市中央創(chuàng)新區(qū)建設(shè)投資有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 電梯系統(tǒng)的遠(yuǎn)程監(jiān)控與故障診斷技術(shù)
- 2024年山東公務(wù)員考試申論試題(B卷)
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算帶括號(hào))計(jì)算題專項(xiàng)練習(xí)與答案
- 攝影攝像技術(shù)專業(yè)申請(qǐng)表
- 浙江省紹興市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 牡丹區(qū)中心醫(yī)院食源性疾病監(jiān)測(cè)培訓(xùn)課件
- 職業(yè)衛(wèi)生工程控制技術(shù)課件
- 高中英語(yǔ)常用詞匯表(動(dòng)詞、名詞、形容詞和副詞)
- 16萬(wàn)噸_年液化氣綜合利用裝置廢酸環(huán)保綜合利用項(xiàng)目環(huán)境報(bào)告書
- 品牌簡(jiǎn)單之道講義
- 人教版八年級(jí)數(shù)學(xué)第二學(xué)期教學(xué)計(jì)劃+教學(xué)進(jìn)度表
- 魯教版五四制七年級(jí)上冊(cè)英語(yǔ)單元題
評(píng)論
0/150
提交評(píng)論