最近,一个小伙伴自己制作的表白代码在各大网络平台上火爆,如下图,许多人都想要知道怎么去写的,自己也想试试。了解的都知道这个是用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高级编程视频教程免费获取