3

为了学校,我必须做一项作业,我现在忙了 3 周,但还没有走远。我们需要制作一个必须是圆形的时钟,并且需要点亮秒分和小时的颜色。因此,如果是凌晨 4 点 25 分,这些数字需要亮起。

这就是我现在所拥有的:

   #include <stdio.h>
   #include <time.h>
   #include <conio.h>
   #include <unistd.h>
   #include <stdlib.h>
   #include <windows.h>

    int csecs (int cseconds );

    void main (int sec, int min){
    printf("Hallo! Veel plezier met het bekijken van de tijd!");
    getch();
        while (sec)
            {
            time_t cseconds;
            cseconds = time (NULL);
            printf ("De Tijd: ");
            printf ("%d:", csecs( cseconds )/60/60%24+1);
            printf ("%d:", csecs( cseconds )/60%60 );
            printf ("%d", csecs( cseconds )%60 );

            Sleep(1000);
            system("cls");
        }

    }

    int csecs (int cseconds)
    {
        return cseconds;

    }

谁能告诉我我怎么可能做到这一点?我不是要你做我的功课。我只是真的需要一些帮助。

4

1 回答 1

4

好的,所以根据您的评论,听起来您正在使用 Windows,您真的只想设置颜色。这很容易。您需要 SetConsoleTextAttribute() 函数,这是一个非常简单的示例:

#include <stdio.h>
#include <Windows.h>
#include <string.h>

void main()
{
    printf("Hello\n");  // Print white text on black output
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
    printf("Hello Again!\n");  // Print Red text on black output
    getchar(); // Pause the program to admire the colors
}

为了进一步突出显示,您还可以更改背景,您可以或 ( |) 一起使用标志以获得不同的颜色和不同的背景/前景。

所以如果你想在绿色背景上做红色文字(出于某种原因),你可以这样做:

FOREGROUND_RED | BACKGROUND_GREEN

在此处输入图像描述

我想这就是你真正想要的,现在你可以把它应用到你的时钟上,得到时间并突出颜色。

于 2012-11-02T12:12:50.933 回答