課程設計報告
課程名稱 c語言程式設計
課題名稱小學生心算cai系統
專業機械設計製造及其自動化
班級 1183班
學號 30
姓名李焜
指導教師王穎
2023年6月22日
湖南工程學院
課程設計任務書
課程名稱 c程式設計
課題小學生心算cai系統
專業班級機械設計製造及其自動化1183班
學生姓名李焜
學號30
指導老師王穎
審批任務書下達日期 2023年6月8日
任務完成日期 2023年6月22日
一、設計內容與設計要求
1、設計內容
一、問題描述:
本系統可以用來進行單獨的的加、減、乘、除心算練習,也可綜合心算的速度與正確率進行測試。當使用者在進行簡單的四則運算時運算速度和正確率都較高時,可以進入四則混合運算,藉此來進一步提高自己的心算能力。
二、功能描述:
1、 使用者可以通過兩種方法來選擇功能,既可以按相應的數字鍵進入相應的心算練習,也可以按游標鍵來選擇功能項。
2、 計算機自動出題,使用者進入每項練習時,螢幕上會顯示使用者所做的相應的題數,如果不想繼續可以隨時退出。
3、 設計的系統完全適合使用者,比如除法時考慮到小學生的水平問題,只允許出現整除情況。
4、 使用者輸入的答案不對時,提示錯誤,使用者輸入的結果如果連續兩次不對,計算機會自動給出正確答案,供使用者參考。
5、 介面設計友好。
三、演算法提示:
1、 用簡單的程式設計方法
2、 一定的視窗設計技巧
3、 簡單的資料型別
四、測試資料:
計算機隨機產生
五、其它:
對該系統有興趣的同學可以在實現系統基本功能後,完善系統的其它功能。
六.分組及安排
所選題目根據學生學號確定,學號模4加1,即(學號%4+1)。如你的學號為17,則所選題目號為:17%4+1==(題目2)。
七.成績評定
程式設計方案是否合理;程式設計是否正確;除錯結果;設計說明書的質量高低;答辯時回答問題情況;課程設計周表現情況;總評成績記入「課程設計成績評分表」。
2.設計要求:
1).設計正確,方案合理。
2).介面友好,使用方便。
3).程式精煉,結構清晰。
4).設計報告以上,含程式設計說明,使用者使用說明,源程式清單及程式框圖。
5).上機演示。
二、進度安排
星期一下午
機房上機,熟悉這次課程設計的目的和課程設計的要求,通過圖書館或網際網路查詢與小學生心算cai系統課題相關的資料,明確了解一些要用到的檔案和呼叫函式等,然後再把整個程式設計的總體框架、流程圖等構思出來,並進行書面程式設計。
星期三下午
機房上機,在計算機上編輯源程式。除錯程式,在改正錯誤的同時不斷完善程式,使源**滿足課程設計的要求和實現課程設計的基本功能。不斷改正錯誤後,要保證程式能成功編譯成目標檔案,鏈結成功成為可執行檔案,這樣才能算已經完成了本課題的基本功能。
之後,開始撰寫課程設計報告。
星期四下午
進一步完善程式並執行演示,完成課程設計答辯,完成並列印課程設計報告。
一、課題的目的和意義6)
二、課程設計包含知識點6)
三、課題的主要功能及設計思路6)
1、 功能介紹7)
2、 設計的思路(主要用到的函式7)
3、 總體設計(模組結構圖8)
4、 功能的實現9)
5、 除錯分析8)
四、使用者使用說明書3)
五、總結及心得體會3)
六、參考文獻4)
七、附錄(源程式清單5)
一、 課題的目的和意義
c 語言程式設計是一門實踐性很強的課程。 c程式課程設計是學習c語言程式設計的非常重要的實踐環節,通過本課程設計使學生進一步鞏固課堂所學,全面熟悉、掌握c語言程式設計的基本方法和技巧,進一步提高編寫程式、閱讀分析程式及上機操作、除錯程式的能力,讓學生加深理解書本上所學的知識,提高動手操作的能力以及分析問題和解決問題的能力。
二、課程設計包含知識點:
1、掌握並熟練運用c語言的基本資料型別與各種表示式,程式的流程控制語句。
2、掌握陣列的基本概念。熟練掌握一維陣列和二維陣列的使用,掌握字元陣列與字串的關係以及字串的簡單處理,會分析、編寫利用陣列進行資料儲存和處理的簡單程式。
3、熟練掌握指標、位址、指標型別、void指標型別、空指標等概念,熟練掌握指標變數的定義和初始化、指標的間接訪問、指標的加減運算和指標表示式,掌握指標與陣列、函式、字串、自由空間等的聯絡,了解引用變數、值傳送、引用傳送的概念,掌握引用引數的使用。
4、掌握函式的定義,函式的返回值,函式的呼叫,函式的形式引數和實際引數之間的關係;掌握變數的作用域與生存期,了解雖說捧著自己的成果很高興,但成果背後總是付出很大的努力。乙個多禮拜中,我們有過山窮水盡的困惑;有過柳暗花明的驚喜;有過唇槍舌劍的辯論;有過相互鼓勵的安慰。乙個多禮拜的時間我們經歷了很多,也收穫了很多。
與其說它是體力與腦力的作業,不如說它是合作精神和毅力的考驗。經過這次課程設計,我不僅學到了很多知識和技能,更重要的是我們函式的作用域。
5、掌握結構的概念,結構型別的定義,結構變數的定義和初始化,結構成員的表示,結構的賦值含義,結構與指標、函式的關係。
三、課題的主要功能和設計的思路
1、功能介紹:
本系統可以用來進行單獨的的加、減、乘、除心算練習,也可進行混合運算,當使用者在進行簡單的四則運算時正確率都較高時且做了五道題(80%),可以進入四則混合運算,藉此來進一步提高自己的心算能力。
(1)使用者可以通過兩種方法來選擇功能,既按游標鍵來選擇功能項。
(2)計算機自動出題,使用者進入每項練可以按相應的數字鍵進入相應的心算練習,也可以習時,螢幕上會顯示使用者所做的相應的題數,如果不想繼續可以隨時退出。
(3)設計的系統完全適合使用者,比如除法時考慮到小學生的水平問題,只允許出現整除情況。
(4)使用者輸入的答案不對時,重新提示剛剛的題,重做一遍,使用者輸入的結果如果連續兩次不對,計算機會自動給出正確答案,供使用者參考。
(5)介面設計友好。
2.設計的思路(主要用到的函式)
1、main()主函式
程式採用模組化設計,主函式是程式的入口,其他各模組據獨立,均由主函式控制呼叫。該功能的實現是通過迴圈控制執行乙個開關語句,通過該語句得到乙個返回值,再判斷該值,執行呼叫下乙個函式,同時也設定一斷點,為一定條件是執行exit()避免死迴圈。
2、menu()和menu2()以及menu3()
menu()是直接利用輸出函式printf輸出字串,從而在螢幕上顯示一選單,並提示輸入選項,再將值返回給主函式,主函式在呼叫相應的函式。menu2()顯示一些視窗和計算最後得了多少分。menu3()則是為了使介面友好而新增的。
3、chuti()
出單獨的加、減、乘、除運算,利用選擇結構控制開關,並且能返回值給主函式,
是本程式的主要函式之一。
4、chuti2()
出複雜的四則混合運算。並且要求達到一定要求事由主函式控制進入。返值給主函式,是本程式的主要函式之一。
5、rand()隨機選整數
選取隨機的整數,例如rand()%100就是隨機出1到100之間的整數。使出來的題隨機。
6、zhishu()判斷是否為質數
考慮到小學生水平有限,只能出現整除,當被除數是質數時,能整除的只有1和其本身,因此此時應重新選取乙個整數數。於是由此實現,是質數返值1,不為質數時返值0.
7、tiao()和kong()換行和空格
為了設計方便,之後要換行或空格可直接由他們實現。
8、srand()函式是隨機數發生器的初始化函式,使產生的數更加隨機,避免出現相同的題,因此再一次出題時,不會與上一道題相同。
3.總體設計(模組結構圖):
注:當使用者的正確率達到80%以上,並且做了五題以上後會自動呼叫混合運算。
4.功能的實現
通過主函式控制,進入視窗函式,輸入key值,由此進入迴圈,迴圈中呼叫chuti()函式出簡單獨立的加、減、乘、除運算,在此函式中,各個運算單獨完成,由rand()函式隨機抽取資料出題,除法運算時,再條用zhishu()函式判斷是否為質數,是則重新選取。不想做時到選單輸入零,便可結束。迴圈結束時達到了一定題數,返回值給主函式,正確率大於80%時,由主函式呼叫chuti2()函式,此時進行混合四則運算。
此時再分16種情況,系統再次呼叫判斷質數函式zhishu()和隨機取數函式rand(),出題。結束後又返值給主函式,進入meun2()計算最後得分。
C語言程式設計 銷售管理系統
計算機高階語言課程設計 c 實習報告 姓名 劉曉東 題目 銷售管理系統 班級 軟體三班 學號 13270303 學院 專業 指導老師 陳作漢 2013 12.20 目錄一 題目與要求3 二 需求分析3 三 功能實現設計 模組化設計 3 四 執行結果 附帶抓圖9 五 總結13 六 源程式13 報告正文...
c語言程式設計報告圖書管理系統
中國地質大學 本科生課程 封面 課程名稱 c語言課程設計 教師姓名樊媛媛 本科生姓名 本科生學 本科生專業 所在院系 類別日期 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。課程設計評語 2 目錄 3 1 課程 題...
通訊錄管理系統C語言程式設計實習報告
c 語言課程設計 題目 通訊錄管理系統 設計者 院系 數理學院 專業 資訊與計算科學 班號 123111 學號 20111000586 指導教師 吳湘寧 2012年6月29日 1.題目要求 通訊錄管理系統是具有資料插入 更新 刪除 顯示和查詢功能的 簿管理程式。1 資料報括姓名 工作單位 號碼和e ...