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") // 播放多媒体的一个库
- #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;
- }
- 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)(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 <= 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
小编推荐一个学 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://www.jianshu.com/p/2aca5ca5872d