最近,一个小伙伴自己制作的表白代码在各大网络平台上火爆,如下图,许多人都想要知道怎么去写的,自己也想试试。了解的都知道这个是用vbs实现的,接下来就给大家分享一个不一样的版本,用C语言编程实现表白代码
先看一下运行效果
就是这样,记事本会在屏幕上run!
需要的头文件:
#include<stdio.h>
#include<windows.h>
#define X 1000
#define Y 600
头文件写好了,之后先要在磁盘里创建文件 我爱你.txt 并打开
这是运行程序自动创建并打开的哟!
void openqq() { system("mode con cols=80 lines=30"); char *love = "XX我爱你"; printf("%*s\n",30,love); char arr[50]; char str='D'; sprintf(arr, "%c:\\我爱你.txt", str); FILE *fi = fopen(arr, "w"); if (fi == NULL) { str = 'E'; sprintf(arr, "%c:\\我爱你.txt",str); fi = fopen(arr, "w"); if (fi == NULL) { printf("我爱你,但文件创建失败,请重试!\n"); return; } } printf("通往我心里的路--->%s\n", arr); char qq[333]="\ XX我爱你\ \n你不开心的时候,我陪你,你哭泣的时候,我陪你,\ \n你心情很不爽的时候,我陪你,你不想回家的时候,\ \n我陪你,无论怎样,我都陪你,只因为你是我最爱\ \n的人,你就是我的音乐,你给我带来好听的音符。\ \n你是我的全部,你给我生命带来了色彩。我永远爱\ \n你!可以跟我在一起吗?"; fprintf(fi, qq); fclose(fi); ShellExecuteA(0, "open", arr, 0, 0, 1);
void changexy() { HWND mywnd = FindWindowA("Notepad", "我爱你.txt - 记事本"); if (mywnd == NULL) { printf("我是爱你的啊!请重新试试!\n"); } //printf("窗口==%d", mywnd); int i = 1,y=1; while (1){ if (i < X&&y<50) { i++; SetWindowPos(mywnd, NULL, i, 0, 400, 400, 0); Sleep(5); } else if (i>=X &&y<=Y) { y++; SetWindowPos(mywnd, NULL, i, y, 400, 400, 0); Sleep(5); } else if (i>1&&i<=X && y <= Y+1) { i--; //printf("x==%d y==%d", i, y); SetWindowPos(mywnd, NULL, i, y, 400, 400, 0); Sleep(5); } else if (i>0 && i <= X && y <= Y+1) { y--; //printf("x==%d y==%d", i, y); SetWindowPos(mywnd, NULL, i, y, 400, 400, 0); Sleep(5); } } }
对了,还得画个心呢!这个就是copy的代码了,哈哈
void heart() { int i, j, k, l, m; char c = 3; //ASCII码里面 3 就是一个字符小爱心 for (i = 1; i <= 5; i++) printf("\n"); //开头空出5行 for (i = 1; i <= 3; i++) { //前3行中间有空隙分开来写 for (j = 1; j <= 32 - 2 * i; j++) printf(" "); //左边的空格,每下一行左边的空格比上一行少2个 //8*n-2*i for (k = 1; k <= 4 * i + 1; k++) printf("%c", c);//输出左半部分字符小爱心 for (l = 1; l <= 13 - 4 * i; l++) printf(" "); //中间的空格,每下一行的空格比上一行少4个 for (m = 1; m <= 4 * i + 1; m++) printf("%c", c);//输出右半部分字符小爱心 printf("\n"); //每一行输出完毕换行 } for (i = 1; i <= 3; i++) { //下3行中间没有空格 for (j = 1; j <= 24 + 1; j++) printf(" "); //左边的空格 //8*(n-1)+1 for (k = 1; k <= 29; k++) printf("%c", c);//输出字符小爱心 printf("\n"); //每一行输出完毕换行 } for (i = 7; i >= 1; i--) { //下7行 for (j = 1; j <= 40 - 2 * i; j++) printf(" "); //左边的空格,每下一行左边的空格比上一行少2个//8*(n+1)-2*i for (k = 1; k <= 4 * i - 1; k++) printf("%c", c);//每下一行的字符小爱心比上一行少4个(这个循环是i--) printf("\n"); //每一行输出完毕换行 } for (i = 1; i <= 39; i++) printf(" "); //最后一行左边的空格 printf("%c\n", c); //最后一个字符小爱心 for (i = 1; i <= 5; i++) printf("\n"); //最后空出5行 }
这个程序基本上完工了,最后就是在主函数里面,组合它们!
int main() { openqq(); heart(); Sleep(200); changexy(); getchar(); return 0; }
以上就是“c语言编程实现表白代码(怎么用C语言表白?)”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/10046/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取