![模擬時鐘行走 C語言程序_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/18/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec450/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec4501.gif)
![模擬時鐘行走 C語言程序_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/18/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec450/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec4502.gif)
![模擬時鐘行走 C語言程序_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/18/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec450/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec4503.gif)
![模擬時鐘行走 C語言程序_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/18/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec450/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec4504.gif)
![模擬時鐘行走 C語言程序_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/18/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec450/aa4b7f1a-90c6-48db-a1a5-36d6dd4ec4505.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 模擬時鐘行走 課程設計總體要求 采用模塊兒化程序設計; 鼓勵可視化編程; 源程序中有足夠的注釋; 學生可自行增加新功能模塊兒; 必須上機調(diào)試通過; 注重算法運用,優(yōu)化存儲效率與運算效率; 需提交源程序及相關(guān)文件;目錄1 課程任務書2 系統(tǒng)設計3 模塊設計3.1 總體結(jié)構(gòu) 3.2 流程圖3.3 使用的主要函數(shù)4 調(diào)試及測試 1、調(diào)試過程中的問題 2、調(diào)試結(jié)果5 設計總結(jié)6 心得體會及致謝7 答辯記錄8 教師意見一、課程設計任務書在屏幕上顯示一個活動時鐘;能模擬機械鐘表行走;準確地利用數(shù)字顯示日期和時間;按任意鍵時程序退出。二、 系統(tǒng)設計總體結(jié)構(gòu):在繪圖窗口中先畫出表盤后獲取系統(tǒng)的時間,利用得到
2、的系統(tǒng)時間計算表針的位置,并將時間在屏幕上輸出。每隔一秒讀取一次時間,直到鍵盤有輸入為止。流程圖開始初始化繪畫窗口畫表盤 否檢測是否有鍵盤輸入 是獲取系統(tǒng)時間將時間轉(zhuǎn)化為字符并輸出計算表針位置畫表針結(jié)束使用的主要函數(shù):setlinestyle 設置畫線setcolor 設置顏色line(int x1,int y1,int x2,int y2) 畫直線circle(int x,int y,int r) 畫圓outtextxy(int x,int y,char *textstring) 在指定位置輸出字符initgraph(int x, int y); 初始化繪圖窗口setwritemode( )
3、; 設置繪圖模式kbhit() 檢查是否有鍵盤輸入GetLocalTime(&ti); 獲取當前時間sleep() 程序暫停若干時間三、模塊設計主要模塊功能、源代碼及注釋:1.計算表針的位置并畫出表針void Drawzhizhen(int hour, int minute, int second) double a_hour, a_min, a_sec; / 時、分、秒針的弧度值 int x_hour, y_hour, x_min, y_min, x_sec, y_sec; / 時、分、秒針的位置 a_sec = second * 2 * PI / 60; / 計算時、分、秒針的弧度
4、值 a_min = minute * 2 * PI / 60 + a_sec / 60; a_hour= hour * 2 * PI / 12 + a_min / 12; x_sec = int(120 * sin(a_sec); y_sec = int(120 * cos(a_sec); /計算 時、分、秒針的位置 x_min = int(100 * sin(a_min); y_min = int(100 * cos(a_min); x_hour= int(70 * sin(a_hour); y_hour= int(70 * cos(a_hour); setlinestyle(PS_SOLI
5、D, NULL, 10); / 畫時針 setcolor(BLUE); line(300 + x_hour, 240 - y_hour, 300, 240 ); setlinestyle(PS_SOLID, NULL, 5);/ 畫分針 setcolor(GREEN); line(300 + x_min, 240 - y_min, 300, 240 ); setlinestyle(PS_SOLID, NULL, 2); / 畫秒針 setcolor(WHITE); line(300 + x_sec, 240 - y_sec, 300, 240 );2.畫表盤void Drawbiaopan()
6、 int i,l,x1,x2,y1,y2; setbkcolor(1); circle(300,240,180); circle(300,240,185); for(i=0;i<60;i+) /*劃鐘點上的短線*/ if(i%5=0) l=15; else l=5; x1=180*sin(i*6*PI/180)+300; y1=180*cos(i*6*PI/180)+240; x2=(180-l)*sin(i*6*PI/180)+300; y2=(180-l)*cos(i*6*PI/180)+240; line(x1,y1,x2,y2); outtextxy(300,80,"1
7、2") ; outtextxy(300,390,"6"); outtextxy(140,230,"9"); outtextxy(460,230,"3"); outtextxy(380,100,"1"); outtextxy(220,100,"11"); outtextxy(430,160,"2"); outtextxy(430,310,"4"); outtextxy(380,370,"5"); outtextxy(220,37
8、0,"7"); outtextxy(160,160,"10"); outtextxy(160,310,"8");3.將獲取的整數(shù)型時間變量轉(zhuǎn)換成字符型void ch1(int a,int x) /將年轉(zhuǎn)換成字符型并輸出char b,c,d,e;b=(char)(a/1000+48);c=(char)(a%1000)/100+48);d=(char)(a%100)/10+48);e=(char)(a%10+48);outtextxy(x,10,b);outtextxy(x+10,10,c);outtextxy(x+20,10,d);ou
9、ttextxy(x+30,10,e);void ch2(int a,int x) /其他時間轉(zhuǎn)換成字符型并輸出char b,c;b=(char)(a/10+48);c=(char)(a%10+48);outtextxy(x,10,b);outtextxy(x+10,10,c);主函數(shù):void main() initgraph(640, 480); / 初始化繪圖窗口 Drawbiaopan(); / 繪制表盤 setwritemode(R2_XORPEN); / 設置繪圖模式 SYSTEMTIME ti; / 定義ti保存當前時間 while(!kbhit() / 按任意鍵退出鐘表程序 Ge
10、tLocalTime(&ti); / 獲取當前時間 ch1(ti.wYear,10); outtextxy(50,10,"年"); /輸出時間 ch2(ti.wMonth,65); outtextxy(85,10,"月"); ch2(ti.wDay,100); outtextxy(120,10,"日"); ch2(ti.wHour,135); outtextxy(155,10,":"); ch2(ti.wMinute,165); outtextxy(185,10,":"); ch2(ti
11、.wSecond,195); Drawzhizhen(ti.wHour, ti.wMinute, ti.wSecond); / 畫表針 Sleep(1000); / 延時 1 秒 Drawzhizhen(ti.wHour, ti.wMinute, ti.wSecond); / 畫表針 closegraph(); / 關(guān)閉繪圖窗口四 調(diào)試及測試使用vc企業(yè)版進行反復調(diào)試五 設計總結(jié)調(diào)試過程出現(xiàn)的問題:1.Vc+6.0中沒有“graphics.h”,安裝turboc.2.0中的函數(shù)庫EasyX后出現(xiàn)權(quán)限問題。解決辦法:安裝vc企業(yè)版解決權(quán)限問題,然后導入graphics.h。 2.無法獲取系統(tǒng)時間
12、 解決辦法:使用函數(shù)GetLocalTime( );并使用#include <time.h>聲明3Outtextxy()函數(shù)無法顯示整數(shù)型時間解決辦法:將整數(shù)型時間變量轉(zhuǎn)換為字符型再輸出六、心得體會及致謝 由于C語言沒有學過圖形方面的知識,很多東西都要去查資料。在設計的過程中遇到很多問題,都需要花很多時間去嘗試,去解決。這個程序總體來說不復雜,思路也簡單,編寫的過程中詢問了相關(guān)知識的專業(yè)人士,上網(wǎng)搜集很多前人所作的資料,查詢借閱圖書館的相關(guān)書籍,對自己在思維方面的幫助很大。參考文獻1.譚浩強著,C程序設計(第三版),北京:清華大學出版社。2. Gary J.Bronson著,劉勇譯,C+程序開發(fā)與設計(第二版)北京:人民郵電出版社3.朱站立編著,數(shù)據(jù)結(jié)構(gòu)使用C語言(第4版)北京:電子工業(yè)出版社4.譚浩強,張基溫,唐永炎編著,C語言程序設計教程,北京:高等教育出版社19925.譚浩強編著,C程序設計題解與上機指導(第二版),北京:清華大學出版社,19926.譚浩強編著,QBASIC語言教程,北京:電子工業(yè)出版社,19977.譚浩強編著,田數(shù)清編著,PASCAL語言程序設計(第
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第2章人工智能技術(shù)基本原理2.4使用K-均值算法進行聚類-高中教學同步《信息技術(shù)人工-智能初步》教學設計(人教-中圖版2019)
- 23《月光曲》第二課時 教學設計-2024-2025學年統(tǒng)編版語文六年級上冊
- 2025年中國通信網(wǎng)絡管理服務市場發(fā)展現(xiàn)狀調(diào)研及投資趨勢前景分析報告
- 2025年東風尖頭140灑水車行業(yè)深度研究分析報告
- 21《我們的呼吸》教學設計-2023-2024學年科學三年級下冊青島版
- 拆遷房抵押借款合同6篇
- 浙教版高中《信息技術(shù)》必修4.1《信息資源管理及其沿革》教學設計
- 籃球訓練課 教學設計-2023-2024學年高一上學期體育與健康人教版必修第一冊
- 第五單元 第3課時 多種方法計算 9、8、7、6加幾(教學設計)一年級數(shù)學上冊同步高效課堂系列(人教版·2024秋)
- 2025年移動應用開發(fā)市場分析報告
- GB/T 25052-2024連續(xù)熱浸鍍層鋼板和鋼帶尺寸、外形、重量及允許偏差
- 河北科大項目實施計劃書
- 消防設施操作和維護保養(yǎng)規(guī)程
- -精益與智能工廠三年規(guī)劃
- 2024年高素質(zhì)農(nóng)民職業(yè)技能大賽(農(nóng)業(yè)經(jīng)理人)賽項考試題庫-下(多選、判斷題)
- 中小學校園安全教育主題班會課件:筑牢安全紅線、守護校園平安
- 高空作業(yè)考試題(帶答案)
- 北師大版數(shù)學八年級上冊1.1探索勾股定理 同步練習【基礎(chǔ)版】(附答案解析)
- 《會計信息系統(tǒng)應用》-課件 王新惠 模塊二 供應鏈管理系統(tǒng)
- 美容院會員積分營銷方案
- 水利水電工程金屬結(jié)構(gòu)制作與安裝安全技術(shù)規(guī)程
評論
0/150
提交評論