📜  C程序使用图形创建钟摆时钟

📅  最后修改于: 2021-05-26 00:13:10             🧑  作者: Mango

在本文中,讨论了如何使用C语言使用Graphics设计钟摆时钟。

方法:

  • 创建两个矩形,一个在另一个矩形内,使用矩形()函数充当时钟的外部轮廓,另一个是时钟的内部轮廓。
  • 使用setfillstyle()和Floodfill()函数将两个矩形之间的空间涂成棕色
  • 使用circle()函数在内部矩形内实现一个圆
  • 使用setfillstyle()floodfill()函数为所有其他离开圆的部分涂上深灰色。
  • 在圆圈中,使用settextstyle()和outtextxy()函数插入所有数字。
  • 计算数字的坐标。
  • 通过使用line()函数用两行实现摆,通过使用circle()函数来实现鲍勃,用另一个圆实现摆。
  • 再次使用setfillstyle()Floodfill()函数将它们全部着色为黑色。
  • 通过使用line()函数实现时针,分针和秒针。
  • 使用setcolor()函数分别为对象着色。

下面是上述方法的实现:

C
// C program toc draw the pendulum clock
#include 
#include 
#include 
  
// Driver Code
void main()
{
    int gd = DETECT, gm;
  
    // Initialize of gdriver
    initgraph(&gd, &gm, "C:\\"
                        "turboc3\\bgi");
  
    // Clock Outer Outline
    rectangle(500, 50, 800, 650);
  
    // Clock Inner Outline
    rectangle(520, 70, 780, 630);
  
    // Coloring Middle Part Of
    // Rectangle With Brown
    setfillstyle(SOLID_FILL, BROWN);
    floodfill(505, 55, 15);
  
    // Clock Outline
    circle(650, 200, 130);
    circle(650, 200, 3);
  
    // Coloring all the parts Of the
    // clock except the circle with
    // Darkgray
    setfillstyle(SOLID_FILL, DARKGRAY);
    floodfill(525, 355, 15);
    floodfill(522, 72, 15);
    floodfill(768, 72, 15);
  
    // Inserting Digits
    settextstyle(6, 0, 3);
    outtextxy(697, 100, "01");
    outtextxy(730, 140, "02");
    outtextxy(742, 190, "03");
    outtextxy(721, 240, "04");
    outtextxy(690, 280, "05");
    outtextxy(630, 300, "06");
    outtextxy(578, 280, "07");
    outtextxy(540, 240, "08");
    outtextxy(530, 190, "09");
    outtextxy(537, 140, "10");
    outtextxy(569, 100, "11");
    outtextxy(630, 80, "12");
  
    // Left Line Of Pendulum
    line(645, 328, 645, 528);
  
    // Right Line Of Pendulum
    line(655, 328, 655, 528);
  
    // Pendulum Bob
    circle(650, 546, 20);
  
    // Coloring Line & Bob With Black
    setfillstyle(SOLID_FILL, BLACK);
    floodfill(652, 544, 15);
    floodfill(647, 330, 15);
  
    // Creating the Hour Hand
    // & Color Blue
    setcolor(BLUE);
    line(647, 197, 600, 170);
  
    // Creating Minute Hand
    // & Color Yellow
    setcolor(YELLOW);
    line(653, 200, 730, 170);
  
    // Creating Second Hand and the
    // Color Red
    setcolor(RED);
    line(650, 203, 630, 290);
  
    // Hold the screen for a while
    getch();
  
    // Close the initialized gdriver
    closegraph();
}


输出:

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。