版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
《C語言課程設計》課程設計第4頁共11頁揚州大學C語言課程設計報告題目一個簡易計算器的設計與實現(xiàn)班級學號姓名指導教師成績老師評語:揚州大學信息工程學院2010年6月25目錄程序設計目的:………………1程序設計內(nèi)容:………………1課程設計所補充的內(nèi)容:補充的函數(shù)或算法…………3,4系統(tǒng)總體設計………………….4系統(tǒng)詳細設計………5,6,7,8運行結(jié)果………………8,9,10系統(tǒng)調(diào)試…………8,9,10,11課程設計體會總結(jié)………………8,9,10,11getch();}使用使只需要將其轉(zhuǎn)換為函數(shù),在computer函數(shù)中對其進行調(diào)用即可4課程總體設計main()函數(shù)首先初始化圖形系統(tǒng),然后調(diào)用計算器computer()進行計算器的計算功能,當計算器程序返回時,關(guān)閉圖形系統(tǒng),結(jié)束程序。其系統(tǒng)模塊圖如下:main函數(shù)main函數(shù)Computer函數(shù)計算IComputer函數(shù)計算Initialize初始化圖形系統(tǒng)Closegraph關(guān)閉圖形系統(tǒng)5.1系統(tǒng)詳細設計5.1.1主界面:畫一個帶標題(calculator)的窗口,窗口最上面的光條顯示數(shù)字和運算結(jié)果,光條下30個矩形塊模擬命令按鈕,按鈕上面顯示數(shù)字和運算符號,并且在按鈕上有圖形光標,通過移動光標鍵到所需位置,按回車鍵即可選擇相應的符號。5.1.2main()主函數(shù):首先初始化圖形系統(tǒng)(Initialize函數(shù)),然后調(diào)用計算器computer()函數(shù)進行計算器的計算功能,當計算器程序返回時,關(guān)閉圖形系統(tǒng)(Closegraph),結(jié)束程序。5.1.3initialize()初始化函數(shù):調(diào)用initgraph(&GraphDriver,&&GraphMode,”初始化系統(tǒng),將其裝入相應的圖形驅(qū)動器。圖形函數(shù)所用的屏顯模式由GraphMode所指向的整數(shù)值確定。用DETECT自動檢測目前屏顯硬件的類型,并選用最大分辨率的屏顯模式。為了方便設計計算器界面,在這個函數(shù)中你,獲取圖形屏幕的最大尺寸及縱橫比。5.1.4mwindow()主窗口函數(shù):設置視口大小為當前窗口的一半,然后調(diào)用畫邊框函數(shù)drawboder()畫出邊框。5.1.5drawboder()畫邊框函數(shù):通過函數(shù)getviewsettings(&vp)把有關(guān)當前視口的信息裝入由vp所指向的結(jié)構(gòu)中。vp是structviewporttype類型,其結(jié)構(gòu)定義如下:structviewporttype{intleft,top,right,bottom;intclip;}域left,top,right,bottom中分為左上角和右下角的坐標。當clip為0時,不對超出視口邊界裁剪,否則裁剪以防止超出邊界。因窗口是屏幕的活動部分,在這個活動窗口將顯示輸出,為保持字符屏幕和圖形系統(tǒng)的獨立。字符屏幕的函數(shù)提供了窗口(window),而圖形系統(tǒng)提供了視口(ViewPort),當屏幕用字符模式時,左上角坐標為(1,1),而在圖形狀態(tài)下,左上角坐標為(0,0)。根據(jù)視口坐標,利用畫矩形函數(shù)rectangle()畫出邊框線。5.1.6computer()計算器函數(shù):這是主要函數(shù),實現(xiàn)了計算器的計算功能。先調(diào)用mwindow()函數(shù)顯示窗口,再在窗口中顯示計算器,最后接收按鍵進行運算。根據(jù)窗口大小設置按鈕大小和位置,設置了兩個單位變量width和height,圖形顯示以這兩個變量為計算單位。圖中的符號按鈕利用setfillstyle()設置顏色來實體填充,再用把bar()函數(shù)畫矩形條,setcolor()函數(shù)設置邊框線顏色,rectangle()函數(shù)畫矩形邊框線,利用outtextxy()函數(shù)將預先存儲在str1中的字符串中的字符輸出,因outtextxy()輸出的時字符串,則應利用sprintf()函數(shù)將要輸出的字符寫入字符數(shù)組str2中,轉(zhuǎn)變?yōu)樽址?,然后輸出。界面設置好后,先在第一個按鈕位置顯示圖標,此時可移動和按下光標,變量m和n記錄光標的位置,光標移動某個位置按回車后,則程序判斷所按的字符,進行相應處理:(1)若為數(shù)字或小數(shù)點,則判斷是否為負數(shù),若是則將負號連接到字符串中,否則只連接所選的數(shù)字或小數(shù)點,并顯示數(shù)據(jù)。(2)當所選為“-“先判斷有無操作數(shù),沒有,則為負數(shù),做負號標記,否則是做減法,做減法標志,并將當前操作數(shù)保存。(3)當所選為”+“、”*“、”/“、”^“等符號時,處理方式一樣均是先保存第一個操作數(shù),做運算標志,準備接受第二個操作數(shù)。(4)當所選為”=“時,根據(jù)運算符號標志值act進行相應的運算,將結(jié)果顯示。(5)當所選為”C“時,表示清零,將第一和第二操作數(shù)均置0。(6)當所選為“Q”時,則運算結(jié)束。此外,數(shù)據(jù)和結(jié)果的顯示仍然用outtextxy.()函數(shù),并且填充二維矩陣條覆蓋前一次的輸出。5.1.7arrow()設計圖形鼠標函數(shù):用fillpoly(8,raw)畫一個由raw所指向的數(shù)組中定義的8個x、y坐標點所圍成的封閉圖形,用當前填充模式和顏色對該形狀進行填充,利用imagesize()函數(shù)測試圖像大小,分配內(nèi)存區(qū)域,將圖像保存,再通過圖像的讀取函數(shù)getimage()和putimage()以及XOR-PUT操作實現(xiàn)光標的顯示和隱藏。5.1.8speciallykey()讀取特殊鍵函數(shù):利用bioskey(1)讀取用戶所按鍵的信息,intbioskey(intcmb)函數(shù)原型在bios.h中,功能是完成直接按鍵操作。如果cmb是0,bioskey()返回下一個在鍵盤鍵入的值,即在等待到下一個鍵。如果cmb是1,bioskey()查詢是否按下一個鍵,當按下一個鍵時返回非0值,否則返回0值,所以用while(bioskey(1)==0)語句等待按鍵5.2.模塊接口設計intmain(){initialize();Computer();Closegraph();Return(0);}先設置系統(tǒng)進入圖形模式(調(diào)用initialize()函數(shù)),即為模塊入口,然后調(diào)用computer()函數(shù)執(zhí)行計算器的計算功能,最后調(diào)用closegraph()函數(shù)來關(guān)閉圖形模式返回文本模式(模塊出口),再結(jié)束程序。5.3流程圖開始開始設計計算器圖形樣式及光標計算器計算功能,用switch語句結(jié)束Computer()函數(shù)流程圖按鍵按鍵執(zhí)行運算顯示結(jié)果清零增加一位Q或C鍵清零結(jié)束開始前一位是運算符還是數(shù)字或小數(shù)點Q或C鍵運算符數(shù)字或小數(shù)點等于Q鍵清零C鍵總系統(tǒng)設計流程圖6運行結(jié)果運算器主界面4的階乘運算結(jié)果cos0運算結(jié)果e的平方運算結(jié)果Ln10的運算結(jié)果7系統(tǒng)調(diào)試該計算器系統(tǒng)不能實現(xiàn)四則運算功能,有望改進!8課程設計體會總結(jié)經(jīng)過一周的C語言課程設計,使我加深了C語言程序的使用,并能達到基本上的運用。同時也增強了動手和實踐的能力。雖然在遇到了不少困難,但是正因為這些困難,我也學到了更多的東西。這次“簡單計算器制作”的課程設計不僅讓我對C語言的的熟悉城的上升到了一個新的高度,是我在編程路上一個質(zhì)的飛躍。當我看到一個具有圖形界面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 育兒中級考試題庫及答案
- 醫(yī)藥道德考試題及答案
- 2026字節(jié)跳動招聘題庫及答案
- 2026黃河實驗室(河南)招聘5人參考題庫必考題
- 中共涼山州委辦公室2025年面向全州公開考調(diào)公務員的(3人)備考題庫附答案
- 中國火箭公司2026校園招聘參考題庫必考題
- 云南省2026年面向華中農(nóng)業(yè)大學定向選調(diào)生招錄考試備考題庫附答案
- 學習機產(chǎn)品功能展示考試備考題庫必考題
- 川北醫(yī)學院2025年公開選調(diào)工作人員考試備考題庫附答案
- 招38人!青海區(qū)域醫(yī)療中心2025年公開招聘合同制工作人員備考題庫附答案
- 2026四川巴中市通江產(chǎn)業(yè)投資集團有限公司及下屬企業(yè)招聘11人備考題庫(含答案詳解)
- 數(shù)據(jù)資產(chǎn)價值評估模型構(gòu)建與分析
- 市政污水管道有限空間作業(yè)方案
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責任公司社會成熟人才招聘備考題庫及1套參考答案詳解
- 2026年秦皇島煙草機械有限責任公司招聘(21人)考試參考試題及答案解析
- 職場關(guān)鍵能力課件 4 時間管理
- 2026年甘肅平?jīng)龀缧趴h機關(guān)事業(yè)單位選調(diào)30人筆試備考題庫及答案解析
- 2026及未來5年中國電腦顯卡行業(yè)市場運行態(tài)勢及發(fā)展前景研判報告
- 智能體開發(fā)技術(shù)(Python+FastAPI版) 課件 第一章 大模型與智能體開發(fā)
- 2025年河北省高考歷史真題卷(含答案與解析)
- 少數(shù)民族語言怒語數(shù)字化傳播與年輕一代傳承意愿激發(fā)研究畢業(yè)論文答辯
評論
0/150
提交評論