C语言/C++程序员大神打造纯C的电子时钟(加图形库+源码)

C语言/C++程序员大神打造纯C的电子时钟,每天看时间再也不麻烦了

C语言/C++程序员大神打造纯C的电子时钟(加图形库+源码)_第1张图片

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

C语言/C++程序员大神打造纯C的电子时钟(加图形库+源码)_第2张图片

用到编译工具 是vs2013(VC Vs2015也行)记得安装图形库

涉及到的知识点:

1.图形库 界面 DONE

2.鼠标操作

3.时间 DONE

4.音乐DONE

5.计算问题 角度 DONE

源码如下:

#include//图形库 需要安装 VS VC

#include

#include //time clock

#include//计算

#include//关机命令

//playsound 只能放wav 可以用于资源文件

//mciSendSring 可以放mp3

#include

#pragma comment(lib,“WINMM.LIB”)//播放多媒体的一个库

#define PI 3.141592654

void draw(int,int,int);

int main()

{

initgraph(640, 480);//新建窗口

//表盘界面

//1.获取时间

SYSTEMTIME time;//结构体

//char arr[50];

setbkmode(TRANSPARENT);

settextstyle(30,0,“华文彩云”);//高度和默认宽度

//setbkcolor(LIGHTGRAY);//grey gray

while (1)

{

loadimage(NULL, “1.jpg”);

setlinecolor(WHITE);

rectangle(480, 0, 640, 160);

outtextxy(500, 70, “放音乐”);

rectangle(480, 160, 640, 320);

outtextxy(500, 230, “不要点”);

rectangle(480, 320, 640, 480);

outtextxy(500, 380, “退出”);

//界面

GetLocalTime(&time);//获取当前时间 年 月 日 小时 分 秒

draw(time.wHour, time.wMinute, time.wSecond);

Sleep(1000);

}

//while (1)

//{

//Sleep(1000);//单位毫秒

//GetLocalTime(&time);//获取当前时间 年 月 日 小时 分 秒

//sprintf(arr, “%d年%d月%d日%d小时%d分%d秒”, time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond);//格式化写入

//outtextxy(0, 0, arr);//图形库的输出函数 printf

////

//}

getchar();

closegraph();//关闭窗口

return 0;

}

C语言/C++程序员大神打造纯C的电子时钟(加图形库+源码)_第3张图片

void draw(int hour,int min,int sec)

{

//画表盘

setlinecolor(WHITE);

setlinestyle(PS_SOLID, 1);

circle(240,240,200);//圆心加半径 直径<480 半径<240

//圆心坐标 200 是半径

char arr[3];

for (int i = 1; i <= 12; i++)//刻度

{

sprintf(arr, “%d”, i);

outtextxy(240+(int)(200sin(30iPI/180))-5, 240-(int)(200 * cos(30 * iPI / 180))-5, arr);

}

//强转

//开始画指针 时针 分针 秒针 时针最短120 分针160 秒针最长200

//粗细 颜色

//画时针

setlinecolor(RED);

setlinestyle(PS_SOLID,7);

line(240, 240, 240 + (int)(120 * sin(30 * (hour+min/60.0)*PI / 180)), 240 - (int)(120 * cos(30 * (hour+min/60.0)*PI / 180)));

//画分针

setlinecolor(BLUE);

setlinestyle(PS_SOLID, 6);

line(240, 240, 240 + (int)(160 * sin(6 * minPI / 180)), 240 - (int)(160 * cos(6 min*PI / 180)));

//画秒针

setlinecolor(YELLOW);

setlinestyle(PS_SOLID, 2);

line(240, 240, 240 + (int)(200 * sin(6 * secPI / 180)), 240 - (int)(200 * cos(6 * secPI / 180)));

}

void play()

{

if (MouseHit())//判断有没有鼠标信息

{

MOUSEMSG msg = GetMouseMsg();//鼠标信息

switch (msg.uMsg)

{

case WM_LBUTTONDOWN:

if (msg.x >= 480)

{

if (msg.y <= 160)

{

//放音乐

mciSendString(“open Fade.mp3 alias bgm”, 0, 0, 0);//

mciSendString(“play bgm repeat”, 0, 0, 0);

}

else if (msg.y > 320)

{

//结束 整个程序

//return ? break?

closegraph();

exit(0);

}

else

{

//关机

MessageBox(GetHWnd(), “将在60秒后关机”, “关机”, MB_OK);//句柄 对应一个窗口

system(“shutdown -s -t 60”);//关机和取消关机

//shutdown -s -t 60

//shutdown -s 立刻关机

//23:30关机

//at 23:30 shutdown -s

//shutdown -a 取消关机

}

}

}

}

}

最终的效果图:小编的设计感不强,配色,字体也不是很美观,但是做出来的

C语言/C++程序员大神打造纯C的电子时钟(加图形库+源码)_第4张图片

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

如果你依然在编程的世界里迷茫,不知道自己的未来规划,对C/C++感兴趣,这里推荐一下我的学习交流圈:684478929,里面都是学习C/C++的,从最基础的C/C++【C++,游戏,黑客技术,网络安全】到网络安全的项目实战的学习资料都有整理,送给每一位前端小伙伴,希望能帮助你更了解前端,学习前端

点击:加入

你可能感兴趣的:(C++)