小學生測試程序_第1頁
小學生測試程序_第2頁
小學生測試程序_第3頁
小學生測試程序_第4頁
小學生測試程序_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、小學生測試軟件課程設計報告題 目小學生數(shù)學測試軟件設計學 號121002075姓 名張亞冬年級專業(yè)2012級電子信息工程指導教師王元航完成日期2013年6月14日目錄一、 程序設計名稱及內(nèi)容 1二、 程序總體設計思路 1三、 程序功能模塊劃分,軟件程序測試及截圖 13.1、系統(tǒng)功能模塊 13.2、算法說明 13.3、詳細程序 23.4、運行過程截圖 6四、 編程中遇到的問題及解決方法 8問題一、 8問題二、 8問題三、 8五、 心得體會 9 六、 參考文獻 9一,課程設計名稱及內(nèi)容名稱:小學數(shù)學測試程序設計內(nèi)容:1、進入主界面,任意鍵繼續(xù) 2、輸入測試數(shù)字大小范圍 3、輸入測試題目數(shù)量 4、任

2、意鍵進入測試 5、系統(tǒng)進行測試并判斷對錯 6、系統(tǒng)根據(jù)得分情況進行總結,并選擇是否繼續(xù)程序二,程序總體設計思路C語言是面對過程的語言,所以這個程序是按照以上設計內(nèi)容中的目標程序運行的過程來編寫的。在編寫程序過程中,首先根據(jù)目標程序運行的次序與界面進行編程。其次是根據(jù)目標程序運行的次序和界面,確定設計順利,設計界面。再次是按照程序運行的各界面下的菜單功能編寫各功能模塊,并進行調(diào)試,是各功能模塊能高效準確地完成功能。最后是程序的總體調(diào)試及功能完善后,從學生的角度出發(fā),考慮了更加合理智能化的設計。三,程序功能模塊劃分,軟件程序測試及截圖3.1系統(tǒng)功能模塊1、進入界面,選擇適當?shù)乃綔y試2、測試界面,

3、含有加減乘除的運算,并選擇測試項目3、結束界面,根據(jù)結果對測試者進行評價,并選擇是否繼續(xù)3.2算法說明1、利用for()和if()語句來定義聯(lián)系時的答題次數(shù),以及題目正誤判斷,及正確答案2、利用randomize(),for()和指針變量來實現(xiàn)系統(tǒng)隨機出題3、利用數(shù)組,for()和if語句,switch()語句實現(xiàn)測試功能3.3詳細程序#include。#include #include #include void menu();void add();void sub();void mul();void div1();void main() int a; while(1) menu(); pr

4、intf(請選擇相應的選項:); scanf(%d,&a); switch(a) case 1: add();break; case 2: sub();break;case 3: mul();break;case 4: div1(); break; case 5: exit(0);break; default: break; void menu()printf(*n); printf(*小學數(shù)學測試軟件 *n); printf(*n); printf(*-請選擇您要進行的操作-*n); printf(*- 1. 加法測試 -*n); printf(*- 2. 減法測試 -*n); printf

