1.开发工具: vs  vc(任选一个)

2.准备材料 :

a.一首音乐 (注意:音乐要求重命名为  “x”  )

b.20张图片(注意: 图片要求重命名为  “1”  "2"   ”3“   ......"19"   "20")

3.重要的一项  :  将Unicode字符集   更改为   多字节字符集     (重中之重 千万注意)

4.先看效果

本来程序是图片循环转动的,但是截图出来就是这副鸟样子了,大家凑合先看着。

等下把程序自己做出来 慢慢体会程序呀的浪漫。

5.  话不多说咱们直接上代码

#include "graphics.h" //c++图形界面库
#include "stdio.h"
#include "time.h"
#include "mmsystem.h"
#pragma comment(lib,"winmm.lib")
//点
struct Point{
 int x;//x坐标
 int y;//y坐标
};
//1.定义 int x; //设x变量           IMAGE  img;
IMAGE imgBig[20];
IMAGE imgSmall[20];
//加载图片
void InitImg(){
 char buf[128] = { 0 };//字符数组
 //循环20次
 for (int i = 0; i < 20; i++){//0-19 1-20
  sprintf(buf, "images\\%d.jpg", i + 1);//格式转换
  //2.加载 scanf("%d", &x);//加载的是整数  loadimage()
  loadimage(&imgBig[i], buf, 300, 200);
  loadimage(&imgSmall[i], buf, 30, 30);
 }
}
void InitWindow(){
 //1920*1080  获取 Get 设置Set
 //使用api来获取当前窗口的宽 高
 //创建一个窗口 宽 高 单位px  像素
 initgraph(GetSystemMetrics(SM_CXSCREEN),
  GetSystemMetrics(SM_CYSCREEN));
 //获取当前窗口句柄
 HWND hwnd = GetHWnd();
 //设置窗口风格 减去窗口标题
 SetWindowLong(hwnd, GWL_STYLE,
  GetWindowLong(hwnd, GWL_STYLE) - WS_CAPTION);
 //设置窗口的起始点  默认风格
 SetWindowPos(hwnd, HWND_TOPMOST, 450, 150, GetSystemMetrics(SM_CXSCREEN),
  GetSystemMetrics(SM_CYSCREEN), SWP_SHOWWINDOW);
 //拿到我背面的窗口风格
 LONG WindowLong = GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED;
 //设置窗口风格
 SetWindowLong(hwnd, GWL_EXSTYLE, WindowLong);
 //把黑色的背景设置为透明
 SetLayeredWindowAttributes(hwnd, RGB(0, 0, 0), 0, LWA_COLORKEY);
}
int main(){
 //创建一个窗口
 //2个参数 宽 高
 //initgraph(800,800);//单位px 像素
 InitWindow();
 //open 打开这首歌
 mciSendString("open x.mp3", 0, 0, 0);
 //play 播放音乐
 mciSendString("play x.mp3", 0, 0, 0);
 //创建结构体数组
 Point arr[46] = {
  { 395, 268 },
  { 406, 222 },
  { 416, 193 },
  { 441, 162 },
  { 468, 133 },
  { 500, 117 },
  { 537, 105 },
  { 577, 107 },
  { 617, 120 },
  { 649, 146 },
  { 666, 173 },
  { 680, 211 },
  { 683, 247 },
  { 680, 293 },
  { 675, 338 },
  { 660, 385 },
  { 640, 440 },
  { 616, 484 },
  { 588, 529 },
  { 557, 573 },
  { 530, 610 },
  { 493, 645 },
  { 460, 675 },
  { 422, 696 },
  { 381, 676 },
  { 350, 654 },
  { 320, 626 },
  { 292, 606 },
  { 257, 570 },
  { 230, 540 },
  { 200, 500 },
  { 180, 470 },
  { 160, 430 },
  { 140, 390 },
  { 126, 342 },
  { 117, 293 },
  { 120, 250 },
  { 133, 203 },
  { 160, 170 },
  { 200, 140 },
  { 240, 130 },
  { 280, 135 },
  { 312, 146 },
  { 340, 170 },
  { 360, 195 },
  { 375, 230 }
 };
 char buff[46][50] = {
  "一封信",
  "两年未都",
  "没动笔",
  "三个字",
  "过了",
  "几个四季",
  "你是有",
  "多想逃避",
  "来不及",
  "问问你",
  "我已经",
  "错过",
  "相爱",
  "的日期",
  "那天你",
  "消失在",
  "人海里",
  "你的背影",
  "沉默的",
  "让人恐惧",
  "你说的",
  "那些问题",
  "我回答得",
  "很坚定",
  "偏偏",
  "那个时候",
  "我最想你",
  "我不曾",
  "爱过你",
  "我自己",
  "骗自己",
  "已经给你",
  "写了信",
  "又被我",
  "丢进海里",
  "我不曾",
  "爱过你",
  "我自己",
  "骗自己",
  "明明觉得",
  "自己",
  "很冷静",
  "却还",
  "掉入",
  "我自己",
  "的陷阱"
 };
 //通过时间做随机数的种子
 srand((unsigned)time(NULL));
 //如何在窗口显示文字 
 //编程  和计算机做交互 显示
 //printf
 InitImg();
 //for (int i = 0; i < 20; i++)
 //{
 // //3.显示 printf("%d\n", x);//显示整数    putimage()
 // putimage(0, 0, &img[i]);//图片在窗口显示的位置
 // Sleep(1000);//格式化输出
 //}
 //out输出 text文本 xy位置
 //在窗口对应的位置输出文本
 //outtextxy(0,0,"Hello,World!");
 //简单的绘图
 for (int i = 0; i < 46; i++){
  //设置颜色
  settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));
  //i 0-45
  //outtextxy(arr[i].x, arr[i].y,buff[i]);
  putimage(arr[i].x, arr[i].y, &imgSmall[i % 20]);
  Sleep(80);
 }
 /*MOUSEMSG m;
 while (1){
 m = GetMouseMsg();
 if (m.uMsg == WM_LBUTTONDOWN){
 printf("X:%d,Y:%d\n", m.x, m.y);
 }
 }*/
 int add = 0;
 while (1){
  //清除设备
  cleardevice();
  for (int i = 0; i < 46; i++){
   //设置颜色
   //settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));
   //i 0-45
   //outtextxy(arr[i].x, arr[i].y, buff[(i+add)%46]);
   putimage(arr[i].x, arr[i].y, &imgSmall[(i + add) % 20]);
  }
  //ctrl +k  ctrl+c 注释  20张  0-19 rand%20  0-19
  //ctrl +k  ctrl+u 取消注释
  putimage(257, 308, &imgBig[add % 20]);
  add++;
  Sleep(1000);
 }
 //然文字动
 system("pause");//暂停
 return 0;
}
 
 
6.代码说多也多  说不多他也就200来行   希望大家可以用我的程序找到你的伴侣
那我就很开心了。
祝大家好运吧!

