学了C语言能干啊?不要迷茫,今天咱们来调戏一下记事本

谁说C/C++程序员不浪漫???来来来一起打造一个浪漫的表白程序,配上好听的音乐,瞬间高大上的感觉。

 

学了C语言能干啊?不要迷茫,今天咱们来调戏一下记事本

 

是时候准备出手了!

学了C语言能干啊?不要迷茫,今天咱们来调戏一下记事本

 

 

喜欢一个女生很久了,想跟那个女生表白,但是找不到合适的方式表白。于是想到了一个办法,用c语言写一个程序跟她表白。这个程序的构想是这样的:当她打开这个程序,她的电脑就会出现一个记事本,而且还会绕着屏幕跑步!(大家可以做成在屏幕上,作心型运动)

先看下运行效果!

学了C语言能干啊?不要迷茫,今天咱们来调戏一下记事本

 

就是这样,记事本会在屏幕上run!

学了C语言能干啊?不要迷茫,今天咱们来调戏一下记事本

 

需要的头文件:

#include<stdio.h>

#include<windows.h>

#define X 1000

#define Y 600

头文件写好了,之后先要在磁盘里创建文件 我爱你.txt 并打开

这是运行程序自动创建并打开的哟!

学了C语言能干啊?不要迷茫,今天咱们来调戏一下记事本

 

void openqq()

{

system("mode con cols=80 lines=30");

char *love = "XX我爱你";

printf("%*s ",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("我爱你,但文件创建失败,请重试! ");

return;

}

}

printf("通往我心里的路--->%s ", arr);

char qq[333]=" XX我爱你

你不开心的时候,我陪你,你哭泣的时候,我陪你,

你心情很不爽的时候,我陪你,你不想回家的时候,

我陪你,无论怎样,我都陪你,只因为你是我最爱

的人,你就是我的音乐,你给我带来好听的音符。

你是我的全部,你给我生命带来了色彩。我永远爱

你!可以跟我在一起吗?";

fprintf(fi, qq);

fclose(fi);

ShellExecuteA(0, "open", arr, 0, 0, 1);

}

学了C语言能干啊?不要迷茫,今天咱们来调戏一下记事本

 

然后咱们得让记事本动起来,这样才有逼格不是,看代码!

void changexy()

{

HWND mywnd = FindWindowA("Notepad", "我爱你.txt - 记事本");

if (mywnd == NULL)

{

printf("我是爱你的啊!请重新试试! ");

}

//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(" "); //开头空出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(" "); //每一行输出完毕换行

}

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(" "); //每一行输出完毕换行

}

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(" "); //每一行输出完毕换行

}

for (i = 1; i <= 39; i++) printf(" "); //最后一行左边的空格

printf("%c ", c); //最后一个字符小爱心

for (i = 1; i <= 5; i++) printf(" "); //最后空出5行

}

这个程序基本上完工了,最后就是在主函数里面,组合它们!

int main()

{

openqq();

heart();

Sleep(200);

changexy();

getchar();

return 0;

}

最后小编还准备了彩蛋哦~

给大家一份免费的C语言学习课程,赶紧来领取吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值