C語(yǔ)言課程設(shè)計(jì)報(bào)告_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言課程設(shè)計(jì)報(bào)告—電子時(shí)鐘2023/9/30目錄01設(shè)計(jì)思路02

結(jié)構(gòu)劃分03任務(wù)分配04關(guān)鍵技術(shù)2023/9/30設(shè)計(jì)思路指針式時(shí)鐘模塊完成在屏幕上顯示一個(gè)活動(dòng)時(shí)鐘,圓周上分布均勻的12個(gè)刻度,模擬機(jī)械鐘表行走,時(shí)針,分針,秒針不同顏色且順時(shí)針旋轉(zhuǎn),獲取系統(tǒng)時(shí)間;能模擬機(jī)械鐘表行走,各指針運(yùn)動(dòng)規(guī)律正常程序界面設(shè)計(jì)合理,色彩得體大方,顯示正確。數(shù)字式時(shí)鐘模塊完成顯示時(shí)間格式時(shí)分秒,小時(shí)為24進(jìn)制,分和秒為60進(jìn)制與指針式的時(shí)鐘顯示時(shí)間同步并獲取系統(tǒng)時(shí)間。2023/9/30結(jié)構(gòu)劃分電子時(shí)鐘顯示界面本程序定義了huatu()函數(shù),程序首先進(jìn)入主函數(shù)后,就開(kāi)始調(diào)用huatu()函數(shù)。Huatu()函數(shù)中首先調(diào)用initgraph()函數(shù),使系統(tǒng)進(jìn)入圖形模式,調(diào)用setlinestyle(x,y,z)函數(shù)來(lái)設(shè)定線(xiàn)粗。Z代表線(xiàn)的粗細(xì),分為1,2,3三個(gè)等級(jí)的線(xiàn)型;調(diào)用setbkcolor(x)函數(shù)設(shè)置當(dāng)前的背景顏色,顏色分為1-15個(gè)等級(jí),0為白色;然后調(diào)用setcolor(x)函數(shù)確定當(dāng)前畫(huà)線(xiàn)的顏色,同樣也有1-15個(gè)等級(jí);調(diào)用line(x,y,a,b)函數(shù)開(kāi)始畫(huà)線(xiàn),〔x,y〕代表起點(diǎn)坐標(biāo)〔a,b〕代表終點(diǎn)坐標(biāo);然后調(diào)用outtextxy(x,y,〞〞)函數(shù)在坐標(biāo)點(diǎn)為〔x,y〕的位置輸出分號(hào)中的內(nèi)容;其中還調(diào)用了circle(i,j,x)函數(shù)畫(huà)出了以x為半徑〔x,y〕為圓心的圓作為表示小時(shí)或者分鐘的圓點(diǎn);調(diào)用完以上函數(shù)就完成了界面主體的繪制。2023/9/30按鍵控制模塊在本模塊中,使用bioskey()函數(shù)讀取用戶(hù)的鍵值進(jìn)行判斷執(zhí)行相應(yīng)操作。具體如下:用戶(hù)按下TAB或者Esc鍵,系統(tǒng)調(diào)按鍵判斷函數(shù),跳出時(shí)鐘處理函數(shù)1,進(jìn)入輸入界面,調(diào)用scanf〔〕函數(shù)對(duì)結(jié)構(gòu)體變量中的元素&t[0].ti_min,&t[0].ti_hour,&t[0].ti_sec重新賦值后,再調(diào)用settime〔t〕函數(shù),使之把數(shù)值賦給系統(tǒng)時(shí)間,通過(guò)改變系統(tǒng)時(shí)間到達(dá)修改時(shí)間的功能。2023/9/30動(dòng)畫(huà)處理模塊初運(yùn)行階段首先取得系統(tǒng)時(shí)間并保存在t結(jié)構(gòu)體變量?jī)?nèi),同在數(shù)字時(shí)鐘中顯示出當(dāng)前系統(tǒng)時(shí)間。然后開(kāi)始進(jìn)入for循環(huán),直到用戶(hù)按ESC或者Tab鍵跳出循環(huán)。同時(shí)翻開(kāi)揚(yáng)聲器,發(fā)出滴答聲,并利用while循環(huán)延遲一秒從而模擬出機(jī)械鐘的滴答聲。延遲一秒后去除原來(lái)的秒針,繪制新的秒針時(shí)更新數(shù)字時(shí)鐘的數(shù)字。用一個(gè)if語(yǔ)句判斷如果分鐘變化,去除分針,重繪分針;如果時(shí)針有變化,去除時(shí)針,重繪時(shí)針。最后通過(guò)對(duì)鍵值的判斷,假設(shè)為Esc或Ta跳出循環(huán)。2023/9/30關(guān)鍵技術(shù)1.計(jì)算算法:#define宏定義局部定義變量及算法。利用函數(shù)circle(a,b,c)定義圓即表盤(pán)及軸心,其中〔a,b〕為圓心坐標(biāo),c為半徑。利用函數(shù)setbkcolor、setcolor設(shè)置顏色。gettime(t)獲取電腦時(shí)間進(jìn)行顯示sound()、delay()函數(shù)設(shè)置表針走動(dòng)聲音對(duì)應(yīng)走動(dòng)刻度。3.編程原理:應(yīng)用c語(yǔ)言庫(kù)函數(shù)進(jìn)行表盤(pán)及顏色的的處理,編寫(xiě)表針運(yùn)算函數(shù),及表針影像顏色覆蓋處理詳見(jiàn)程序注釋。4.?dāng)?shù)據(jù)處理:顏色數(shù)值對(duì)應(yīng)相應(yīng)顏色、聲音數(shù)值、等函數(shù)值可在數(shù)據(jù)庫(kù)中查出。坐標(biāo)、表針設(shè)置數(shù)據(jù)。5.數(shù)據(jù)結(jié)構(gòu):本系統(tǒng)中主要的數(shù)據(jù)結(jié)構(gòu)就是time結(jié)構(gòu)體2023/9/30結(jié)論和設(shè)想結(jié)論:在桌面顯示一個(gè)模擬的時(shí)鐘,時(shí)鐘的秒針、分針與時(shí)針隨著時(shí)間的推移而不斷移動(dòng)就像我們經(jīng)??匆?jiàn)的圓形電子時(shí)鐘一樣。我們可以通過(guò)程序隨意改動(dòng)時(shí)鐘的背景顏色以及指針的顏色和表盤(pán)大小等問(wèn)題。當(dāng)然我們還可以修改系統(tǒng)時(shí)間,按Tab鍵將光標(biāo)跳至想要修改的地方,按上移鍵增加。設(shè)想:加進(jìn)鬧鐘定時(shí)設(shè)計(jì),使程序能在設(shè)定鬧鐘時(shí)間響提

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論