首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

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

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

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

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

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

用到的编译器工具是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")//播放多媒体的一个库

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;

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

{

//画表盘

setlinecolor(WHITE);

setlinestyle(PS_SOLID, 1);

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

//圆心坐标 200 是半径

char arr[3];

for (int i = 1; i

{

sprintf(arr, "%d", i);

outtextxy(240+(int)(200*sin(30*i*PI/180))-5, 240-(int)(200 * cos(30 * i*PI / 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 * min*PI / 180)), 240 - (int)(160 * cos(6* min*PI / 180)));

//画秒针

setlinecolor(YELLOW);

setlinestyle(PS_SOLID, 2);

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

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

}

void play()

{

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

{

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

switch (msg.uMsg)

{

case WM_LBUTTONDOWN:

if (msg.x >= 480)

{

if (msg.y

{

//放音乐

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

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

{

//关机

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++能做的

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180214A0GSUF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券