![計(jì)算機(jī)程序設(shè)計(jì)(C語言)課程設(shè)計(jì)報(bào)告_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/11/788baaae-c981-432b-9480-347870b6cd2c/788baaae-c981-432b-9480-347870b6cd2c1.gif)
![計(jì)算機(jī)程序設(shè)計(jì)(C語言)課程設(shè)計(jì)報(bào)告_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/11/788baaae-c981-432b-9480-347870b6cd2c/788baaae-c981-432b-9480-347870b6cd2c2.gif)
![計(jì)算機(jī)程序設(shè)計(jì)(C語言)課程設(shè)計(jì)報(bào)告_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/11/788baaae-c981-432b-9480-347870b6cd2c/788baaae-c981-432b-9480-347870b6cd2c3.gif)
![計(jì)算機(jī)程序設(shè)計(jì)(C語言)課程設(shè)計(jì)報(bào)告_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/11/788baaae-c981-432b-9480-347870b6cd2c/788baaae-c981-432b-9480-347870b6cd2c4.gif)
![計(jì)算機(jī)程序設(shè)計(jì)(C語言)課程設(shè)計(jì)報(bào)告_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/11/788baaae-c981-432b-9480-347870b6cd2c/788baaae-c981-432b-9480-347870b6cd2c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)程序設(shè)計(jì) (c 語言 )課程設(shè)計(jì)報(bào)告題目 : 電子動(dòng)畫時(shí)鐘學(xué)院:機(jī)電工程學(xué)院專業(yè) :班級(jí) :090 0班學(xué)號(hào) :姓名 :指導(dǎo)教師 :設(shè)計(jì)日期:一、概述選題背景 : 隨著社會(huì)得進(jìn)步與科技得發(fā)展, 電子鐘表逐漸成為了人們生活中不可缺少得一部分。設(shè)計(jì)思路 :( 一) 功能模塊設(shè)計(jì), 1、電子時(shí)鐘執(zhí)行主流程 2、電子時(shí)鐘界面顯示 3、電子時(shí)鐘按鍵控制模塊 4、時(shí)鐘動(dòng)畫處理模塊 ( 二)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 1、 time 結(jié)構(gòu)體 2、全局變量 ( 三) 函數(shù)功能描述、 ke hadle( )、 timeup a e( )、 t medownc ng ( )4 、 d itcloc ()5 、 drawc
2、ursor( )6、c earcu sor ()、 oi clo khadle () 8、 mai ( )(四)程序?qū)崿F(xiàn)(五)運(yùn)行結(jié)果。二、概要設(shè)計(jì)? 2、 1、數(shù)據(jù)結(jié)構(gòu)此程序中 , 使用了 c語言得 time 結(jié)構(gòu)體與幾個(gè)全局變量,、tim 結(jié)構(gòu)體st uctimeu gned ar ti_in ;* 分鐘 /unsigned c r ti_our; /小時(shí) /uni d c ar ti_hund;/* 百分之一秒unsign ha t _sec;/* 秒 /;time結(jié)構(gòu)體定義在dos、h文件中 , 可用來保存系統(tǒng)得當(dāng)前時(shí)間, 其中各字段得值得含義如下。、 uni e ti_min:保存分
3、鐘值.、 unsi ned h ti ur: 保存小時(shí)。3、 unsigned cha ti hnd: 保存百分之一秒,例如, i_hu =50,表示 1/500 秒。4、 u i nchar ti_se:保存秒數(shù)。、 2、全局變量下面對(duì)程序用到得全局變量及數(shù)組進(jìn)行說明、1、dubleh,m,s: 此 3 個(gè)全局變量分別用來保存小時(shí), 分鐘,秒數(shù)。2 、 be, x1, , y ,y1,y2: 保存數(shù)字時(shí)鐘中小時(shí) , 分,秒在屏幕中顯示得坐標(biāo)值。3、 stru t time t1 :定義一個(gè) i 結(jié)構(gòu)類型得數(shù)組 , 此數(shù)組只有 t 0一個(gè)元素 .2、 3 模塊列表1 、時(shí)鐘動(dòng)畫處理模塊時(shí)鐘動(dòng)畫
4、處理模塊主要由 cl ckhnde( )函數(shù)來實(shí)現(xiàn),程序中舊時(shí)鐘指針得擦除就是借助 stwritem e(mo e) 函數(shù)設(shè)置畫線得方式來實(shí)現(xiàn)。如果moe=1,則表示畫線時(shí)用現(xiàn)在特性得線所畫之處原有得線性異或 ( o)操作,實(shí)際上畫出得線就是原有線與現(xiàn)在規(guī)定得線進(jìn)行異或后得結(jié)果 . 因此,當(dāng)線得特性不變時(shí) , 進(jìn)行兩次畫線操作相當(dāng)于沒有畫線,即在當(dāng)前位置處清除了原來得畫線。2、時(shí)鐘按鍵控制模塊在電子時(shí)鐘中,按鍵控制模塊最主要得工作就就是必須能讀取用戶按鍵,對(duì)按鍵值進(jìn)行判斷 , 并調(diào)用相應(yīng)函數(shù)來執(zhí)行相關(guān)操作 .、數(shù)字時(shí)鐘處理模塊()調(diào)用 gitcloc (int, int y,nclock) 函
5、數(shù)。在數(shù)字時(shí)鐘指定位置顯示時(shí),分, 秒,其中 ig th ur (dou le) ,int gi our(dou l h )與 di itsec(do bes)用于完成數(shù)值得 ouble 型向 int型轉(zhuǎn)換。( ) 調(diào)用 drawcusr(intcount) ,cea ursor ( intcoun)函數(shù)來完成舊光標(biāo)得擦除與新光標(biāo)得繪制。2、程序結(jié)構(gòu)圖(也就就是模塊之間得關(guān)系)電子時(shí)鐘界按模 時(shí)塊 鐘面顯鍵動(dòng)控示畫模模處塊塊理數(shù)字時(shí)鐘模塊三 、詳細(xì)設(shè)計(jì)3、程序預(yù)處理模塊。包括加載頭文件,定義常量, 變量,結(jié)構(gòu)體數(shù)組與函數(shù)原型聲明。3、2 主控模塊 main( )、min( )函數(shù)主要實(shí)現(xiàn)了對(duì)電
6、子時(shí)鐘得初始化工作 , 及oc andle ()函數(shù)得調(diào)用。3、3 時(shí)鐘動(dòng)畫處理模塊。、時(shí)針按鍵控制模塊。在電子時(shí)鐘中, 按鍵控制模塊最主要得工作就就是必須能讀取用戶按鍵,對(duì)按鍵值進(jìn)行判斷,并調(diào)用相應(yīng)函數(shù)來執(zhí)行相關(guān)操作. 流程圖如下 .3、5 數(shù)字時(shí)針處理模塊。在數(shù)字時(shí)鐘處理模塊中,主要實(shí)現(xiàn)數(shù)字時(shí)鐘得顯示與數(shù)字得時(shí)鐘修改。其中 , 在數(shù)字時(shí)鐘得修改中,用戶可以按 ab 鍵定位需要修改得內(nèi)容得位置,然后通過按光標(biāo)上移或下移鍵來修改時(shí)間 .四、調(diào)試程序錯(cuò)誤 1:錯(cuò)誤現(xiàn)象: de ara ion synta rr r錯(cuò)誤原因 : 聲明錯(cuò)誤,缺分號(hào)。修改方法:在聲明語句后添加分號(hào)。錯(cuò)誤:錯(cuò)誤現(xiàn)象 :t
7、wo few ae er n c ll o setlinestyl inf ntion ma n錯(cuò)誤原因:語句缺少參數(shù).修改方法 : 在 main()函數(shù)中找到缺少參數(shù)得語句添加相應(yīng)得參數(shù)。錯(cuò)誤:錯(cuò)誤原因: ucio a l ssing)in fun ionclockhandle錯(cuò)誤原因:在c ockhandl 函數(shù)調(diào)用得就是后函數(shù)表達(dá)式缺少一個(gè)).修改方法:找到錯(cuò)誤語句添加缺少得表達(dá)式符號(hào)。五、心得總結(jié)程序優(yōu)點(diǎn):本程序旨在訓(xùn)練學(xué)生得基本編程能力,本程序中涉及時(shí)間結(jié)構(gòu)體, 數(shù)組,繪圖等方面得知識(shí) , 通過本程序得訓(xùn)練使學(xué)生能對(duì)c 語言有一個(gè)更深刻得了解。掌握利用 c 語言相關(guān)函數(shù)開發(fā)電子時(shí)鐘得
8、基本原理,為進(jìn)一步開發(fā)出高質(zhì)量得程序打下堅(jiān)實(shí)得基礎(chǔ)。程序缺點(diǎn) : 程序各個(gè)模塊之間得控制連接比較繁瑣,容易出現(xiàn)錯(cuò)誤。六. 附程序清單 i cl d g aphics、 h ude stdio、 h i lu math、 h# n ude do、#d ine pi、 1415 6defin up 0x 0#defineown0x5 00 efine e c0x 1b#defne tab xf 9int keyha dle(i t,int ) ; t timeu chang(in ) ;i t t me o ncange ( i t) ;ntdig t ou( ouble);int d gi mi
9、n( double);i igi sec ( do ble);v id igi cloc ( int, t,int);oid rawcursor( nt) ;void clearc rsor (int);void clo kha dle();do bl ,m,s ;double x,x ,x2 ,y,y, y;str ct it ;ma n( )?int r ver,mo e=0,i, j;r ver detect;i tgra( &driver , mode, ”: tc );s inest le ( 0, 0,3) ;setbkco or(0);line ( 82, 0, 5 ,43);l
10、in ( 0,62, 70,41 );ine (8, 50,55 ,5);l ne(57, 2, 57, 4 8); ne( 70, 70,);lin (76, 5,297, 6) ;line ( 34, ,564,56);*arc ( intx, nty, i t、s angl , itn ang e,i trdius)*/r (82, 62, 9, 180,12);ac( 558,62,0, 90,12);setl nesty( ,0,);ar( 8, 48, 180,27, 1);e lines yle (0,0 ,3);arc(55, 418, 70,e c or(15) ;,12);
11、ou txtxy(300 , 53,c oc ”) ;e color( 7);rectang e(342, 72,56 ,se w itemo e( 0); tcolor( 5););o ttex xy(433,75 , ” cl ck”) ;stc lor(7 );line ( 39 ,310, 510,31 );in (39, 3, 0, 3 0) ;arc( 39 ,32 ,90,270, 0);ar( 510, 320, 0, 90, 1 );setcolor( );for(i=4 1;i =470;i =39) or( = ; 4; +)stl nestyle(0, ,3);circ
12、 ( i , , );set olor( 5) ;i e( 24,315,42, 325); r( i=0,m=0,h 0; i= 1;i , h+ ) x=100*si ((h 6 +m ) /3 0*pi ) 451 ;y 2 0-10 c s( (h*60+ )/3 p);s tli estyle(, 3) ;c rc e(x, 1) ; o( i=0 , m=0 ;i=59 ; m+, +) x=100* in ( m/30* i)+4 ;y= 0 100 cos(m/30 pi)setline tyle (0, 0,1 ) ;ci c( x,y,);set olor( );o tt
13、xtxy ( 182, 125, ” elp ) ;se l r( 5) ;o t txy ( 140, 185, ” ta :cursormov ) ;ou tex xy ( 40, 25,” up: t me + ) ; tt xtx ( 0, 5, ” own : time ” ) ;outtext y( 140, 305, es : it sy m! );o tte tx ( 40, 3 5,”v ion : 2、 0” ) ;stcolor ( 12);outt x y( 1 ,400,”noti g is ore i p a t t an timeclockha dle( ) ;!
14、);cl s grph( )return( 0);;vo d clockha dl ()n k, co nt ;etc lor(15 ) ;gettime ( t) ;h=t 0、 i h ur;m 、 ti_ i ;=5 *sin ( h*60 )/360* i)+451;y=200-5 os( (h*6 +) / 60 i)lin ( 451, 200, y);x1= sin( /30pi) +4 1;y1= 00 0( m 3 pi) ;li e( 41, 2, x1, 1);d gitcloc ( 408,318,d g thour(h) ) ;digit o k( 46,318, i
15、gitmin ( ));setwri emode(1) ;fo( count 2;k ! =esc; ) set lo(12) ; un( 500);d lay(700) ;sou d(2 0); elay(300); nosoun () ;s=t 0、 i_ ; m=t 、 i in ;h=t 0、 i our ;x2=98 sin(s/3) +51;y2= 00-98 c s(s/3 pi) ; in ( 51,200,x2 , y ) ;whi e( t 、 ti e = s& t 0、 _min = & 0、 h r=h) ge ti e( );if ( bio key( )! =)
16、k=bio key( 0); ou t=ke h nd( k, coun) ;if ( oun = )co nt;setc lor( 15);dig tcloc ( 485,, di tsec(s) +1) ;etcol r( 1);x = 8 s( s/3 *pi ) 51 ; 2=2 0-9 *cos( s/ 0 pi ) ; ne(4 1,20 ,x2, 2);if ( t 0、 i_min!=m ) e co or( 15);x1 sn( m/30 pi) +451y1=20 80*co (m/30*pi);line(451,200 , x1,y1);mt0 、 min;dig (6,
17、 318, gitmi ()x1=80 si( m 3 p) 51 ;y1 2 080*co (m/30 p) ;l e( 5, 0 ,x1,y1 );; f( ( 0、 ti_ ur*60+ 0 、 ti_min) ?。?h*6 +m) ) stco r( 15) ;x=50*si (( h 60+m) 360 pi) + 51 ; =2 050*cos( ( h*60+ ) /360 pi); line(45 , 200, x, ) ; =t0 、 i h ur ; gitclo k( 0 ,318,d githour ( h) ;x=50 sin( (h 60m)/360 pi) ;l
18、e( 51, 00, y ) ;nt key a dle( int key ,in coun ) swi ch( ke ) case p: im upc ge( oun );b ak ;case own: timedo nch nge (c unt-1) ;break ;caet b :set o or( 15) ;clear r r( co nt) ;drawcursor(count);coun + ; eak;eturn ount;i ttim pchange(t co n)if( ou t= 1)t 0、 i_ r+ ; f ( t 0、 ti_hour= 24) 0、h ur=0; e
19、ttim ( t) ;i ( out 2) t 0、 ti in+ ;if ( 0、 i_ in=60 ) t、 ti in=0;s ttime(t ) ;if ( co nt=3 ) t 0、 ti_ ec+;f (t0 、 ti_ e = 0) t 0、 ti_sec;se t me( t);i t t medownchange(i c)if ( ou = 1)t 0、 i_hour ;if ( 0、t _h ur=0 )t0、 ti_hou =23;set ime (t) ;f(coun =2) t0 、 ti_ in -;if(t 0、 t _ 0) 0 、 t _ in 59 ; ttime( t) ;if ( ont=3) 、 ti_ ec- ; f ( t 0、 i_sec=) ettme (); 0、_sec 9; id dig
溫馨提示
- 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. 人人文庫(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í)下冊(cè)第2課《新中國(guó)的初步鞏固》聽課評(píng)課記錄
- 人民版道德與法治九年級(jí)上冊(cè)4.2《城鄉(xiāng)差距》聽課評(píng)課記錄
- 招投文件合同范本(2篇)
- 生物燃料鍋爐購(gòu)買合同(2篇)
- 人教版數(shù)學(xué)七年級(jí)下冊(cè)《7-2-2用坐標(biāo)表示平移》聽評(píng)課記錄
- 魯人版道德與法治九年級(jí)上冊(cè)9.1《公正律師法律援助》配套聽課評(píng)課記錄
- 湘師大版道德與法治七年級(jí)上冊(cè)2.3《快樂學(xué)習(xí)》聽課評(píng)課記錄
- 道德與法治部編版七年級(jí)上冊(cè)同步聽課評(píng)課記錄《第8課 生命可以永恒嗎》
- 【部編版】八年級(jí)歷史上冊(cè)《鴉片戰(zhàn)爭(zhēng)》公開課 聽課評(píng)課記錄及教學(xué)反思
- 蘇科版數(shù)學(xué)八年級(jí)上冊(cè)《課題學(xué)習(xí) 關(guān)于勾股定理的研究》聽評(píng)課記錄
- 財(cái)務(wù)管控的間接成本
- 藏族唐卡藝術(shù)特色分析
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告
- 護(hù)士團(tuán)隊(duì)的協(xié)作和領(lǐng)導(dǎo)力培養(yǎng)培訓(xùn)課件
- QFD模板含計(jì)算公式計(jì)分標(biāo)準(zhǔn)說明模板
- 醫(yī)院護(hù)理培訓(xùn)課件:《早產(chǎn)兒姿勢(shì)管理與擺位》
- 人工智能在生物醫(yī)學(xué)倫理與法律中的基因編輯與生命倫理問題研究
- 《論文的寫作技巧》課件
- 國(guó)有資產(chǎn)管理辦法-國(guó)有資產(chǎn)管理辦法條例
- 公務(wù)車輛定點(diǎn)維修車輛保養(yǎng)(附彩圖) 投標(biāo)方案
- 00015-英語二自學(xué)教程-unit3
評(píng)論
0/150
提交評(píng)論