请写一段C++代码,绘制一个时钟
时间: 2023-03-14 14:19:06 浏览: 60
#include<stdio.h>
#include<graphics.h>
#include<math.h>int main()
{
int gd=DETECT,gm; initgraph(&gd,&gm,NULL); int x=getmaxx()/2;
int y=getmaxy()/2;
int i;
int j;
int r=100; for(i=0;i<360;i++)
{
j=i*3.14/180;
int x1=x+r*cos(j);
int y1=y+r*sin(j);
setcolor(i);
line(x,y,x1,y1);
} getch();
closegraph();
return 0;
}
相关问题
帮我写一个时钟 C++代码
#include <stdio.h>
#include <time.h>
int main()
{
time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
printf("Current time: %02d:%02d:%02d\n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
return 0;
}
写一段c++代码用递归实现Koch三角形的绘制
以下是使用递归实现Koch三角形绘制的C++代码:
```c++
#include <graphics.h>
#include <math.h>
// 递归绘制Koch曲线
void Koch(int x1, int y1, int x2, int y2, int n)
{
if (n == 0) {
// 绘制线段
line(x1, y1, x2, y2);
} else {
int dx = x2 - x1;
int dy = y2 - y1;
int x3 = x1 + dx / 3;
int y3 = y1 + dy / 3;
int x4 = x2 - dx / 3;
int y4 = y2 - dy / 3;
int x = x3 + (x4 - x3) * cos(M_PI / 3) - (y4 - y3) * sin(M_PI / 3);
int y = y3 + (x4 - x3) * sin(M_PI / 3) + (y4 - y3) * cos(M_PI / 3);
Koch(x1, y1, x3, y3, n - 1);
Koch(x3, y3, x, y, n - 1);
Koch(x, y, x4, y4, n - 1);
Koch(x4, y4, x2, y2, n - 1);
}
}
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
setcolor(YELLOW);
Koch(100, 300, 500, 300, 5);
Koch(500, 300, 300, 100 + 300 * sqrt(3) / 2, 5);
Koch(300, 100 + 300 * sqrt(3) / 2, 100, 300, 5);
getch();
closegraph();
return 0;
}
```
在此示例中,我们使用了graphics.h库来绘制Koch三角形。Koch函数使用递归算法实现,通过计算得到每个点的坐标,最终实现绘制整个Koch曲线。在main函数中,我们调用了三次Koch函数,分别绘制三条边,最终得到Koch三角形。