c/c++ 表白小程序的更多相关文章

  1. 干货分享:用一百行代码做一个C/C++表白小程序,程序员的浪漫!

    前言:很多时候,当别人听到你是程序员的时候.第一印象就是,格子衫.不浪漫.直男.但是程序员一旦浪漫起来,真的没其他人什么事了.什么纪念日,生日,情人节,礼物怎么送? 做一个浪漫的程序给她,放上你们照片 ...

  2. 520表白小程序设计Python代码详解(PyQt5界面,B站动漫风)

    摘要:介绍一个动漫风的表白小程序,界面使用Python以及PyQt实现,界面样式经过多次美化调整,使得整体清新美观.本文详细介绍代码设计和实现过程,不仅是居家表白必备,而且适合新入门的朋友学习界面设计 ...

  3. 校园表白墙、微信表白墙、校园墙 微信小程序 JAVA 开发记录与分享

    目录 最新版表白墙博客地址 1.微信小程序前台展示 2.功能介绍 3.后台管理 4.后端语言采用 JAVA 开发 5.体验此微信小程序 扫描下方二维码 6.如何联系我或需要源码进行联系 最新版表白墙博 ...

  4. 用微信表情翻译表白,程序员的小浪漫,赶紧Get起来!

  5. 行星万象表白墙微信小程序、社交微信小程序,后台完整,支持多区域运营,扫码体验。

    简介 中国目前大概有5000个表白墙,累计用户近3000万,是一个庞大的群体,但现在大都以微信朋友圈为基础进行信息中转,但是这种模式经营者和用户都不友好,尤其是经营者无法变现,用户无法公开评论,这些种 ...

  6. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  7. 微信小程序学习指南

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  8. 初尝微信小程序2-Swiper组件、导航栏标题配置

    swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...

  9. SayLove微信小程序

    目录 SayLove 表白墙微信小程序 程序结构 说明 程序效果图 配置过程 结语 云开发 quickstart 参考文档 SayLove 表白墙微信小程序 项目地址:https://github.c ...

随机推荐

  1. 【学习笔记】关于DOM4J:使用DOM4J解析XML文档

    一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org. ...

  2. [转]scp命令学习

    原博客地址http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html scp是secure copy的简写,用于在Linux下进行远程拷贝 ...

  3. js异步流程控制-回调

    f1为耗时操作,f2依赖f1的数据,因此f2必须在f1之后执行: 个人理解是:将f2(回调函数)的代码放在异步函数内部的最后执行,相当于把同步操作的代码融合到异步函数内部的最后: let tag = ...

  4. http状态码汇总及代表意思

    成功2×× 成功处理了请求的状态码.200 服务器已成功处理了请求并提供了请求的网页.204 服务器成功处理了请求,但没有返回任何内容. 重定向3×× 每次请求中使用重定向不要超过 5 次.301 请 ...

  5. Latest SoC

    From: http://laoyaoba.com/ss6/html/68/n-505768.html 2014年国产ARM SoC芯片巡礼(上) 关注“集微网”,微信点播新闻.随要随有 来源: &l ...

  6. JSP初学者4

    Filter可认为是Servlet的“加强版”,他主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的 处理链. 使用Filter完整的流程是:Filte ...

  7. 如何给PDF加水印

  8. Selenium2学习(十一)-- select下拉框

    本篇以百度设置下拉选项框为案例,详细介绍select下拉框相关的操作方法. 一.认识select    1.打开百度-设置-搜索设置界面,如下图所示 2.箭头所指位置,就是select选项框,打开页面 ...

  9. HCNA实验OSPF基础

    1.拓扑图 方法: 1.配置接口IP 2.配置OSPF协议: [R2]ospf 100 [R2-ospf-100]area 0 [R2-ospf-100-area-0.0.0.0]network 12 ...

  10. 关于《Selenium 2自动化测试实战 基于Python语言》学习过程中键盘的常用操作

    下边是自己在学习过程中总结的一些常用键盘的操作