版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)生成績(jī)分布統(tǒng)計(jì)一、課程設(shè)計(jì)時(shí)間2011年第2學(xué)期第15周,即6月13日?6月17日,共計(jì)1周,20學(xué)時(shí)。二、課程設(shè)計(jì)內(nèi)容用C語(yǔ)言編寫(xiě)軟件完成以下任務(wù):用C語(yǔ)言編寫(xiě)軟件模擬數(shù)字化成績(jī)管理,用戶界面中的菜單至少包括“讀取數(shù)據(jù)、”“按學(xué)號(hào)或姓名查詢、”“統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)、”“退出”4項(xiàng);讀取數(shù)據(jù):C語(yǔ)言其中考試成績(jī)保存在文件file29.text中,數(shù)據(jù)格式為:學(xué)號(hào),姓名,成績(jī);按學(xué)號(hào)和姓名查詢:實(shí)現(xiàn)成績(jī)查詢統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù):分?jǐn)?shù)段指不及格、及格、中等、良好、優(yōu)秀5種成績(jī),能夠統(tǒng)計(jì)個(gè)分?jǐn)?shù)段的人數(shù)。目錄TOC\o"1-5"\h\z一、需求分析1二、設(shè)計(jì)分析2\o"CurrentDocument"三、主要界面截圖7\o"CurrentDocument"四、技術(shù)要點(diǎn)8\o"CurrentDocument"五、個(gè)人總結(jié)11\o"CurrentDocument"六、參考文獻(xiàn)11\o"CurrentDocument"七、源程序12一、需求分析根據(jù)任務(wù)書(shū)給定的“課程設(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)的是從電腦的磁盤(pán)中吧需要的數(shù)據(jù)讀取出來(lái)。5、按學(xué)號(hào)和姓名的查詢,在這里我有需要一個(gè)查詢函數(shù),我定義它為“chaxun”,當(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,他是的功能是從電腦的磁盤(pán)中讀取出來(lái)所需的數(shù)據(jù)自定義函數(shù)chaxun是要是想查詢的功能,也就是說(shuō)當(dāng)輸入學(xué)號(hào)或姓名是能在知道他的成績(jī)自定義函數(shù)all是進(jìn)行人數(shù)統(tǒng)計(jì)的,也就是,不及格、及格、中、良好、優(yōu)秀的人數(shù)。1、程序總體結(jié)構(gòu)圖3、主要功能模塊框圖(1)讀取學(xué)生信息顯示日錄讀取學(xué)生信息(2)學(xué)生成績(jī)查詢圖2學(xué)生信息查詢3)統(tǒng)計(jì)學(xué)生成績(jī)■VVV■圖3統(tǒng)計(jì)學(xué)生成績(jī)printf(">=90優(yōu)秀的人數(shù):\t%d\n<90,圖3統(tǒng)計(jì)學(xué)生成績(jī)?nèi)?、主要界面截圖'■D:\llll\Debug\llll.ese"325邦建杰22前入你的苞擇:選擇:1.學(xué)生學(xué)號(hào)2.學(xué)生姓名京入學(xué)生學(xué)號(hào):325分?jǐn)?shù):22高入你的選擇:清選擇:1?學(xué)生學(xué)號(hào)2?學(xué)生姓名密生姓名:鬲入你的選擇:48348342成績(jī)查詢及統(tǒng)計(jì)界面:90,>=80良好的人數(shù)::80,>=70中等的人教::70,>=60幾個(gè)的人數(shù):笛。不衣格的人器就入你的選作:圖幽狗拼音半=四、技術(shù)要點(diǎn)1、結(jié)構(gòu)體的應(yīng)用來(lái)描述學(xué)生的基本信息。具體程序段如下:structstudent/*定義結(jié)構(gòu)體*/(charnum[10];charname[20];intscore;}stud[ren];2、文件的讀取主要就是充分運(yùn)用老師所給的數(shù)據(jù),來(lái)完成我的整個(gè)程序,那么我是運(yùn)用已有的函數(shù)來(lái)打開(kāi)這個(gè)文件的。這個(gè)函數(shù)是fopen函數(shù)。它主要的功能就是從計(jì)算機(jī)中讀取數(shù)據(jù)。如下就是我的讀取文件的程序。在這里指針文件指向我用文件的地址,用來(lái)方便尋找文件。文件是以只讀的形式打開(kāi)的。inti;FILE*fp;/*定義一個(gè)變量指向FILE*/fp=fopen(〃d:\\file29.txt〃,〃r〃);/*以只讀的形式打開(kāi)文件*/for(i=0;i<ren;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、成績(jī)的查詢?cè)谶@里主要的功能是實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的查詢,在這里由兩種方法可以查詢成績(jī),第一種通過(guò)數(shù)日學(xué)生的學(xué)號(hào)對(duì)成績(jī)的查詢,另一種方法是通過(guò)輸入學(xué)生的姓名對(duì)成績(jī)進(jìn)行查詢。這兩種方法是獨(dú)立的,是不互相影響的,在這里我只要運(yùn)用的是switch???..case多分枝結(jié)構(gòu)選擇的運(yùn)用。那么下面就是我的程序,在這里可以實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的學(xué)號(hào)查詢和姓名查詢。這樣也是程序更加的合理化,更加的簡(jiǎn)單,明了。{inti,flag=0,a;charb[100],x[20];printf("請(qǐng)選擇:1.學(xué)號(hào)2.姓名\n〃);scanf(〃%d〃,&a);switch(a)/*選擇語(yǔ)句*/{case1:printf(〃輸入學(xué)號(hào):\n〃);scanf(〃%s〃,x);for(i=0;i<25;i++)if(strcmp(stud[i].num,x)==0){printf("分?jǐn)?shù):%d\n”,stud[i].fen);flag=1;}if(flag==0)printf("'沒(méi)有此人!\n");break;case2:printf("輸入姓名:\n");scanf(〃%s〃,b);for(i=0;i<25;i++)if(strcmp(stud[i].name,b)==0){printf(〃%d\n〃,stud[i].fen);flag=1;break;}if(flag==0)printf("沒(méi)有此人!\n");break;}4、成績(jī)的統(tǒng)計(jì)我要統(tǒng)計(jì)該班級(jí)有多少人是優(yōu)秀,多少人是良好,多少人是中等,多少人及格,多少人不及格。這樣是班級(jí)的成績(jī)更加明了,但是這一步也是非常的麻煩,一不小心就會(huì)出錯(cuò),所以這部我選擇了比較保險(xiǎn)的步驟,if???.else結(jié)構(gòu)。這樣我的程序就是順次向下執(zhí)行,如果成績(jī)符合大于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;i<25;i++){if(stud[i].score>=90)a++;elseif(stud[i].score>=80)b++;elseif(stud[i].score<80)c++;elseif(stud[i].score<70)d++;elseif(stud[i].score<60)e++;}printf(">=90優(yōu)秀的人數(shù):\t%d\n<90,>=80良好的人數(shù):\t%d\n<80,>=70中等的人數(shù):\t%d\n<70,>=60幾個(gè)的人數(shù):\t%d\n<60不及格的人數(shù):\t%d\n”,a,b,c,d,e);這樣下來(lái)我的程序基本就完成了,整個(gè)過(guò)程我運(yùn)用了最基本的c語(yǔ)言知識(shí),其中包括for循環(huán),switch???case分支結(jié)構(gòu),if?else選擇語(yǔ)句。五、個(gè)人總結(jié)通過(guò)這一周的C語(yǔ)言課程設(shè)計(jì),我又進(jìn)一步的學(xué)習(xí)了C語(yǔ)言知識(shí),也學(xué)會(huì)了真正的去編寫(xiě)一個(gè)實(shí)際應(yīng)用的程序,真正的吧課堂學(xué)到的東西運(yùn)用到現(xiàn)實(shí)生活中,雖然編程的過(guò)程很困難,很愁人,但是當(dāng)我真的編寫(xiě)出來(lái)、運(yùn)行出來(lái)心里那份滿足感是無(wú)法用語(yǔ)言來(lái)形容的,說(shuō)不出來(lái),但是真的很開(kāi)心。當(dāng)然在這個(gè)過(guò)程中我也遇到了很多的困難,有的也真是我自己解決不了的,在這里也費(fèi)城感謝那些給我?guī)椭睦蠋熗瑢W(xué)。有了你們我的課設(shè)才會(huì)這么順利。六、參考文獻(xiàn)1譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社,20052劉成等.C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集.北京:中國(guó)鐵道出版社,2006七、源程序#include"stdio.h”#include"string.h”#include"stdlib.h”#defineren25structstudent/*定義結(jié)構(gòu)體*/(charnum[10];charname[20];intscore;}stud[ren];voidduqu()/*讀取函數(shù)*/(inti;FILE*fp;/*定義一個(gè)變量指向FILE*/fp=fopen("d:\\file29.txt","r");/*以只讀的形式打開(kāi)文件*/for(i=0;i<ren;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);}voidchaxun()/*查詢函數(shù)*/(inti,flag=0,a;charb[100],x[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",x);for(i=0;i<25;i++)if(strcmp(stud[i].num,x)==0)(printf("分?jǐn)?shù):%d\n",stud[i].score);flag=1;}if(flag==0)printf("查詢沒(méi)有此人!\n");break;case2:printf("輸入學(xué)生姓名:\n");scanf("%s”,b);for(i=0;i<25;i++)if(strcmp(stud[i].name,b)==0)(printf("%d\n”,stud[i].score);flag=1;break;}if(flag==0)printf("查詢沒(méi)有此人!\n");break;}}voidall()/*統(tǒng)計(jì)函數(shù)*/(inti,a=0,b=0,c=0,d=0,e=0;for(i=0;i<25;i++)(if(stud[i].score>=90)a++;elseif(stud[i].score>=80)b++;elseif(stud[i].score<80)c++;elseif(stud[i].score<70)d++;elseif(stud[i].score<60)e++;}printf(">=90優(yōu)秀的人數(shù):\t%d\n<90,>=80良好的人數(shù):\t%d\n<80,>=70中等的人數(shù):\t%d\n<70,>=60幾個(gè)的人數(shù):\t%d\n<60不及格的人數(shù):\t%d\n”,a,b,c,d,e);}/*主函數(shù)*/voidmain()歡迎您進(jìn)入學(xué)生成績(jī)分布系/*主函數(shù)*/歡迎您進(jìn)入學(xué)生成績(jī)分布系***&&&***\n");1:讀取數(shù)據(jù)***&*&***\n");2:按學(xué)號(hào)或姓名查詢成績(jī)***&&&***\n");3:統(tǒng)計(jì)各分?jǐn)?shù)段人數(shù)***&&&***\n");4:退出系統(tǒng)\n");printf("***&&&***printf("***&*&***printf("***&&&***printf("***&&&***printf("
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)業(yè)研學(xué)旅行課程設(shè)計(jì)方法
- 2026年企業(yè)宣傳片拍攝制作指南
- 2026年教育信息化深度融合應(yīng)用課
- 白銀資源回收與再生利用手冊(cè)
- 2026湖南長(zhǎng)沙市開(kāi)福區(qū)青竹湖湘一健翎學(xué)校春季教師招聘8人備考題庫(kù)及完整答案詳解一套
- 2026年農(nóng)業(yè)知識(shí)產(chǎn)權(quán)海外布局方法
- 赤壁懷古課件
- 職業(yè)噪聲性耳鳴的早期篩查策略
- 職業(yè)健康風(fēng)險(xiǎn)評(píng)估中的毒理學(xué)應(yīng)用方法
- 職業(yè)健康監(jiān)護(hù)的全程化管理
- 2026湖北十堰市丹江口市衛(wèi)生健康局所屬事業(yè)單位選聘14人參考考試題庫(kù)及答案解析
- 手術(shù)區(qū)消毒和鋪巾
- (正式版)DBJ33∕T 1307-2023 《 微型鋼管樁加固技術(shù)規(guī)程》
- 2025年寵物疫苗行業(yè)競(jìng)爭(zhēng)格局與研發(fā)進(jìn)展報(bào)告
- 企業(yè)安全生產(chǎn)責(zé)任培訓(xùn)課件
- 綠化防寒合同范本
- 2025年中國(guó)礦產(chǎn)資源集團(tuán)所屬單位招聘筆試參考題庫(kù)附帶答案詳解(3卷)
- 煙草山東公司招聘考試真題2025
- 海爾管理會(huì)計(jì)案例分析
- 水果合同供貨合同范本
- 酒吧宿舍管理制度文本
評(píng)論
0/150
提交評(píng)論