在C语言中打卡: 时间点亮

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;

    }

有人可以告诉我我可能如何做到这一点吗?我不是要求你帮我做作业..我只是真的需要一些帮助。

3
这个void main (int sec, int min)不是main()函数的正确原型。请查看任何参考资料以了解允许的原型集,并选择最适合您的程序的一个。 - unwind
那里没有绘制时钟的代码。你肯定已经收到了一些关于如何在应用程序中绘制图形的文档。为什么不试着从那里开始呢?在你有具体问题而不仅仅是一个非常广泛的希望得到帮助的愿望之前,我投票关闭这个问题。 - RedX
我们没有任何文档。我们必须互相帮助,在互联网上搜索。这不是一个非常广泛的问题,我只是在问如何处理颜色。但我猜这个代码可能做不到吧? - lepel100
抱歉,Mike,我使用Code::Blocks。所谓的“light up”是指例如现在是12:30,那么时针和分针上的数字应该显示为红色,其余部分为白色。它不一定要是圆形的,也可以是直线的,就像这样: 小时:1、2、3、4、5、6、7、8、9等,然后当前时间所在的小时数必须有颜色。 - lepel100
@lepel100 - 明白了,听起来你想知道如何在Windows命令提示符上设置颜色。我可以帮忙,然后你就可以将你的“时钟”应用到它上面,再试一次任务。 - Mike
显示剩余2条评论
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
}

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

因此,如果您想在绿色背景上显示红色文本(由于某种原因),您可以执行以下操作:

FOREGROUND_RED | BACKGROUND_GREEN

图片描述

我认为这就是你真正想要的,现在你可以将其应用于你的时钟上,获取时间并突出显示颜色。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接