c语言图形时钟编程,c语言+图形编程——打造浅易的时钟

article/2025/9/30 22:43:16

全程代码小编就在这里发出来了哈

// c语言+图形编程 电脑时钟

//包罗头文件

#include

#include

#include

#define PI 3.141592654

void Draw_Dial();//绘制静态的表盘

void Draw_Hand(int hour, int minute, int secend); //绘制表针

//主函数

int main()

{

initgraph(640, 480);//初始化一个图形界面 640*480

//circle(320,240,150);//画圆的函数

//rectangle(0, 0, 50, 50);//画正方体的函数

Draw_Dial();

setwritemode(R2_XORPEN);//设置XOR绘图模式

SYSTEMTIME time;//界说一个时间结构体 用来保留当前的时间

while (!_kbhit())

{

GetLocalTime(&time);//获取当前的时间

Draw_Hand(time.wHour,time.wMinute,time.wSecond); //把表针绘制出来

Sleep(1000);//距离1秒 1000毫秒

Draw_Hand(time.wHour, time.wMinute, time.wSecond); //把表针绘制出来

}

closegraph();//关闭图形界面

return 0;

}

//绘制静态的表盘

void Draw_Dial()

{

//绘制界限

setcolor(GREEN);

circle(320, 240, 160);//画圆函数的参数 320 240坐标 160是圆的半径大小

circle(320, 240, 60);

circle(320, 240, 2);

//图形界面的输出文本信息 txt text 文字

outtextxy(260,420,L”GOOD GOOD STUDY”);

outtextxy(283, 440, L”DAY DAY UP”);

//line(0, 0, 639, 479);

//绘制刻度

//circle(320, 85, 2);

setcolor(WHITE);

int x, y;

for (int i = 0; i < 60; i++)

{

x = 320 + int(145 * sin(PI * 2 * i / 60));

y = 240 + int(145 * cos(PI * 2 * i / 60));

if (i % 15 == 0)

bar(x – 5, y – 5, x + 5, y + 5);

else if (i % 5 == 0)

circle(x, y, 3);

else

putpixel(x, y, WHITE); //点

}

}

//绘制表针

void Draw_Hand(int hour, int minute, int second)

{

double h_hour, h_minute, h_second; //三个弧度值

int x_hour, y_hour, x_minute, y_minute, x_second, y_second; //末尾位置

//盘算弧度值

h_second = second * 2 * PI / 60;

h_minute = minute * 2 * PI / 60 + h_second / 60;

h_hour = hour * 2 * PI / 12 + h_minute / 12;

//盘算末尾位置

x_second = int(120 * sin(h_second)); y_second=int(120 * cos(h_second));

x_minute = int(100 * sin(h_minute)); y_minute = int(100 * cos(h_minute));

x_hour = int(70 * sin(h_hour)); y_hour = int(70 * cos(h_hour));

//绘制秒针

setlinestyle(PS_SOLID, 2); //PS_SOILD 实线 2像素 线条的粗细

setcolor(RED);

line(320 + x_second, 240 – y_second, 320 – x_second / 3, 240 + y_second / 3);

//绘制分针

setlinestyle(PS_SOLID, 6); //PS_SOILD 实线 2像素 线条的粗细

setcolor(YELLOW);

line(320 + x_minute, 240 – y_minute, 320 – x_minute / 5, 240 + y_minute/5);

//绘制时针

setlinestyle(PS_SOLID, 7); //PS_SOILD 实线 2像素 线条的粗细

setcolor(GREEN);

line(320 + x_hour, 240 – y_hour, 320 – x_hour / 5, 240 + y_hour/5);

}

最终的效果图,演示一番 (加QQ群:466572167,群内有大量学习资源可供学习)

f15b34d4ca813964101b724854d45eab.png是不是???逼格不高,这只怕是最浅易的一个时钟了吧。对了。注重一下!!!记得没安装图形库的,记得要去安装哟。。。。列位小同伴们可以加群466572167 一起讨论交流提升自己。群内里有项目可以看的,也可以学习提升自己的

