版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p><b> 1.系統(tǒng)功能要求。</b></p><p> 2. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及說明。</p><p> 3.程序結(jié)構(gòu)(畫流程圖)。</p><p><b> 4.各模塊的功能。</b></p>&l
2、t;p> 5.試驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)。</p><p><b> 6.體會(huì)。</b></p><p><b> 7.參考文獻(xiàn)。</b></p><p> 8.附錄:程序清單及源程序。</p><p><b> 系統(tǒng)功能要求:</b></p>
3、;<p> 在屏幕上顯示一個(gè)圖形時(shí)鐘(用程序繪制一個(gè)與時(shí)鐘樣式相似即可),時(shí)間與系統(tǒng)時(shí)間一致,且要隨著時(shí)間的走動(dòng)準(zhǔn)確的走動(dòng)。</p><p><b> 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及說明</b></p><p> ?。?) 圖形時(shí)鐘要用TC來編譯,學(xué)C語言時(shí)主要用VC,用TC對(duì)我有一定的挑戰(zhàn)性,不熟悉編譯,對(duì)圖形函數(shù)也沒有太多接觸,做這個(gè)有一定難度。<
4、/p><p> (2) 先畫出時(shí)鐘基本組成,(時(shí)針分針秒針,中心點(diǎn),表盤及其分隔點(diǎn))。</p><p> (3) 時(shí)鐘表設(shè)計(jì)思想:</p><p> 第一步,確定秒鐘的走時(shí)。將圓等分成60份每過一秒,秒鐘要轉(zhuǎn)1/60個(gè)圓,亦即一等份。</p><p> 第二步,確定分鐘的走時(shí)。將圓等分成60份每過一分,分鐘要轉(zhuǎn)1/60
5、個(gè)圓,亦即一等份。</p><p> 分鐘自己走的再加秒鐘的,才是分鐘此時(shí)的位置。</p><p> 第三步,確定時(shí)鐘的走時(shí)。將圓等分成12等分。每過一時(shí),時(shí)鐘走一等份。和分鐘一樣,</p><p> 得加上分鐘,秒鐘的走時(shí),才是此刻時(shí)鐘的位置。</p><p> (4) 時(shí)鐘走動(dòng)與系統(tǒng)時(shí)間聯(lián)系:每過一秒畫出秒針,并除去前一
6、秒的秒針,分針秒針同樣可用。畫線函數(shù)與時(shí)間聯(lián)系使用變量。</p><p> (5) 設(shè)置橫縱坐標(biāo)</p><p> x=a*cos(b*c*pi/180-pi/2)+300; </p><p> y=a*sin(b*c*pi/180-pi/2)+240; </p><p> 設(shè)置表針的動(dòng)態(tài)坐標(biāo)點(diǎn) </p>
7、<p> x1=200*sin(i*6*pi/180)+300; y1=200*cos(i*6*pi/180)+240; </p><p> x2=(200-l)*sin(i*6*pi/180)+300; </p><p> y2=(200-l)*cos(i*6*pi/180)+240;</p><p> 程序結(jié)構(gòu)(畫流程圖)</p>
8、<p><b> 總流程圖:</b></p><p><b> 指針轉(zhuǎn)動(dòng)流程圖:</b></p><p><b> 各模塊的功能</b></p><p> 試驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)</p><p><b> 體會(huì):</b>
9、</p><p> 剛開始做時(shí)基本上什么都不懂,用TC做,我更不會(huì)。不過參考了很多資料,到網(wǎng)上查,泡了幾天圖書館,差不多能寫出基本程序,雖然很多是借鑒別人的,不過能寫成這樣,我心里還是挺高興的。</p><p> 有了一點(diǎn)成功我就很興奮,這是動(dòng)力。程序很奇特,很多問題都可以用程序編寫,看到那些大型程序我就感覺我也能寫出這樣的程序。</p><p> 程序設(shè)計(jì)主
10、要靠理解與運(yùn)用,有些沒有學(xué)過的知識(shí)不一定要懂得徹底,只要會(huì)運(yùn)用就行。</p><p> 不足之處也很多,程序思路不太清晰可能有些混亂。有很多程序設(shè)計(jì)使用并不熟練,甚至有些方法掌握不了,更容易忘記。算法結(jié)構(gòu)了解并不深入,獨(dú)立自主的想法占據(jù)總體達(dá)不到要求。需要加強(qiáng)練習(xí)和對(duì)知識(shí)的理解與掌握。</p><p><b> 參考文獻(xiàn):</b></p><p
11、> 《C程序設(shè)計(jì)思想與方法》</p><p><b> 《C語言完全手冊(cè)》</b></p><p> 《C語言課程設(shè)計(jì)指導(dǎo)》</p><p> 《百度知道 圖形時(shí)針》</p><p> 附錄:程序清單及源程序 (使用TC)</p><p> # include <grap
12、hics.h> </p><p> # include <math.h> </p><p> # include <dos.h></p><p> # define pi 3.1415926 </p><p> void draw(int a, int b, int c)</p><p
13、><b> {</b></p><p> float x, y;</p><p> x=a*cos(b*c*pi/180-pi/2)+300; /*確定橫坐標(biāo)*/</p><p> y=a*sin(b*c*pi/180-pi/2)+240; /*確定縱坐標(biāo)*/</p><p> line(300, 240
14、, x, y);/*繪制時(shí)針或分針或秒針*/</p><p><b> }</b></p><p> void init() /*劃時(shí)鐘邊框函數(shù)*/ </p><p><b> { </b></p><p> int i,l,x1,x2,y1,y2; </p><p&g
15、t; circle(300,240,200);/*以(300,240)為圓心,200為半徑畫圓*/</p><p> circle(300,240,5);/*以(300,240)為圓心,5為半徑畫圓*/</p><p> for(i=0;i<60;i++) /*劃鐘點(diǎn)上的短線*/ </p><p><b> { </b></
16、p><p> if(i%5==0) </p><p><b> l=15; </b></p><p><b> else </b></p><p><b> l=5; </b></p><p> x1=200*sin(i*6*pi/180)+300
17、; /*畫線函數(shù)*/</p><p> y1=200*cos(i*6*pi/180)+240; </p><p> x2=(200-l)*sin(i*6*pi/180)+300; </p><p> y2=(200-l)*cos(i*6*pi/180)+240; </p><p> line(x1,y1,x2,y2); </p&
18、gt;<p><b> } </b></p><p><b> } </b></p><p><b> main()</b></p><p><b> {</b></p><p> int x, y,i;</p>&l
19、t;p> int gdriver, gmode;</p><p> unsigned char h, m, s;</p><p> struct time t[1];</p><p> gdriver = DETECT;</p><p> initgraph(&gdriver, &gmode, "&q
20、uot;); /*初始化*/</p><p> for(i=0;i<=6;i++) </p><p><b> { </b></p><p> outtextxy(300,80,"12") ; </p><p> outtextxy(300,390,"6"); &l
21、t;/p><p> outtextxy(140,230,"9"); </p><p> outtextxy(460,230,"3"); </p><p><b> } </b></p><p> init(); /*調(diào)用init()函數(shù)*/</p
22、><p> setwritemode(1);/*將當(dāng)前線與原有的線進(jìn)行異或操作*/</p><p> gettime(t); /*將計(jì)算機(jī)時(shí)間寫入結(jié)構(gòu)體t中*/</p><p> h = t[0].ti_hour; /*h賦初值當(dāng)前時(shí)數(shù)*/</p><p> m = t[0].ti_min; /
23、*m賦初值當(dāng)前分?jǐn)?shù)*/</p><p> s = t[0].ti_sec; /*s賦初值當(dāng)前秒數(shù)*/</p><p> setcolor(7); </p><p> draw(150, h, 30); /*畫時(shí)針*/</p><p> setcolor(14);</p><p&g
24、t; draw(170, m, 6); /*畫分針*/</p><p> setcolor(4);</p><p> draw(190, s, 6); /*畫秒針*/</p><p> while (!kbhit())</p><p><b> {</b></p>
25、<p> while (t[0].ti_sec == s)</p><p> gettime(t);</p><p> setcolor(4);</p><p> draw(190, s, 6); /*清除前面畫的秒針*/</p><p> s = t[0].ti_sec;</p><p&
26、gt; draw(190, s, 6); /*畫秒針*/</p><p> if (t[0].ti_min != m)</p><p><b> {</b></p><p> setcolor(14);</p><p> draw(170, m, 6); /*清除前面畫的分針*/</p
27、><p> m = t[0].ti_min;</p><p> draw(170, m, 6); /*畫分針*/</p><p><b> }</b></p><p> if (t[0].ti_hour != h)</p><p><b> {</b>&l
28、t;/p><p> setcolor(7);</p><p> draw(150, h, 30); /*清除前面畫的時(shí)針*/</p><p> h = t[0].ti_hour;</p><p> draw(150, h, 30); /*畫時(shí)針*/</p><p><b> }</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖形模擬時(shí)鐘c語言課程設(shè)計(jì)
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告資料
- c語言課程設(shè)計(jì)實(shí)踐報(bào)告--時(shí)鐘
- 高級(jí)語言課程設(shè)計(jì)——迷宮實(shí)驗(yàn)報(bào)告
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告汽車租賃管理系統(tǒng)剖析
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績記錄簿
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績記錄簿
- c語言課程設(shè)計(jì)報(bào)告-模擬時(shí)鐘轉(zhuǎn)動(dòng)程序
- c語言課程設(shè)計(jì)設(shè)計(jì)報(bào)告--模擬電子時(shí)鐘
- c語言課程設(shè)計(jì)(電子時(shí)鐘)
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告--高校在職職工管理軟件
- 《程序語言綜合課程設(shè)計(jì)》實(shí)驗(yàn)報(bào)告
- c++課程設(shè)計(jì)——聊天程序?qū)嶒?yàn)報(bào)告
- 課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- c語言課程設(shè)計(jì)---整點(diǎn)報(bào)時(shí)時(shí)鐘
- 單片機(jī)應(yīng)用課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-電子時(shí)鐘
- 51單片機(jī)電子時(shí)鐘課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 51單片機(jī)電子時(shí)鐘課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 51單片機(jī)電子時(shí)鐘課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- c語言課程設(shè)計(jì)報(bào)告-- 簡單圖形處理系統(tǒng)
評(píng)論
0/150
提交評(píng)論