最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言繪制簡單時鐘小程序

 更新時間:2022年06月14日 11:10:24   作者:逼哥很瘋狂  
這篇文章主要為大家詳細(xì)介紹了C語言繪制簡單時鐘小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言繪制時鐘小程序的具體代碼,供大家參考,具體內(nèi)容如下

先貼效果圖給大家先看看

基本機(jī)制是通過獲取系統(tǒng)的時鐘去繪制圖線進(jìn)行展示

貼出代碼 ,大家可以直接使用的 .程序我進(jìn)一步的講解

#include <graphics.h>
#include <conio.h>
#include <math.h>
#include <time.h>
?
#define high 480
#define width 640
#define pi 3.141592
?
int main()
{
?
?? ?initgraph(high, width);
?
?? ?int center_x, center_y;
?? ?center_y = width / 2; ?// 320
?? ?center_x = high / 2; // 240
?? ?
?? ?SYSTEMTIME ti; //獲取系統(tǒng)的時間
?
?? ?// 秒針屬性
?? ?int secondEnd_x, secondEnd_y;
?? ?int secondLenth = 120;?
?? ?secondEnd_x = center_x + secondLenth;
?? ?secondEnd_y = center_y;
?? ?float secondAngle = 0;
?? ?
?? ?// 分鐘屬性
?? ?int minuteEnd_x, minuteEnd_y;
?? ?float minuteAngle = 0;
?? ?int minuteLenth = 90;
?? ?minuteEnd_x = center_x + minuteLenth;
?? ?minuteEnd_y = center_y + minuteLenth;
?
?? ?// ?時鐘屬性
?? ?int hoursEnd_x, hoursEnd_y;
?? ?float hoursAngle = 0;
?? ?int hoursLenth = 60;
?? ?hoursEnd_x = center_x + hoursLenth;
?? ?hoursEnd_y = center_y + hoursLenth;
?
?? ?BeginBatchDraw();
?
?? ?while (1)
?? ?{
?? ??? ?// 獲取時間
?? ??? ?GetLocalTime(&ti);
?
?? ??? ?//繪制中心坐標(biāo)
?? ??? ?//setlinecolor(WHITE);
?? ??? ?//fillcircle(center_x, center_y, 2);
?
?? ??? ?// 繪制一個表盤
?? ??? ?setbkcolor(BLACK);
?? ??? ?setlinestyle(PS_SOLID, 1);
?? ??? ?setlinecolor(WHITE);
?? ??? ?circle(center_x, center_y, 130);
?? ??? ?//outtextxy(center_x - 25, center_y + width / 6, "我的時鐘");
?? ??? ?// 輸出字符串 (VC6)
?? ??? ?TCHAR s[] = _T("我的時鐘");
?? ??? ?outtextxy(210, 400, s);
?
?? ??? ?// 繪制表盤刻度
?? ??? ?int ?x, y, i;
?? ??? ?for (i = 0; i < 60; i++)
?? ??? ?{
?? ??? ??? ?x = center_x + 125 * sin(i * 2 * pi / 60);
?? ??? ??? ?y = center_y - 125 * cos(i * 2 * pi / 60);
?
?? ??? ??? ?// 一刻鐘
?? ??? ??? ?if (i % 15 == 0)
?? ??? ??? ?{
?? ??? ??? ??? ?bar(x - 5, y - 5, x + 5, y + 5);
?? ??? ??? ?}
?? ??? ??? ?else if ( i % 5 == 0) //5分鐘
?? ??? ??? ?{
?? ??? ??? ??? ?circle(x, y, 3);
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ?{
?? ??? ??? ??? ?putpixel(x, y, WHITE); // 小白點
?? ??? ??? ?}
?? ??? ?}
?
?? ??? ?
?? ??? ?//轉(zhuǎn)動秒針
?? ??? ?secondAngle = ti.wSecond * 2 * pi / 60; ? ?// ? ?2 * pi / 60 =一秒鐘走的角度 ? ti.wSecond ?=系統(tǒng)當(dāng)前秒
?? ??? ?secondEnd_x = center_x + secondLenth * sin(secondAngle);
?? ??? ?secondEnd_y = center_y - secondLenth * cos(secondAngle);
?
?? ??? ?//轉(zhuǎn)動分鐘
?? ??? ?minuteAngle = ti.wMinute * 2 * pi / 60 ?+ secondAngle / 60;
?? ??? ?minuteEnd_x = center_x + minuteLenth * sin(minuteAngle);
?? ??? ?minuteEnd_y = center_y - minuteLenth * cos(minuteAngle);
?
?? ??? ?//轉(zhuǎn)動時鐘
?? ??? ?hoursAngle = ti.wHour * 2 * pi / 12 + minuteAngle / 60;
?? ??? ?hoursEnd_x = center_x + hoursLenth * sin(hoursAngle);
?? ??? ?hoursEnd_y = center_y + hoursLenth * cos(hoursAngle);
?
?? ??? ?// 繪制秒針
?? ??? ?setlinecolor(YELLOW);
?? ??? ?setlinestyle(PS_SOLID, 1);
?? ??? ?line(center_x, center_y, secondEnd_x, secondEnd_y);
?
?? ??? ?// 繪制分鐘
?? ??? ?setlinecolor(BLUE);
?? ??? ?setlinestyle(PS_SOLID, 3);
?? ??? ?line(center_x, center_y, minuteEnd_x, minuteEnd_y);
?
?? ??? ?// 繪制時鐘
?? ??? ?setlinecolor(RED);
?? ??? ?setlinestyle(PS_SOLID, 5);
?? ??? ?line(center_x, center_y, hoursEnd_x, hoursEnd_y);
?
?? ??? ?FlushBatchDraw();
?? ??? ?Sleep(50);
?
?? ??? ?//隱藏 秒針
?? ??? ?setlinecolor(BLACK);
?? ??? ?line(center_x, center_y, secondEnd_x, secondEnd_y);
?
?? ??? ?//隱藏 分針
?? ??? ?setlinecolor(BLACK);
?? ??? ?line(center_x, center_y, minuteEnd_x, minuteEnd_y);
?
?? ??? ?//隱藏 時針
?? ??? ?setlinecolor(BLACK);
?? ??? ?line(center_x, center_y, hoursEnd_x, hoursEnd_y);
?? ?}

?? ?EndBatchDraw();
?? ?_getch();
?? ?closegraph();
?
?? ?return 0;
}

第一:秒鐘角度轉(zhuǎn)動的講解

1.首先數(shù)學(xué)基礎(chǔ)不錯的都知道 , 一個圓圈 ,一圈的角度是 2π ,所以 一秒就是2π/60 .

2. angle 角度 就是指 和 12點鐘方向的夾角 ,比如 1點和12點的夾角就是30° , 也就是 2π/12 .

第二:講解表盤刻度的繪制

1. 將表盤的刻度分為60份 , 并且都表為小白點

2. 5份刻度記為1小時 ,標(biāo)記為小白圈

3. 15份刻度為一刻鐘=15分鐘.

好了 ,程序就是這么簡單! 大家可以去試試

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言鏈接屬性的實踐應(yīng)用

    C語言鏈接屬性的實踐應(yīng)用

    C語言中鏈接屬性決定如何處理在不同文件中出現(xiàn)的標(biāo)示符,下面這篇文章主要給大家介紹了關(guān)于C語言鏈接屬性的實踐應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • C++ lambda 捕獲模式與右值引用的使用

    C++ lambda 捕獲模式與右值引用的使用

    這篇文章主要介紹了C++ lambda 捕獲模式與右值引用的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • C/C++練習(xí)題之合并k個已排序的鏈表

    C/C++練習(xí)題之合并k個已排序的鏈表

    這篇文章主要給大家介紹了關(guān)于C/C++練習(xí)題之合并k個已排序的鏈表的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C/C++具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-06-06
  • C++中opencv4.1.0環(huán)境配置的詳細(xì)過程

    C++中opencv4.1.0環(huán)境配置的詳細(xì)過程

    這篇文章主要介紹了C++中opencv4.1.0環(huán)境配置的詳細(xì)過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • C++實現(xiàn)矩陣原地轉(zhuǎn)置算法

    C++實現(xiàn)矩陣原地轉(zhuǎn)置算法

    這篇文章主要介紹了C++實現(xiàn)矩陣原地轉(zhuǎn)置算法,非常經(jīng)典的算法,需要的朋友可以參考下
    2014-08-08
  • Qt圖形圖像開發(fā)之QT滾動區(qū)控件(滾動條)QScrollArea的詳細(xì)方法用法圖解與實例

    Qt圖形圖像開發(fā)之QT滾動區(qū)控件(滾動條)QScrollArea的詳細(xì)方法用法圖解與實例

    這篇文章主要介紹了Qt圖形圖像開發(fā),QT滾動區(qū)控件(滾動條)QScrollArea的詳細(xì)方法用法圖解與實例,需要的朋友可以參考下
    2020-03-03
  • C語言實現(xiàn)“幸運數(shù)”的實例詳解

    C語言實現(xiàn)“幸運數(shù)”的實例詳解

    這篇文章主要介紹了C語言實現(xiàn)“幸運數(shù)”的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • C語言實現(xiàn)隊列的示例詳解

    C語言實現(xiàn)隊列的示例詳解

    隊列是一種特殊的線性表,特殊之處在于它只允許在表的前端(head)進(jìn)行刪除操作,而在表的后端(tail)進(jìn)行插入操作。本文將用C語言實現(xiàn)隊列,感興趣的可以了解一下
    2022-06-06
  • C語言實現(xiàn)掃雷程序

    C語言實現(xiàn)掃雷程序

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)掃雷程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • OpenGL實現(xiàn)邊緣填充算法

    OpenGL實現(xiàn)邊緣填充算法

    這篇文章主要為大家詳細(xì)介紹了OpenGL實現(xiàn)邊緣填充算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論

寿阳县| 禹城市| 临汾市| 马鞍山市| 古蔺县| 渭南市| 阿拉尔市| 准格尔旗| 锡林浩特市| 澎湖县| 阿拉善左旗| 德兴市| 惠东县| 东台市| 灵石县| 临夏市| 洛隆县| 贵阳市| 上饶县| 武清区| 大理市| 广昌县| 无极县| 大埔县| 运城市| 河源市| SHOW| 当雄县| 肥城市| 西丰县| 安龙县| 海城市| 重庆市| 武汉市| 霍林郭勒市| 酒泉市| 禹州市| 丁青县| 泊头市| 聊城市| 仪陇县|