freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

小學(xué)數(shù)學(xué)測(cè)試系統(tǒng)c課程設(shè)計(jì)報(bào)告及源程序代碼(已修改)

2025-04-19 02:37 本頁(yè)面
 

【正文】 課 程 設(shè) 計(jì) 報(bào) 告課程名稱 C語(yǔ)言課程設(shè)計(jì) 課題名稱 小學(xué)數(shù)學(xué)測(cè)試系統(tǒng) 專 業(yè) 班 級(jí) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 2016年 01 月 06 日 湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱 C語(yǔ)言課程設(shè)計(jì) 課 題 小學(xué)數(shù)學(xué)測(cè)試系統(tǒng) 專業(yè)班級(jí) 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)老師 審 批 任務(wù)書(shū)下達(dá)日期 2015 年 12 月 26 日任務(wù)完成日期 2016年 01 月 06 日一、設(shè)計(jì)內(nèi)容與設(shè)計(jì) 課題九:小學(xué)數(shù)學(xué)測(cè)試系統(tǒng)。具體內(nèi)容見(jiàn)附錄。2.設(shè)計(jì)要求:1)設(shè)計(jì)正確,方案合理。2)界面友好,使用方便。3)程序精煉,結(jié)構(gòu)清晰。4)上機(jī)演示。3.設(shè)計(jì)報(bào)告要求:課程設(shè)計(jì)報(bào)告格式如下:1)正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體,行距為22。 2)正文的內(nèi)容:課題的主要功能、課題的功能模塊的劃分、主要功能的實(shí)現(xiàn)、程序調(diào)試、總結(jié)、附件(所有程序的源代碼,要求對(duì)程序?qū)懗霰匾淖⑨專n程設(shè)計(jì)報(bào)告需5000字左右(不含附件)。3)課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分、程序清單附件。二、進(jìn)度安排星期日(17周)星期一(18周)星期四(18周)星期五(18周)星期日(18周)14:0017:0018:0021:0018:0021:0018:0021:00交報(bào)告上課時(shí)間另外安排。附錄:設(shè)計(jì)課題九:小學(xué)數(shù)學(xué)測(cè)試系統(tǒng)一、問(wèn)題描述:本系統(tǒng)可以用來(lái)進(jìn)行簡(jiǎn)單的數(shù)學(xué)測(cè)試,并累計(jì)成績(jī),包括用戶注冊(cè)、用戶登錄、用戶刪除、題目測(cè)試、信息保存等功能。二、功能描述:本系統(tǒng)采用結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:用戶名、用戶密碼、共測(cè)試題目數(shù)、答對(duì)題目數(shù)。系統(tǒng)功能:a. 用戶注冊(cè):即添加新的用戶名、用戶密碼。b. 用戶登錄:在進(jìn)行數(shù)學(xué)測(cè)試之前,需進(jìn)行登錄,若沒(méi)有該用戶,需進(jìn)行注冊(cè)。c. 題目測(cè)試:系統(tǒng)自動(dòng)生成題目(注意題目的合理性,題目結(jié)果不能是負(fù)數(shù),除數(shù)不能是0等),用戶給出答案,系統(tǒng)可以自動(dòng)測(cè)試其正確性,同時(shí)統(tǒng)計(jì)成績(jī)。d. 信息保存: 當(dāng)注冊(cè)成功、題目測(cè)試完畢后將用戶信息及成績(jī)保存到文件。系統(tǒng)使用說(shuō)明:執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示功能菜單。系統(tǒng)的功能并不限于上述,可以對(duì)其進(jìn)行擴(kuò)充完善,如題目的自動(dòng)生成,可以只是簡(jiǎn)單的加減乘除運(yùn)算,也可以生成復(fù)雜的四則混合運(yùn)算。同時(shí),用戶界面友好也很重要,當(dāng)輸入錯(cuò)誤答案,需給出提示信息。三、測(cè)試數(shù)據(jù):用戶=3,題目數(shù)=5目 錄1 系統(tǒng)需求分析 62 概要設(shè)計(jì) 63 詳細(xì)設(shè)計(jì) 104 系統(tǒng)測(cè)試 155 課程設(shè)計(jì)總結(jié) 181 系統(tǒng)需求分析 小學(xué)生數(shù)學(xué)測(cè)試系統(tǒng)具有隨機(jī)出題,自動(dòng)評(píng)分,查看答案,錯(cuò)題重做等功能的系統(tǒng);其屬性有:1. 主界面設(shè)計(jì),選擇各種功能。 2. 系統(tǒng)隨機(jī)出題,顯示算式,含加,減,乘,除四則運(yùn)算。 3. 練習(xí)時(shí),系統(tǒng)隨機(jī)出題,鍵入答案,可顯示對(duì)錯(cuò)。 4. 測(cè)試時(shí),系統(tǒng)自動(dòng)出題,每題得分,再統(tǒng)計(jì)得分。 5. 題的對(duì)錯(cuò)信息,錯(cuò)誤的給出答案。 2 概要設(shè)計(jì)系統(tǒng)功能模塊圖:小學(xué)數(shù)學(xué)測(cè)試系統(tǒng)學(xué)生成績(jī)管理模塊 測(cè)試模塊注冊(cè)登錄模塊查看結(jié)果模塊 錯(cuò)題重做模塊 提示用戶輸入姓名和學(xué)號(hào),如果已經(jīng)有記錄則將本次登錄用戶信息追加儲(chǔ)存在文件中,如果沒(méi)有記錄,則創(chuàng)建一個(gè)新文件儲(chǔ)存:其模塊圖如下圖所示:注冊(cè)登錄模塊提示輸入姓名學(xué)號(hào)創(chuàng)建文件記錄學(xué)生信息判斷是否有記錄 進(jìn)入開(kāi)始測(cè)試菜單后,開(kāi)始計(jì)時(shí),選擇加減乘除四種運(yùn)算類型,總體來(lái)說(shuō)測(cè)試模塊可以分為:加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算、除法運(yùn)算四部分四部分功能相似選擇類型后,在選擇題數(shù)目為(5,10,20,50,100),然后再選擇難度,這時(shí)開(kāi)始做題(題目利用隨機(jī)函數(shù)隨機(jī)出題),然后判斷正誤并給出正確率,錯(cuò)誤的結(jié)果存入一個(gè)文件中以備錯(cuò)題重做,將所有做題的結(jié)果存入另個(gè)文件中以便查看結(jié)果;測(cè)試模塊加法運(yùn)算減法運(yùn)算乘法運(yùn)算除法運(yùn)算 學(xué)生成績(jī)管理模塊 本模塊首先將每次測(cè)試同學(xué)姓名,學(xué)號(hào),成績(jī)存入一個(gè)文件中,每次測(cè)試同學(xué)的信息不覆蓋之前同學(xué)的信息,然后將文件中的信息讀取到結(jié)構(gòu)體中進(jìn)行排序,最后利用結(jié)構(gòu)體將排好序的成績(jī)顯示到屏幕上,其模塊如下所示圖:學(xué)生成績(jī)管理模塊存入測(cè)試學(xué)生成績(jī)信息查看排名榜創(chuàng)建學(xué)生成績(jī)信息文件排列順序 查看結(jié)果模塊 利用測(cè)試模塊存儲(chǔ)的結(jié)果信息文件進(jìn)行直接讀取,期間用到fgetc函數(shù)將文件的信息讀取出來(lái),其圖如下圖所示:查看結(jié)果模塊打開(kāi)存儲(chǔ)結(jié)果的文件讀取文件 錯(cuò)題重做模塊 測(cè)試模塊過(guò)程的已將錯(cuò)題和錯(cuò)題的答案分別出入到文件中,直接進(jìn)行打開(kāi)存儲(chǔ)錯(cuò)題的文件逐個(gè)讀取錯(cuò)題,這時(shí)利用scanf函數(shù)輸入答題者的答案,最后再打開(kāi)儲(chǔ)存錯(cuò)題答案的文件進(jìn)行核對(duì)正確答案,其模塊如下圖所示:錯(cuò)題重做模塊讀取錯(cuò)題進(jìn)行重做核對(duì)答案打開(kāi)錯(cuò)題存儲(chǔ)文件系統(tǒng)流程圖:開(kāi)始輸入姓名輸入學(xué)號(hào)主菜單開(kāi)始測(cè)試查看排名錯(cuò)題重做查看結(jié)果結(jié)束測(cè)試加法減法乘法除法選擇題數(shù)選擇難度測(cè)試退出返回保存3 詳細(xì)設(shè)計(jì):用到兩個(gè)函數(shù)Savemessage()和Judge()兩個(gè)函數(shù),其中 Savemessage()函數(shù)用來(lái),保存學(xué)生輸入信息,保存過(guò)程中,先輸入到結(jié)構(gòu)體中,再利用fwrite(amp。s[0],sizeof(struct Student),1,fp)。,即剛剛輸入的學(xué)生姓名和學(xué)號(hào);利用fprintf(fp1,姓名:%s\n,s[0].name)。fprintf(fp1, 學(xué)號(hào):%s\n,s[0].num)。 登錄完后進(jìn)入測(cè)試界面此時(shí)開(kāi)始計(jì)時(shí)有語(yǔ)句{printf( 請(qǐng)計(jì)時(shí)輸入開(kāi)始時(shí)間(點(diǎn),分):)。 scanf(%d,%d,amp。hourA,amp。minA)。}進(jìn)行輸入計(jì)時(shí)。然后進(jìn)入測(cè)試界面的菜單: 測(cè)試功能得實(shí)現(xiàn)①選測(cè)試類型:測(cè)試功能菜單分為5個(gè),其中1~4為選擇類型,5返回主菜單;具體實(shí)現(xiàn)選擇功能有while(choose1||choose5) {printf( 超出功能范圍,請(qǐng)重新選擇(15):)。scanf(%d,amp。choose)。}輸入1~5之間的一個(gè)數(shù),再用switch(choose) { }進(jìn)行選擇對(duì)應(yīng)的功能 如上圖選擇1后進(jìn)入②選題數(shù)目:進(jìn)行選擇題目的數(shù)目,輸入要測(cè)試的題目數(shù)被限制(5/10/20/50/100)五個(gè)數(shù)用句while(thnum5||thnum5amp。amp。thnum10||thnum10amp。amp。thnum||thnum20amp。amp。thnum50||thnum50amp。amp。thnum100||thnum100) {printf(超出功能范圍,請(qǐng)重新選擇(5/10/20/50/100):)。scanf(%d,amp。thnum)。} 由此語(yǔ)句實(shí)現(xiàn)對(duì)題目數(shù)的限制,但超出范圍后則提示重新輸入。在begain()中調(diào)用Addition(int number)控制循環(huán)語(yǔ)句for(int i=0。inumber。i++) { if(m==1){num1=rand()%n。 num2=rand()%n。 } //產(chǎn)生一位隨機(jī)數(shù),num1,num2if(m==2){num1=10+rand()%(n10)。 //產(chǎn)生兩位隨機(jī)數(shù) num1,num2 num2=10+rand()%(n10)。}if(m==3){num1=100+rand()%(n100)。 //產(chǎn)生三位隨機(jī)數(shù) num1,num2 num2=100+rand()%(n100)。}printf( %d + %d = ,num1,num2)。 scanf(%d,amp。num4)。通過(guò)控制循環(huán)的次數(shù)來(lái)控制產(chǎn)生題的數(shù)目.③選難度的實(shí)現(xiàn): 利用隨機(jī)函數(shù)rand()%n。中n的不同值產(chǎn)生不同的位數(shù)的隨機(jī)書(shū)實(shí)現(xiàn)難度的控制,n=10時(shí)用語(yǔ)句num1=rand()%n產(chǎn)生一位數(shù);n=100時(shí)用語(yǔ)句num1=10+rand()%(n10)產(chǎn)生二位數(shù);n=1000時(shí)用num1=100+rand()%(n100)產(chǎn)生三位數(shù);具體有語(yǔ)句printf(請(qǐng)選擇難度: )。 scanf(%d,amp。m)。system(cls)。 //清屏{ if(m==1) n=10 。 if(m==2) n=100 。else if(m==3) n=1000 。}for(int i=0。inumber。i++) { if(m==1){num1=rand()%n。 num2=rand()%n。 } if(m==2){num1=10+rand()%(n10)。 num2=10+rand()%(n10)。}if(m==3){num1=100+rand()%(n100)。 num2=100+rand()%(n100)。}} 實(shí)現(xiàn)控制難度,并有rand()%n產(chǎn)生隨機(jī)數(shù)實(shí)現(xiàn)隨機(jī)出題功能。④自動(dòng)評(píng)分的實(shí)現(xiàn)和數(shù)據(jù)的儲(chǔ)存系統(tǒng)會(huì)將輸入的答案與正確答案進(jìn)行逐一比較,以便查看結(jié)果;如果錯(cuò)誤,以便錯(cuò)題重做,,以便核對(duì)錯(cuò)題答案,在此過(guò)程中系統(tǒng)會(huì)自動(dòng)統(tǒng)計(jì)正確結(jié)果個(gè)數(shù)和錯(cuò)誤個(gè)數(shù),從而利用average=float(count1)/float(number)。自動(dòng)得到分?jǐn)?shù)。具體程序如下:if(num3==num4) {fprintf(fp, %d + %d = %d %d \n,num1,num2,num4,num3)。 count1++。}else {fprintf(fp, %d + %d = %d %d \n,num1,num2,num4,num3)。 fprintf(fp2, %d + %d =\n,num1,num2,num4,num3)。//fprintf(fp3, %d + %d = %d \n,num1,num2,num3)。}}} average=float(count1)/float(number)。fprintf(fp, 正確 %d 道,錯(cuò)誤 %d 道,正確率為:%f\n\n,count1,count2,average)。A=A+average*100。//總分nu++。//記錄做不同類型題的次數(shù)以便算平均分⑤減乘除的過(guò)程和原理和加法一樣其工作界面分別為減法;乘法;除法;除法其它功能得實(shí)現(xiàn)與加法一樣只有分母不為零,用num2=n/10+rand()%(nn/10)語(yǔ)句進(jìn)行實(shí)現(xiàn),其中rand()%(nn/10)產(chǎn)生0到nn/101的數(shù);n/10+rand()%(nn/10)產(chǎn)生n/10到n1的數(shù);例如n=100時(shí)產(chǎn)生10到99的兩位數(shù);從而實(shí)現(xiàn)了分母不為零,同時(shí)也實(shí)現(xiàn)了難度的控制。: ,只需打開(kāi)文件讀取出記錄即可void ShowResult()//顯示測(cè)試結(jié)果函數(shù){FILE *fp。if((fp=fopen(,r))==NULL)。 exit(0)。}char ch。 ch=fgetc(fp)。 //文件開(kāi)頭字符while(ch!=EOF) //當(dāng)文件沒(méi)有到尾時(shí),一直循環(huán){ putchar(ch)。 //輸出字符 ch=fgetc(fp)。} fclose(fp)。} 有此函數(shù)就可直接讀取查看結(jié)果。 排名的實(shí)現(xiàn),用冒泡法進(jìn)行排序,最后直接從結(jié)構(gòu)體中讀取排好序的成績(jī);其具體程序:void sort() //實(shí)現(xiàn)排序{F
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1