C语言实现同步画圆画方

实现

1.图形库安装

实现画圆画方,需要图形库,这里选择easyx,安装使用较为简单快捷。在网上下载easyx官方安装文件,直接选择Visual C++ 2019,即可安装完毕,在VS中我就可以使用该图形库。
EasyX安装

2.编写所需头文件

#include<graphics.h>
#include<stdio.h>
#include<Windows.h>
#include<math.h>

3.初始化easyx图像窗口

initgraph(840, 680);

4.创建两个线程

hThread[0] = CreateThread(NULL, 0, Draw1, 0, 0, &threadID);
hThread[1] = CreateThread(NULL, 0, Draw2, 0, 0, &threadID);

5.画圆画方函数定义

画方函数:
for (int i = 0; i < 180; i++)
{
		putpixel(50 + i, 50, WHITE);
		Sleep(10);
}
画圆函数:
for (int i = 0; i < 720; i++)
{
putpixel(350 + 90 * cos(-pi / 2 + (double)((i * pi) / 360)), 140 + 90 * sin(-pi / 2 + (double)((i * pi) / 360)), WHITE);
		Sleep(10);
}

Sleep函数S大写时括号内为毫秒单位,s小写时括号内为秒单位
putpixel函数第一个参数为x坐标,第二个参数为y坐标,最后一个参数为颜色

6.关闭视窗编写

closegraph();

源程序

#include<graphics.h>
#include<stdio.h>
#include<Windows.h>
#include<math.h>
#define pi  3.14

DWORD WINAPI draw1(LPVOID)
{
	for (int i = 0; i < 180; i++)
	{
		putpixel(50 + i, 50, WHITE);
		Sleep(10);
	}
	for (int i = 0; i < 180; i++)
	{
		putpixel(50 + 180, 50 + i, WHITE);
		Sleep(10);
	}
	for (int i = 0; i < 180; i++)
	{
		putpixel(50 + 180 - i, 50 + 180, WHITE);
		Sleep(10);
	}
	for (int i = 0; i < 180; i++)
	{
		putpixel(50, 50 + 180 - i, WHITE);
		Sleep(10);
	}
	return 0;
}

DWORD WINAPI draw2(LPVOID)
{
	for (int i = 0; i < 720; i++)
	{
		putpixel(350+100*cos(-pi/2+(double)((i*pi)/360)), 140 + 100*sin(-pi / 2 + (double)((i*pi)/360)), WHITE);
		Sleep(10);
	}
	return 0;
}
int main()
{
	initgraph(840, 680);
	HANDLE hThread[2];
	DWORD threadID;
	hThread[0] = CreateThread(NULL, 0, draw1, 0, 0, &threadID);
	hThread[1] = CreateThread(NULL, 0, draw2, 0, 0, &threadID);
	getchar();
	closegraph();
	return 0;
}

测试

测试
测试


总结

本文简单实现了画圆画方的并行操作。
有任何问题都可以在评论区和我交流~~

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值