一不小心又这么晚了,该睡了,还没睡的亲们,都晚安哈。。。可能有些地方不够完善,列位同伴们迎接多多提建议。不仅是也希望我自己成为大牛,也希望每一位还在编程道路上的同伴们都成为大牛,加油哈


http://chatgpt.dhexx.cn/article/FE2N06RG.shtml

相关文章

简单c语言图形程序设计,c语言简单图形编程

c语言编程如何实现图形化? 如果你是说编写用户界面的C语言编程,那就应该学习平台编程.主流平台有windows,linux等. 楼主是领会到C得要点了.C不像JAVA和C#,它们才叫编写应用程序,因为它们的库直接可以编写出程序的应用部分(比如用户界面,调用系统资源等). 但是C语言不能叫做 c语…

C语言图形编程|设置位置

一、对光标位置进行修改 1、通过自定义函数来实现将光标移动到指定位置 void gotoxy(int x,int y) {HANDLE hCon;hCon GetStdHandle(STD_OUTPUT_HANDLE);COORD Pos;Pos.X x;Pos.Y y;SetConsoleCursorPosition(hCon,Pos); } 代码优化: void gotoxy(int x,int y) {COORD P…

C语言图形化编程

画折线图 #include<stdio.h> #include<conio.h> #include<graphics.h> #include<stdlib.h>void hDrawk(char c[]); void vDrawk(char c[]); void Drawfline(int b[]); int xs48,ys50;void hDrawk(char c[]) {int i,j65;line(65,360,565,360);for(i0;i&…

C语言图形化编程 【一】

C语言图形化编程 一 一、绘图窗口1.1 加载头文件1.2 创建一个窗口1.3 关闭窗口1.4 窗口坐标1.5 颜色1.6 设置颜色1.6.1 背景颜色1.6.2 线颜色1.6.3 文字颜色1.6.4 填充颜色 二、基本的绘图2.1 画点函数2.2 画线函数2.3 画矩形函数非填充(空心&#xff09;填充(实心)有边界线无边…

数据结构——图的五种种类【无向图-有向图-简单图-完全无向图-有向完全图】

目录&#xff1a; 一&#xff1a;无向图 1.定义 2.图形化解释 3.结合​表达式介绍 二&#xff1a;有向图 1.定义 2.图形化解释 3.结合​表达式介绍 有向图和无向图区别&#xff1a; 三&#xff1a;简单图 1.定义 2.图形化解释 四&#xff1a;完全无向图 1.定义 …

完全二分图

G <V,E> V – 》 元素顶点集 E --》 连线边集 V X ∪Y X中的任一顶点与Y中每一个顶点均有且仅有唯一的一条边相连&#xff0c;则称G为完全二分图或完全偶图。

构造完全图

咕咕咕 由于我好久都没有独立思考了&#xff08;抄了好久题解&#xff09;&#xff0c;思维什么的早没有了。 看完题只能想到一种暴力&#xff1a;遍历LCA 题目给出的是一个最小生成树&#xff0c;我们可以从边入手&#xff0c;把每条边所连的左右两个点分别看做一个集合&#…

图(一)

图论 结论&#xff1a; 1.无向完全图&#xff1a;在顶点数给定为n的情况下&#xff0c;边数达到最大的n(n-1)/2条边。 2.有向完全图&#xff1a;在顶点数给定为n的情况下&#xff0c;有向边数达到最大的n(n-1)条边。 3.树是图的特例&#xff1a;无环的无向图 4.生成树有可能不…

完全图的生成树

经典证明&#xff1a;Prfer编码与Cayley公式(转Matrix67) Cayley公式是说&#xff0c;一个完全图K_n有n^(n-2)棵生成树&#xff0c;换句话说n个节点的带标号的无根树有n^(n-2)个。今天我学到了Cayley公式的一个非常简单的证明&#xff0c;证明依赖于Prfer编码&#xff0c;它是对…

完全多部图

解题思想&#xff1a; 对于图中所有节点&#xff0c;如果不相连&#xff0c;按照题意&#xff0c;必须在一个集合里&#xff1b; 所以其实可以从第一个节点入手&#xff0c;找出与该点不相邻点的所有节点组成一个集合&#xff1b; 判断剩余所有点&#xff0c;如果不和该集合中所…

有向完全图和强连通图的区别?

文章目录 首先了解概念区别在哪里&#xff1f;有向完全图和强连通图的区别&#xff1f; 其他概念&#xff1a; 首先了解概念 相邻关系&#xff1a;两个顶点之间存在一条边&#xff0c;则表示两个顶点具有相邻关系 路径&#xff1a;相邻顶点序偶所构成的序列 路径长度&#xff…

【数据结构】图的基本概念—无/有向图、权和网、完全图、路径与回路

&#x1f49f;作者简介&#xff1a;大家好呀&#xff01;我是路遥叶子&#xff0c;大家可以叫我叶子哦&#xff01;❣️ &#x1f4dd;个人主页&#xff1a;【路遥叶子的博客】 &#x1f3c6;博主信息&#xff1a;四季轮换叶&#xff0c;一路招摇胜&#xff01; 专栏 【安利…

初次探图(图的概念--完全图、路径)

完全图 有向完全图 -边数n&#xff08;n-1) 无向完全图-边数n(n-1)/2 端点和邻接点 两顶点存在边相连称为端点&#xff0c; 两顶点存在有向边相连称为邻接点 子图 点集和边集都是另一个图的子集就称为子图 路径和路径长度 路径长度为边的数目 简单路径 针对于顶点来…

【离散数学】各类子图与完全图的定义详解

1. 各类子图&#xff1a; 2. 完全图&#xff1a; 注意上图中的俩条方向相反的有向边 无向完全图则是任意俩个结点间都有边相连&#xff0c;并不是只要可达即可

数据结构:有向完全图和无向完全图的边数

一、无向完全图 一个拥有n个结点的无向完全图的边数为&#xff1a;n(n−1)2 具体的解释&#xff1a; 比如我们有一个拥有4个结点的无向完全图&#xff0c; 我们首尾依次连接&#xff0c;共有4条边。 然后我们选择其他的两条边来连线。 又多出了2条边。一共有4 2 6条边。 我…

图论(2)完全图,顶点的度与度序列

目录 一、完全图 偶图&#xff08;双图或二部图&#xff09; &#xff08;2&#xff09;完全偶图 简单图的补图 自补图 二、顶点的度与图的度序列 顶点的度 图的度序列&#xff08;注意与图序列的区别&#xff09; 图序列 图的频序列及其性质 例题 一、完全图、偶图与补图 …

数据结构和算法:图

图&#xff08;Graph&#xff09;是一种较树更为复杂的非线性数据结构。在树形结构中&#xff0c;数据元素之间的关系是层次型的&#xff0c;树中除叶子以外的每一个数据元素可以和它下一层的多个数据元素存在关系&#xff1b;但除根元素以外的每一个数据元素只能且必须和它上一…

python散点图中如何添加拟合线并显示拟合方程与R方?

polyfit()函数可以使用最小二乘法将一些点拟合成一条曲线. numpy.polyfit(x, y, deg, rcondNone, fullFalse, wNone, covFalse) # x:要拟合点的横坐标 # y:要拟合点的纵坐标 # deg:自由度.例如:自由度为2,那么拟合出来的曲线就是二次函数,自由度是3,拟合出来的曲线就是3次函数…

R语言——方差分析

一、方差分析的基本概念 方差分析是在20世纪20年代发展起来的一种统计方法&#xff0c;它是由英国统计学家费希尔在进行实验设计时为解释实验数据而首先引入的。 从形式上看&#xff0c;方差分析是比较多个总体的均值是否相等&#xff1b;但是其本质上是研究变量之间的相互关系…