《計時器程序》_第1頁
《計時器程序》_第2頁
《計時器程序》_第3頁
《計時器程序》_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計時器程序一、實訓目的 本課題的目的主要是考查學生對C/C+語言的綜合編程能力的掌握,培養(yǎng)學生的分析問題和解決問題的能力及邏輯思維能力。該課題主要考察學生對函數(shù)、結構體,指針,文件等的操作,以及C/C+語言基本規(guī)則和算法的掌握,所以完成本顆題目要求學生較強的設計能力,特別是要具有綜合應用能力。如何調程序也非常重要,通過這個程序可以學習到以前調試短程序沒有的的經驗。二、實訓內容 題目:計時器程序 目錄:(1)輸入(畫出)圖形指針 (2)確定計時算法 (3)確定午前處理方案 (4)確定午后處理方案(5)輸出計時的時間 三、要求 (1) 對系統(tǒng)進行功能模塊分析及算法的設計 (2) 系統(tǒng)設計要具有實用

2、性 (3) 編程簡單清楚,可實用,功能較全面 (4) 設計說明書條理規(guī)范、流程圖要清楚(5)設計完成后,每人上交一份設計報告,必須用專用的課程設計報告紙書寫,要求具有以下內容:題目,原理敘述、設計有關的基本規(guī)則,流程圖,源程序清單,運行結果,調試情況分析,設計總結體會,致謝詞。(6)設計進度安排(1周) 題目提前1周布置,使學生作好充分的準備。分析設計準備階段建議1天,編程調試階段建議2天,總結報告和書寫說明書階段及考核階段建議2天。源程序:#include #include #include #include #include #define PI 3.1415926#define x0 3

3、20 /*定義鐘表中心坐標*/#define y0 240#define r 200 /*定義半徑*/void DrawClock() /*畫鐘*/ setcolor(4); /*選色*/ circle(x0,y0,210); setcolor(9); circle(x0,y0,215); /*draw outside circle */ setcolor(5); setfillstyle(1,5); circle(x0,y0,10); floodfill(x0,y0,5); /*畫中間小圓并填充*/void DrawHand(int x,int y,float th,int l,int co

4、lor) /*畫指針(時針)*/ int x1,y1; x1=x+l*sin(th); y1=y-l*cos(th); setcolor(color); line(x,y,x1,y1);void main()int i; struct time curtime; /*分*/ float th_hour,th_min,th_sec; float th_hour_l,th_min_l,th_sec_l; int graphdriver,graphmode; /*graphdriver是上漲指向圖形驅動序號變量的指針 graphmode是在graphdriver選定后 指向圖形顯示模式序號變量的指針

5、pathtodriver表示存放圖形驅動文件的路徑 */ graphdriver=DETECT; initgraph(&graphdriver,&graphmode,c:tc37BGI );/目錄根據(jù)具體情況需做點改動 cleardevice(); /*功能 清除圖形屏幕*/ char n123=3,2,1,12,11,10,9,8,7,6,5,4; while(! kbhit() /*kbhit功能 檢測按鍵 說明 檢測鍵盤是否有鍵按下 如果有鍵按下 則返回對應鍵值 否則返回零 kbhit不等待鍵盤按鍵 無論有無按鍵都會立即返回*/ DrawClock(); setcolor(2); set

6、textstyle(4,0,5); for(i=0;i12;i+) if(i!=3) outtextxy(x0+(r-14)*cos(PI/6*i)-10,y0-(r-14)*sin(PI/6*i)-26,ni); /*outtextxy()設定文本風格 輸出文本xy*/ line(x0+200*cos(PI/6*i),y0-200*sin(PI/6*i), x0+210*cos(PI/6*i),y0-210*sin(PI/6*i); else outtextxy(x0+(r-14)*cos(PI/6*i)-20,y0-(r-14)*sin(PI/6*i)-26,ni); line(x0+20

7、0*cos(PI/6*i),y0-200*sin(PI/6*i), x0+210*cos(PI/6*i),y0-210*sin(PI/6*i); gettime(&curtime); /*得到當前系統(tǒng)時間*/ gotoxy(36,20); /*定位輸出位置*/ if(float)curtime.ti_hour=12) /*午前的處理*/ printf(AM ); if(float)curtime.ti_hour12) /*午后的處理*/ printf(PM ); if(float)curtime.ti_hour-1210) printf(0); printf(%.0f:,(float)curt

8、ime.ti_hour-12); if(float)curtime.ti_min10) printf(0); printf(%.0f:,(float)curtime.ti_min); if(float)curtime.ti_sec10) printf(0); printf(%.0f,(float)curtime.ti_sec); /*以下三行計算表針轉動角度,以豎直向上為起點,順時針為正*/ th_sec_l=th_sec; th_min_l=th_min; th_hour_l=th_hour; DrawHand(x0,y0,th_hour_l,90,0); DrawHand(x0,y0,th_min_l,120,0); DrawHand(x0,y0,th_sec_l,180,0)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論