




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 課 程 設(shè) 計(jì) 報(bào) 告課程名稱 C語(yǔ)言 課題名稱 小學(xué)生心算CAI系統(tǒng) 專 業(yè)班 級(jí)學(xué) 號(hào)姓 名指導(dǎo)教師 XXXX 年 XX 月 XX 日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱: C語(yǔ)言程序設(shè)計(jì) 課 題: 小學(xué)生心算CAI系統(tǒng) 專業(yè)班級(jí): 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)老師: 審 批: 任務(wù)書下達(dá)日期: 年月日任務(wù)完成日期:年月日前 言C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)是對(duì)學(xué)生的一種全面綜合訓(xùn)練,它包括問(wèn)題分析,總體結(jié)構(gòu)設(shè)計(jì),用戶界面設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧,多人合作,以至一整套軟件工作規(guī)范的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)。是與課堂聽講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié)。通常,課程設(shè)計(jì)的課題比平
2、時(shí)的習(xí)題復(fù)雜得多,也更接近實(shí)際。課程設(shè)計(jì)著眼于與應(yīng)用的結(jié)合點(diǎn),使學(xué)生學(xué)會(huì)如何把書上學(xué)到的知識(shí)用于解決實(shí)際問(wèn)題,培養(yǎng)軟件工作所需要的動(dòng)手能力;另一方面,能使書上的知識(shí)變“活”,使學(xué)生更好地深化理解和靈活掌握教學(xué)內(nèi)容。為了達(dá)到上述目的,本課程設(shè)計(jì)安排了八個(gè)設(shè)計(jì)課題,訓(xùn)練重點(diǎn)在于基本的程序設(shè)計(jì)方法和分析問(wèn)題的能力,而不強(qiáng)調(diào)面面俱到。學(xué)生可任選其中一題進(jìn)行設(shè)計(jì),設(shè)計(jì)完畢寫出課程設(shè)計(jì)報(bào)告,用A4紙打印成冊(cè);并將課程設(shè)計(jì)報(bào)告與源程序存盤。學(xué)習(xí)委員將課程設(shè)計(jì)報(bào)告與磁盤收齊后交指導(dǎo)老師。一、目的全面熟悉、掌握C語(yǔ)言基本知識(shí),掌握C程序設(shè)計(jì)中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)和C語(yǔ)言基本圖形編程等方法,把編
3、程和實(shí)際結(jié)合起來(lái),增強(qiáng)對(duì)不同的問(wèn)題運(yùn)用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想,為以后在專業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。二、設(shè)計(jì)要求掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問(wèn)題,為將來(lái)編寫軟件積累一些典型的案例處理經(jīng)驗(yàn)。1. 設(shè)計(jì)正確,方案合理。2. 界面友好,使用方便。3. 程序精煉,結(jié)構(gòu)清晰。4. 設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序
4、清單及程序框圖。5. 上機(jī)演示。6. 按學(xué)號(hào)順序選課題號(hào),并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的C源程序編寫、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤中;7. 按本任務(wù)書的要求,按附錄的要求編寫課程設(shè)計(jì)報(bào)告(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; 三、進(jìn)度安排第17周 星期五:程序調(diào)試第18周 星期日:詳細(xì)設(shè)計(jì)第19周 星期三:答辯小學(xué)生心算CAI系統(tǒng)一、問(wèn)題描述:本系統(tǒng)可以用來(lái)進(jìn)行單獨(dú)的加、減、乘、除心算練習(xí),也可綜合心算的速度與正確率進(jìn)行測(cè)試。當(dāng)用戶在進(jìn)行簡(jiǎn)單的四則運(yùn)算時(shí)運(yùn)算速度和正確率都較高時(shí),可以進(jìn)入四則混合運(yùn)算,借此來(lái)進(jìn)一步提高自己的心算能力。二、功能描述:1、 用戶可以
5、通過(guò)兩種方法來(lái)選擇功能,既可以按相應(yīng)的數(shù)字鍵進(jìn)入相應(yīng)的心算練習(xí),也可以按光標(biāo)鍵來(lái)選擇功能項(xiàng)。2、 計(jì)算機(jī)自動(dòng)出題,用戶進(jìn)入每項(xiàng)練習(xí)時(shí),屏幕上會(huì)顯示用戶所做的相應(yīng)的題數(shù),如果不想繼續(xù)可以隨時(shí)退出,只需按ESC鍵。3、 設(shè)計(jì)的系統(tǒng)完全適合用戶,比如除法時(shí)考慮到小學(xué)生的水平問(wèn)題,只允許出現(xiàn)整除情況。4、 用戶輸入的答案不對(duì)時(shí),計(jì)算機(jī)會(huì)發(fā)出聲音報(bào)警,用戶輸入的結(jié)果如果連續(xù)兩次不對(duì),計(jì)算機(jī)會(huì)自動(dòng)給出正確答案,供用戶參考。5、 界面設(shè)計(jì)友好。三、算法提示:1、 用簡(jiǎn)單的程序設(shè)計(jì)方法2、 一定的窗口設(shè)計(jì)技巧3、 簡(jiǎn)單的數(shù)據(jù)類型四、測(cè)試數(shù)據(jù):計(jì)算機(jī)隨機(jī)產(chǎn)生五、其它:對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)系統(tǒng)基本功能后
6、,完善系統(tǒng)的其它功能。目錄一緒論11.背景描述12 本文要做的工作1二需求分析:1三概要設(shè)計(jì):1四詳細(xì)設(shè)計(jì)2五調(diào)試分析及設(shè)計(jì)體會(huì)3六程序調(diào)試71 題記;72數(shù)據(jù)測(cè)試:73程序和排錯(cuò)。9七使用說(shuō)明10八心得體會(huì)10九附件11十參考資料19課程設(shè)計(jì)正文一 緒論1.背景描述心算是根據(jù)算式中各數(shù)的特點(diǎn)和運(yùn)算關(guān)系靈活自如地運(yùn)用法則、定律、性質(zhì)及和差積商恒等變化的規(guī)律和數(shù)字特征 ,在頭腦中依靠清晰的形象思維和縝密的邏輯思維展現(xiàn)數(shù)位形象 ,綜合運(yùn)用數(shù)學(xué)知識(shí)快捷、簡(jiǎn)便的運(yùn)算。它反映出心算過(guò)程中的簡(jiǎn)潔、快速、靈活的思維過(guò)程。因此 ,心算能力是一個(gè)人思維品質(zhì)的標(biāo)志 ,特別是檢驗(yàn)一個(gè)人思維靈活性和敏捷性的重要標(biāo)尺。
7、2 本文要做的工作本文主要介紹了本課程設(shè)計(jì)的開發(fā)背景,所需要完成的功能和開發(fā)的過(guò)程。重點(diǎn)說(shuō)明了系統(tǒng)的設(shè)計(jì)思路、總體設(shè)計(jì)、各個(gè)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)方法。二 需求分析:小學(xué)生心算,以及適用的人群范圍為小學(xué)生,進(jìn)而將系統(tǒng)細(xì)分、劃分為一些小的模塊,從而將各個(gè)模塊編寫出相應(yīng)的C語(yǔ)言程序代碼構(gòu)成一個(gè)完整的小學(xué)生心算CAI測(cè)試系統(tǒng)。2.所編程序應(yīng)具備很好的可行性操作,適合小學(xué)生的計(jì)算能力。三 概要設(shè)計(jì):1、本系統(tǒng)可以用來(lái)進(jìn)行加、減、乘、除及四則混合運(yùn)算心算練習(xí),并統(tǒng)計(jì)出正確率和計(jì)算速度,當(dāng)用戶輸入答案連續(xù)兩次不對(duì)時(shí),計(jì)算機(jī)給出正確答案,供用戶參考,從而提高小學(xué)生的心算能力。2、 用戶可以通過(guò)兩種方法來(lái)選擇功
8、能,既可以按相應(yīng)的數(shù)字鍵進(jìn)入相應(yīng)的心算練習(xí),也可以按光標(biāo)鍵來(lái)選擇功能項(xiàng)。3、計(jì)算機(jī)自動(dòng)出題,用戶進(jìn)入每項(xiàng)練習(xí)時(shí),屏幕上會(huì)顯示用戶所做的相應(yīng)的題數(shù),如果不想繼續(xù)可以隨時(shí)退出,只需按ESC鍵。4、設(shè)計(jì)的系統(tǒng)完全適合用戶,比如除法時(shí)考慮到小學(xué)生的水平問(wèn)題,只允許出現(xiàn)整除情況。5、 用戶輸入的答案不對(duì)時(shí),用戶輸入的結(jié)果如果連續(xù)兩次不對(duì),計(jì)算機(jī)會(huì)自動(dòng)給出正確答案,供用戶參考。6、 界面設(shè)計(jì)友好。四 詳細(xì)設(shè)計(jì)1 程序模塊組成:主函數(shù) main()隨機(jī)取整函數(shù) randomize():根據(jù)實(shí)參的賦值的函數(shù)可以產(chǎn)生出不同的整形值,進(jìn)而的到不同的整形數(shù)相加。菜單函數(shù) 1)加法運(yùn)算函數(shù) aid() :函數(shù)從隨機(jī)函
9、數(shù)那獲取二個(gè)數(shù)進(jìn)行簡(jiǎn)單的加法運(yùn)算,將所得的值賦值給一個(gè)整形變量。2)減法運(yùn)算函數(shù) minus() :函數(shù)從隨機(jī)函數(shù)那獲取二個(gè)數(shù)進(jìn)行簡(jiǎn)單的減法運(yùn)算,將所得的值賦值給一個(gè)整形變量。乘法運(yùn)算函數(shù) multiply :函數(shù)從隨機(jī)函數(shù)那獲取二個(gè)數(shù)進(jìn)行簡(jiǎn)單的加法運(yùn)算,將所得的值賦值給一個(gè)整形變量。除法運(yùn)算函數(shù) divide() :函數(shù)從隨機(jī)函數(shù)那獲取二個(gè)數(shù)進(jìn)行簡(jiǎn)單的除法運(yùn)算,將所得的值賦值給一個(gè)整形變量?;旌线\(yùn)算函數(shù) mix() :函數(shù)從隨機(jī)函數(shù)那獲取二個(gè)數(shù)進(jìn)行簡(jiǎn)單的四則混合運(yùn)算,將所得的值賦值給一個(gè)整形變量。退出函數(shù) void out() :根據(jù)用戶所選鍵來(lái)進(jìn)入此函數(shù)。輸入年級(jí)函數(shù) int grade(
10、) :根據(jù)用戶的年級(jí)的大小來(lái)返還一個(gè)具體值,進(jìn)而來(lái)決定運(yùn)算的難易程度。輸入題量函數(shù) int many() :根據(jù)用戶所輸入的題量大小來(lái)來(lái)得到一個(gè)具體的值,進(jìn)而來(lái)決心算真確率。清屏函數(shù) clrscr() :清除屏幕上所有的垃圾文件。答題正確率函數(shù) void zql() :根據(jù)用戶所輸入的題量、所有答對(duì)題目的數(shù)目、以及時(shí)間函數(shù)所返回的時(shí)間值,來(lái)計(jì)算用戶的答題正確率。2 函數(shù)的功能:隨機(jī)取整函數(shù):給出比較簡(jiǎn)單的數(shù)字,供用戶進(jìn)行運(yùn)算。加法運(yùn)算函數(shù):?jiǎn)为?dú)進(jìn)行加法運(yùn)算。減法運(yùn)算函數(shù):?jiǎn)为?dú)進(jìn)行減法運(yùn)算。乘法運(yùn)算函數(shù):?jiǎn)为?dú)進(jìn)行乘法運(yùn)算。除法運(yùn)算函數(shù):?jiǎn)为?dú)進(jìn)行除法運(yùn)算。混合運(yùn)算函數(shù):以固定混合運(yùn)算公式進(jìn)行運(yùn)算。
11、 退出函數(shù):退出菜單并顯示圖形及退出系統(tǒng)操作提示。輸入年級(jí)函數(shù):輸入年級(jí),決定出題的難度。輸入題量函數(shù):輸入想做題目的數(shù)量,便于計(jì)算正確率和答題速度。清屏函數(shù):清理屏幕。答題正確率函數(shù):計(jì)算答題正確率,以便提示用戶是否進(jìn)入混合運(yùn)算。五 調(diào)試分析及設(shè)計(jì)體會(huì)1程序說(shuō)明及所達(dá)到的要求:1、 用戶可以通過(guò)按相應(yīng)的數(shù)字鍵進(jìn)入相應(yīng)的心算練習(xí)。2、 計(jì)算機(jī)自動(dòng)出題,用戶進(jìn)入每項(xiàng)練習(xí)時(shí),屏幕上會(huì)顯示用戶所做的相應(yīng)的題數(shù),如果不想繼續(xù)可以隨時(shí)退出,只需按T鍵。3、 設(shè)計(jì)的系統(tǒng)完全適合用戶,除法考慮到小學(xué)生的水平問(wèn)題,只出現(xiàn)整除情況。4、 用戶輸入的答案不對(duì)時(shí),會(huì)再給兩次機(jī)會(huì),用戶輸入的結(jié)果如果連續(xù)兩次不對(duì),計(jì)算
12、機(jī)會(huì)讓用戶選擇,選擇“1”繼續(xù),其他則退出。2 運(yùn)算模塊之間的算法 :加法運(yùn)算函數(shù) aid() :函數(shù)從隨機(jī)函數(shù)那獲取二個(gè)數(shù)a ,b 進(jìn)行簡(jiǎn)單的加法運(yùn)算,將所得的值賦值給一個(gè)整形變量c。(b為年級(jí)) 如程序:a=g*g*N+random(N);b=g*N+random(N);c=a+b;減法運(yùn)算函數(shù) minus() : 函數(shù)從隨機(jī)函數(shù)那獲取二個(gè)數(shù)a ,b進(jìn)行簡(jiǎn)單的減法運(yùn)算,將所得的值賦值給一個(gè)整形變量c。(b為年級(jí)) 如程序:a=g*g*N+random(N);b=g*N+random(N);if(a<b)t=a;a=b;b=t;c=a-b;乘法運(yùn)算函數(shù) multiply : 函數(shù)從隨機(jī)
13、函數(shù)那獲取二個(gè)數(shù)a ,b進(jìn)行簡(jiǎn)單的加法運(yùn)算,將所得的值賦值給一個(gè)整形變量c。(b為年級(jí)) 如程序:a=g*N+random(N);b=N+random(N);c=a*b; 除法運(yùn)算函數(shù) divide() :函數(shù)從隨機(jī)函數(shù)那獲取二個(gè)數(shù)a ,b進(jìn)行簡(jiǎn)單的除法運(yùn)算,將所得的值賦值給一個(gè)整形變量c。(b為年級(jí)) 如程序:a=N+random(N);b=g*N+random(N);c=a*b;d=c/a;混合運(yùn)算函數(shù):函數(shù)從隨機(jī)函數(shù)那獲取六個(gè)數(shù)a ,b,c, d, g ,j進(jìn)行簡(jiǎn)單的加減乘除運(yùn)算,將所得的值賦值給一個(gè)整形變量k進(jìn)而k判斷的值是否為零。如程序:a=N+random(N);b=g*N+ran
14、dom(N);c=g*N+random(N);d=N+random(N);g=g*g*n+random(N);j=c*d;k=a*b+j/d-g;3 mian函數(shù)的調(diào)用示意圖randomise()add()int grade()minus()int grade()multiply()main()主菜單mix()divide()zql()clrscr()voidout()圖1開始4 主模塊和分子模塊流程圖主菜單選擇項(xiàng)目圖2選擇乘法運(yùn)算除法運(yùn)算減法運(yùn)算加法運(yùn)算混合運(yùn)算退出系統(tǒng)結(jié)束界面輸入年級(jí)輸入題數(shù)清 屏進(jìn)入運(yùn)算輸入答案計(jì)算正確率判斷結(jié)束六 程序調(diào)試1 題記;課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)
15、現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。隨著科學(xué)技術(shù)發(fā)展的日新日異,計(jì)算機(jī)編程已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)是無(wú)處不在。程序編譯、鏈接成功后,自己設(shè)計(jì)實(shí)現(xiàn)程序功能的一組或多組測(cè)試數(shù)據(jù),并嚴(yán)格按照此測(cè)試數(shù)據(jù)進(jìn)行測(cè)試,然后分析測(cè)試結(jié)果。如果程序不能正常運(yùn)行或結(jié)果不正確,則需對(duì)程序進(jìn)行單步調(diào)試,在調(diào)試過(guò)程中認(rèn)真查找算法實(shí)現(xiàn)中存在的問(wèn)題,并加以分析和改正。如果程序能夠基本正確的運(yùn)行,可考慮增加若干基本的容錯(cuò)功能;另外盡量對(duì)現(xiàn)有算法給出改進(jìn)方案,并比較不同算法之間的優(yōu)缺點(diǎn)。2數(shù)據(jù)測(cè)試:初始面:圖3加減法測(cè)試:圖4五年級(jí)混合運(yùn)
16、算測(cè)試:圖5首先準(zhǔn)備輸入某一運(yùn)算級(jí)代碼、如輸入1則會(huì)在屏幕上顯示出“歡迎進(jìn)入加法運(yùn)算”(若輸入其他超出范圍的數(shù)則系統(tǒng)又會(huì)回到主菜單從心開始輸入。)然后屏幕會(huì)提示你輸入你的年級(jí)數(shù)。進(jìn)而系統(tǒng)會(huì)根據(jù)你的年級(jí)數(shù)用系統(tǒng)隨機(jī)函數(shù)決定你的難易程度。3程序和排錯(cuò)。為了便于查錯(cuò)、閱讀,在設(shè)計(jì)該程序的時(shí)候我采用了結(jié)構(gòu)化程序方法編輯,添加了盡可能多的注釋,這為我后來(lái)的調(diào)試過(guò)程帶來(lái)了很多方便。在上機(jī)調(diào)試之前我對(duì)所編的程序作了紙面上的檢查,先消滅一些低級(jí)錯(cuò)誤,所謂的低級(jí)錯(cuò)誤是指由于人為的輸入不仔細(xì)等造成的,如沒(méi)有搭配完整,漏寫 ;號(hào),拼寫錯(cuò)誤等,這些都是我們通過(guò)認(rèn)真的態(tài)度在運(yùn)行之前可以解決、避免的。而且還可以減少機(jī)器時(shí)
17、間。往往一連串的錯(cuò)誤是由于漏寫或?qū)戝e(cuò)一個(gè)字符引起的。經(jīng)過(guò)仔細(xì)檢查之后進(jìn)行上機(jī)調(diào)試。進(jìn)行編譯,如果在編譯和連接過(guò)程中發(fā)現(xiàn)錯(cuò)誤,屏幕上顯示了出錯(cuò)信息,根據(jù)提示找到出錯(cuò)的位置,加以改正,再進(jìn)行編譯如此反復(fù),直到順利通過(guò)編譯和連接為止。在本次 實(shí)習(xí)過(guò)程中碰到的編譯、連接的錯(cuò)誤主要有:1缺少變量定義,定義位置不正確:由于該程序相對(duì)來(lái)講稍有些長(zhǎng),前后有些變量不容易聯(lián)系起來(lái),但是在錯(cuò)誤信息的提示下一般還是很容易找到。不過(guò)需要注意的是在定義的時(shí)候有些函數(shù)使用同樣的變量名而表示不同的作用,因而使用要很小心,定義及定義的位置要特別留意。為減少這樣的錯(cuò)誤我后來(lái)還是用不同的變量名來(lái)表示,結(jié)果引起的那些錯(cuò)誤解決了。2
18、語(yǔ)法錯(cuò)誤:大多的語(yǔ)法錯(cuò)誤在通過(guò)書本參考下能夠修改。主要是平時(shí)看書不仔細(xì)、不太注意而產(chǎn)生的。如沒(méi)有注意具體數(shù)據(jù)使用是有一定的范圍限定;過(guò)分重視分號(hào)的重要性而在for、if、while語(yǔ)句中畫蛇添足加分號(hào);。在使用文件的時(shí)候忘記將文件先打開,對(duì)打開的方式與使用的情況不太注意而造成不匹配;還有漏掉形參的定義是值不能傳遞等等。這些語(yǔ)法錯(cuò)誤有信息框的提示一般是能夠排除的。在編寫程序調(diào)試的過(guò)程中,我們得到了老師的精心指導(dǎo)以及孜孜不倦的教誨,在老師的指導(dǎo)下,我們的能力得到了提高,同時(shí)培養(yǎng)了科學(xué)、嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)和學(xué)習(xí)習(xí)慣,這次課程設(shè)計(jì)終于順利完成了!在設(shè)計(jì)中遇到了很多編程調(diào)試問(wèn)題,最后在老師的辛勤指導(dǎo)下,終于
19、迎刃而解回顧起此次課程設(shè)計(jì),至今我仍感慨頗多。如;有時(shí)遇到了一個(gè)錯(cuò)誤怎么找也找不到原因所在,找了老半天結(jié)果卻是一個(gè)函數(shù)放錯(cuò)了地方所致,有時(shí)一個(gè)功能不知道怎么實(shí)現(xiàn)找這個(gè)、找那個(gè)。有所編到最后一運(yùn)行卻告訴我錯(cuò)誤,那真的很煩人。以前上課都是學(xué)一些最基本的東西,覺(jué)得很枯燥,而現(xiàn)在卻可以將以前學(xué)的東西編出有實(shí)際價(jià)值的東西,這樣自己非常的投入,有時(shí)候一編就是二三個(gè)小時(shí)坐在電腦前面,有時(shí)候連吃飯都忘了。但現(xiàn)在回過(guò)頭來(lái)看,還是挺有成就感的。3 在注釋的時(shí)候不能同我們平常做筆記一樣隨心所欲地愛(ài)寫哪就寫哪,這造成我最后本來(lái)已經(jīng)編譯成功的程序一下子又多了很多錯(cuò)誤。,就是跟以上的情況一樣當(dāng)我在編譯的同時(shí)又很多的中斷包
20、含了語(yǔ)言的語(yǔ)句最后導(dǎo)致出現(xiàn)很多的錯(cuò)誤剛一開始真的是不知道才哪里出錯(cuò)了也不知道電腦所提示的到底是哪里出錯(cuò)了但我回想起老師所說(shuō)的一些話:程序的注釋可以導(dǎo)致函數(shù)出現(xiàn)很多錯(cuò)誤。故我想應(yīng)該是在函數(shù)的注釋過(guò)程當(dāng)中可能使用了一些包含C語(yǔ)言的語(yǔ)句以及是我的表達(dá)不正確或是多了字符等。這又讓我學(xué)到了一點(diǎn)知識(shí)。七 使用說(shuō)明1 程序操作步驟: 1)進(jìn)入程序,運(yùn)行;2) 選擇要心算的運(yùn)算級(jí)(根據(jù)主菜單上的提示輸入); 3)輸入你所在的年級(jí)進(jìn)而運(yùn)用隨機(jī)函數(shù)來(lái)確定你題目的難易程度; 4)再次輸入你所要答題的數(shù)目,據(jù)此運(yùn)用時(shí)間函數(shù)來(lái)計(jì)算你的心算速度;八 心得體會(huì)先前聽學(xué)長(zhǎng)他們說(shuō)C語(yǔ)言非常難學(xué),但當(dāng)你搞懂以后就會(huì)覺(jué)得很容易。通
21、過(guò)本次的C語(yǔ)言課程設(shè)計(jì),我認(rèn)為要學(xué)好C語(yǔ)言程序這門課程,不僅要認(rèn)真閱讀課本知識(shí),熟練掌握函數(shù)與數(shù)組的應(yīng)用及其的作用,更重要的是要通過(guò)上機(jī)實(shí)踐來(lái)加強(qiáng)和鞏固所學(xué)到的知識(shí)。經(jīng)過(guò)兩個(gè)星期的課程設(shè)計(jì),使我對(duì)C語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要熟練掌握基礎(chǔ)知識(shí),次外要通過(guò)不斷的上機(jī)操作從而更好地學(xué)習(xí)它,和應(yīng)用它。同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處。總之,不管是學(xué)習(xí)C語(yǔ)言,還是其它的語(yǔ)言,以及其它的計(jì)算機(jī)方面的知識(shí), 理論知識(shí)是學(xué)習(xí)的基石,最重要的是在于實(shí)踐,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正檢驗(yàn)自己的掌握程度,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。通過(guò)本次的
22、課程設(shè)計(jì),使我受益匪淺.課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程. 從理論到實(shí)踐,在整整一個(gè)星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí)。在設(shè)計(jì)的過(guò)程中遇到的問(wèn)題,可以說(shuō)是困難重重,這畢竟是第一次涉及到這方面的知識(shí),難免會(huì)遇到各種各樣的問(wèn)題和困難,但在老師和同學(xué)的指導(dǎo)和幫助下,克服了困難,比較好地完成了此次的程序設(shè)計(jì)。在此,真心地感謝老師及同學(xué)的幫助!這次課程設(shè)計(jì)雖然花了我不少時(shí)間,但正是這些時(shí)間,讓我見識(shí)到了C
23、語(yǔ)言的重要性。C語(yǔ)言是一項(xiàng)細(xì)致深入的工作,不僅要有嚴(yán)謹(jǐn)?shù)乃悸?,還要在實(shí)踐中有耐心,要細(xì)心。九 附件1)源程序#include<conio.h>#include<stdlib.h>#include<stdio.h>#include<math.h>add();minus();multiply();divide();mix();void out();int grade();int many();void main()char i;printf("n");printf(" *n");printf(" n&
24、quot;);printf("* 歡迎進(jìn)入小學(xué)生CAI數(shù)學(xué)學(xué)習(xí)樂(lè)園 *n");printf(" n");printf("*<=>*n");printf("*<o>*n");printf("* <=> *n");printf("* *n");printf("* 1.【】加法運(yùn)算 | 2.【】減法運(yùn)算 *n");printf("* | *n");printf("* | *n");pri
25、ntf("* 3.【×】乘法運(yùn)算 | 4.【÷】除法運(yùn)算 *n");printf("* | *n");printf("* | *n");printf("* 5.【±】混合運(yùn)算 | 6.【O】退出系統(tǒng) *n");printf("* *n");printf(" *n");printf("n");printf("n請(qǐng)選擇菜單項(xiàng)目:");scanf("%c",&i);switch(i)c
26、ase 49:printf("*n");printf("* 歡迎進(jìn)入加法運(yùn)算練習(xí) *n");printf("*n");add();break;case 50:printf("*n");printf("* 歡迎進(jìn)入減法運(yùn)算練習(xí) *n");printf("*n");minus();break;case 51:printf("*n");printf("* 歡迎進(jìn)入乘法運(yùn)算練習(xí) *n");printf("*n");multi
27、ply();break;case 52:printf("*n");printf("* 歡迎進(jìn)入除法運(yùn)算練習(xí) *n");printf("*n");divide();break;case 53:printf("*n");printf("* 歡迎進(jìn)入混合運(yùn)算練習(xí) *n");printf("*n");mix();break;case 54:out();break;default:main();int add()int a,b,c,d,e,f,i,n,R=0;float p=0;cha
28、r x;B1:n=many();for(i=1;i<=n;i+)a=rand()%100;b=rand()%100;c=a+b;printf("n請(qǐng)輸入計(jì)算機(jī)結(jié)果(退出請(qǐng)按鍵):%d+%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)printf("您答對(duì)了!恭喜,繼續(xù)加油!n");R+;else printf("您答錯(cuò)了!還有兩次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(退出請(qǐng)按鍵)
29、:%d+%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)printf("這次對(duì)了,真牛,再努力!n");R+;else printf("您答又錯(cuò)了!還有一次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(退出請(qǐng)按鍵):%d+%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(
30、c=d)printf("這次對(duì)了,再努力!n");R+;elseprintf("這又錯(cuò)了,答案是:%d.n",c);printf("n 一共%d道題,你做對(duì)了%d道題.n",n,R);p=(float)100*R/n;/正確率超過(guò)%可以選擇進(jìn)入混合運(yùn)算if(p>=60)R=0;printf("是否進(jìn)入混合運(yùn)算,進(jìn)入請(qǐng)輸入,繼續(xù)請(qǐng)輸入,按其它鍵回主菜單:n");scanf("%d",&f);if(f=1)return mix();else if(f=2)goto B1;elsemai
31、n();elseR=0;printf("想繼續(xù)嗎?n如果是請(qǐng)按'1',否則請(qǐng)按數(shù)字任意鍵回主菜單:");scanf("%d",&e);if(e=1)goto B1;else main();int minus()int a,b,c,d,e,f,i,n,t,R=0;float p=0;char x;B2:n=many();for(i=1;i<=n;i+)a=rand()%100;b=rand()%100;if(a<b)t=a;a=b;b=t;c=a-b;printf("n請(qǐng)輸入計(jì)算機(jī)結(jié)果(退出請(qǐng)按鍵):%d-%d
32、=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)printf("您答對(duì)了!恭喜,繼續(xù)加油!n");R+;else printf("您答錯(cuò)了!還有兩次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(退出請(qǐng)按鍵):%d-%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)pr
33、intf("這次對(duì)了,真牛,再努力!n");R+;else printf("您又答錯(cuò)了!還有一次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(退出請(qǐng)按鍵):%d-%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)printf("這次對(duì)了,再努力!n");R+;elseprintf("這又錯(cuò)了,答案是:%d.n",c);printf("n 一共%d道題,你做
34、對(duì)了%d道題.n",n,R);p=(float)100*R/n;if(p>=60)R=0;printf("是否進(jìn)入混合運(yùn)算,進(jìn)入請(qǐng)輸入,繼續(xù)請(qǐng)輸入,按其它鍵回主菜單:n");scanf("%d",&f);if(f=1)return mix();else if(f=2)goto B2;else main();elseR=0;printf("想繼續(xù)嗎?n如果是請(qǐng)按'1',否則請(qǐng)按數(shù)字任意鍵回主菜單:");scanf("%d",&e);if(e=1)goto B2;else
35、 main();int multiply()int a,b,c,d,e,f,i,n,R=0;float p=0;char x;B3:n=many();for(i=1;i<=n;i+)/約束只能進(jìn)行個(gè)位乘法運(yùn)算a=rand()%10;b=rand()%10;c=a*b;printf("n請(qǐng)輸入計(jì)算機(jī)結(jié)果(推出請(qǐng)按鍵):%d*%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)printf("您答對(duì)了!恭喜,繼續(xù)加油!n")
36、;R+;else printf("您答錯(cuò)了!還有兩次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(推出請(qǐng)按鍵):%d*%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)printf("這次對(duì)了,真牛,再努力!n");R+;else printf("您答又錯(cuò)了!還有一次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(推出請(qǐng)按鍵):%d*%d=",a,b);scanf(&
37、quot;%d",&d);scanf("%c",&x);if(x=54) main();if(c=d)printf("這次對(duì)了,再努力!n");R+;elseprintf("這又錯(cuò)了,答案是:%d.n",c);printf("n 一共%d道題,你做對(duì)了%d道題.n",n,R);p=(float)100*R/n;if(p>=60)R=0;printf("是否進(jìn)入混合運(yùn)算,進(jìn)入請(qǐng)輸入,繼續(xù)請(qǐng)輸入,按其它鍵回主菜單:n");scanf("%d",&a
38、mp;f);if(f=1)return mix();else if(f=2)goto B3;else main();elseR=0;printf("想繼續(xù)嗎?n如果是請(qǐng)按'1',否則請(qǐng)按數(shù)字任意鍵回主菜單:");scanf("%d",&e);if(e=1)goto B3;else main();int divide()int a,b,c,d,e,f,i,n,t,R=0;float p=0;char x;B4:n=many();for(i=1;i<=n;i+)/約束只能進(jìn)行個(gè)位除法運(yùn)算a=rand()%10;b=rand()%
39、10;c=a*b;d=c/a;printf("n請(qǐng)輸入計(jì)算機(jī)結(jié)果(退出請(qǐng)按鍵):%d/%d=",c,a);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(d=b)printf("您答對(duì)了!恭喜,繼續(xù)加油!n");R+;else printf("您答錯(cuò)了!還有兩次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(退出請(qǐng)按鍵):%d/%d=",c,a);scanf("%d",&d);scan
40、f("%c",&x);if(x=54) main();if(b=d)printf("這次對(duì)了,真牛,再努力!n");R+;else printf("您答又錯(cuò)了!還有一次機(jī)會(huì)!n");printf("請(qǐng)輸入計(jì)算結(jié)果(退出請(qǐng)按鍵):%d/%d=",c,a);scanf("%d",&d);scanf("%c",&x);if(x=54) main();if(b=d)printf("這次對(duì)了,再努力!n");R+;elseprintf(&qu
41、ot;這又錯(cuò)了,答案是:%d.n",c);printf("n 一共%d道題,你做對(duì)了%d道題.n",n,R);p=(float)100*R/n;if(p>=60)R=0;printf("是否進(jìn)入混合運(yùn)算,進(jìn)入請(qǐng)輸入,繼續(xù)請(qǐng)輸入,按其它鍵回主菜單:n");scanf("%d",&f);if(f=1)return mix();else if(f=2)goto B4;else main();elseR=0;printf("想繼續(xù)嗎?n如果是請(qǐng)按'1',否則請(qǐng)按數(shù)字任意鍵回主菜單:"
42、);scanf("%d",&e);if(e=1)goto B4;else main();int mix()int a,b,c,d,e,f,g,i,j,k,n,R=0;float p;char x;g=grade();B5:n=many();for(i=1;i<=n;i+)a=g+rand()%4;b=g+rand()%4;c=g+rand()%4;e=g+rand()%100;f=g+rand()%100;j=g+rand()%4;k=(a)*(b)/(j)-(e)+(f);printf("n請(qǐng)輸入計(jì)算機(jī)結(jié)果(退出請(qǐng)按鍵):(%d)*(%d)/(%d)-(%d)+(%d)=",a,b,j,e,f);scanf("
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)二級(jí)C++考試文檔編寫規(guī)范及答案
- 邏輯考試中復(fù)習(xí)的規(guī)劃與實(shí)施方案試題及答案
- 管理課程銀行筆試題目及答案
- 財(cái)務(wù)預(yù)測(cè)中的邏輯推理試題及答案
- 法律專員筆試試題及答案
- 財(cái)務(wù)管理中的邏輯應(yīng)用考核題目及答案
- 計(jì)算機(jī)二級(jí)Delphi代碼優(yōu)化技巧試題及答案
- 高效管理2025年計(jì)算機(jī)二級(jí)Python考試的試題及答案
- 法律稅法自考試題及答案
- 法律培訓(xùn)面試題及答案
- 配電箱系統(tǒng)圖
- 精選靜電感應(yīng)現(xiàn)象的應(yīng)用練習(xí)題(有答案)
- 電纜井工程量計(jì)算
- 初中音樂(lè)--人聲的分類--(1)pptppt課件
- 育種學(xué) 第6章雜交育種
- 小作坊生產(chǎn)工藝流程圖(共2頁(yè))
- 生態(tài)瓶記錄單
- 食品飲料購(gòu)銷合同
- 民法典部分條文新舊對(duì)比解讀PPT課件
- 鋼芯鋁絞線參數(shù)
- 音王點(diǎn)歌機(jī)800S加歌操作方法
評(píng)論
0/150
提交評(píng)論