5、(*- 3. 乘法測試 -*n); printf(*- 4. 除法測試 -*n); printf(*- 5. 退出系統(tǒng) -*n); printf(*n); void add() int a,b,c,d,re=0,sum=0; system(cls); while(1) a=rand()%100; b=rand()%100; printf(%d+%d=,a,b); scanf(%d,&c); if(c=(a+b) re+; sum+; printf(回答對了!還要繼續(xù)答題嗎?n 選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,re,sum); else re+; printf(回答

6、錯了.正確答案為%d.還要繼續(xù)答題嗎?n選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,a+b,re,sum); scanf(%d,&d); if(d=2) break; else system(cls); system(cls); void sub() int a,b,c,d,re=0,sum=0; system(cls); while(1) a=rand()%100; b=rand()%100; while(a-b)0) a=rand()%100; b=rand()%100; printf(%d-%d=,a,b); scanf(%d,&c); if(c=(a-b) re+;

7、sum+; printf(回答對了!還要繼續(xù)答題嗎?n 選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,re,sum); else re+; printf(回答錯了.正確答案為%d.還要繼續(xù)答題嗎?n選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,a-b,re,sum); scanf(%d,&d); if(d=2) break; else system(cls); system(cls); void mul() int a,b,c,d,re=0,sum=0; system(cls); while(1) a=rand()%100; b=rand()%100; prin

8、tf(%dx%d=,a,b); scanf(%d,&c); if(c=(a*b) re+; sum+; printf(回答對了!還要繼續(xù)答題嗎?n 選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,re,sum); else re+; printf(回答錯了.正確答案為%d.還要繼續(xù)答題嗎?n選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,a*b,re,sum); scanf(%d,&d); if(d=2) break; else system(cls); system(cls); void div1() int a,b,c,d,re=0,sum=0; system(

9、cls); while(1) a=rand()%100; b=rand()%100; while(b=0) a=rand()%100; b=rand()%100; printf(%d/%d=,a,b); scanf(%d,&c); if(c=(a/b) re+; sum+; printf(回答對了!還要繼續(xù)答題嗎?n 選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,re,sum); else re+; printf(回答錯了.正確答案為%d.還要繼續(xù)答題嗎?n選擇的題目數(shù):%d,答對的題目數(shù)字:%dn1.繼續(xù) 2.退出,a/b,re,sum); scanf(%d,&d); if(

10、d=2) break; else system(cls); system(cls);3,4運行過程截圖回答正確時輸入1,繼續(xù)答題當答錯時測試完成,退出輸入2輸入5,退出系統(tǒng)。四,編程中遇到的問題及解決方法問題一:除法這一模塊很有難度,由于先用了整形定義變量導致結果出錯。而且除法題目不是和學生做,題目太難。 解決方法:把變量改為浮點型,雖然結果正確了,誕生題目仍然太難,暫時未找到好的方法改進。問題二:由于學生的信息均記錄在文件中,而文件不能直接排序需轉換到結構體中進行排序,給整個排序過程帶來了相當大的困難,出現(xiàn)了轉換不到結構體中,和亂碼現(xiàn)象。解決方法:首先檢查了為文件是否將信息記錄了下來,確認有

11、數(shù)據(jù)后,用fscanf, fread,進行了反復的更換,此過程中反復運行查看結構體是否有輸出。最終實現(xiàn)了文件與結構體之間數(shù)據(jù)的傳遞,實現(xiàn)了排序功能.問題三:程序中多次用到了文件的讀寫,用文件記錄信息,多次出現(xiàn)讀不出來,記錄不到文件中,還出現(xiàn)亂碼。 解決方法,認真學習和反復研究了,文件的讀寫函數(shù)fprintf,fscanf,fread,fwrite,fgetc,在反復的調(diào)試中終于解決了此問題。經(jīng)過反復的調(diào)試和測試,小學學學習系統(tǒng)順利完成,順利實現(xiàn)了按類型選擇的難度出題和按數(shù)目隨機出題、自動評分、自動排名,查看正確答案、錯題重做等功能。本系統(tǒng)面向是面向小學生開發(fā)的數(shù)學測試系統(tǒng),功能完善,基本上能滿

12、足小學生的四則運算要求,本系統(tǒng)作為測試軟件的同時也可作為練習軟件,對提高小學生數(shù)學計算能力有相當大幫助。另外本系統(tǒng)使用C語言編程,在運行環(huán)境中有一定的限制,需在安裝有C語言軟件的環(huán)境中進行運行,帶來了一定的局限性。五、心得體會及建議編程是個自主創(chuàng)新的過程,其沒要太多的要求,有多種方法可以實現(xiàn)其功能,但編程的這種性質,也給我們帶來了不小的困難,它需要我們開闊的思維,能夠遇到問題能夠想到解決的方法,同時也需要我們具有扎實的語言功底能夠實現(xiàn)既定的主學習來掌握的,采用了邊學邊用的方法進行了編程。經(jīng)過一個多月的努力,終于完成程序的編寫和調(diào)試,程序的調(diào)試過程是非常艱辛的過程,并不能一蹴而就,需要堅持不懈的努力,和反復的調(diào)試。編程過程有時候的確枯燥乏味,而且會出現(xiàn)很多意想不到的問題,但是當一個個問題順利解決時,有充滿喜悅。通過這次的課程設計,它使我更加深刻地體會到c語言程序編寫過程的嚴謹與細致,還有無論做任何事都要有耐心。團隊合作也是非常重要的一個環(huán)節(jié),這會使你在學習過程中倍感輕松,所以在此次課程設計過程中,通過小組的團結合作,和克服種種困難,終于完成了小學學習系統(tǒng)的設計。本次編程使我進一步的鞏固了C言語的基本知識,特別掌握了文件的讀寫和文件與結構體之間數(shù)據(jù)傳遞的實現(xiàn),通過自學和網(wǎng)上學習,豐富了編程知識,提高了編程能力,和調(diào)試能力,提高了

溫馨提示

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

評論

0/150

提交評論