吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1086|回复: 10
收起左侧

[讨论] 用C++画个五星红旗

[复制链接]
apull 发表于 2023-1-14 00:27
本帖最后由 apull 于 2023-1-15 11:10 编辑

先看效果
五星红旗.png

使用easyx绘制五星红旗,编译需要easyx库,该库只支持C++。

代码


[C] 纯文本查看 复制代码
#include <graphics.h>
#include <math.h>
#include <stdio.h>

#define PI 3.14

void fivePointedStar(int radius, double startAngle)
{
        double delta = 2 * PI / 5;
        POINT points[5]; //
        for (int i = 0; i < 5; i++)
        {
                points[i].x = (LONG)(cos(startAngle + i * delta * 2) * radius); // 计算x坐标
                points[i].y = (LONG)(sin(startAngle + i * delta * 2) * radius); // 计算y坐标
        }
        solidpolygon(points, 5);
}

int main(void)
{
        int width = 900;
        // 高度为宽度的2/3

        int height = width / 3 * 2;
        // 网格宽度

        int grid = width / 2 / 15;
        // 创建窗体

        initgraph(width, height);
        setbkcolor(RED);
        cleardevice();
        // 翻转坐标轴,设置填充颜色为黄色

        setaspectratio(1, -1);
        setfillcolor(YELLOW);
        setpolyfillmode(WINDING);
        // 大五角星

        setorigin(grid * 5, grid * 5);
        fivePointedStar(grid * 3, PI / 2);
        // 小五角星1

        setorigin(grid * 10, grid * 2);
        double startAngle = atan(3.0 / 5.0) + PI;
        fivePointedStar(grid, startAngle);
        // 小五角星2

        setorigin(grid * 12, grid * 4);
        startAngle = atan(1.0 / 7.0) + PI;
        fivePointedStar(grid, startAngle);
        // 小五角星3

        setorigin(grid * 12, grid * 7);
        startAngle = -atan(2.0 / 7.0) + PI;
        fivePointedStar(grid, startAngle);
        // 小五角星4

        setorigin(grid * 10, grid * 9);
        startAngle = -atan(4.0 / 5.0) + PI;
        fivePointedStar(grid, startAngle);

        getchar();
        closegraph();
        return 0;
}

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
sw7057 + 1 + 1 用心讨论,共获提升!
w169725079 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qq882011 发表于 2023-1-14 11:54
成品呢??
51cbb 发表于 2023-1-14 12:12
w169725079 发表于 2023-1-14 13:33
longcun0912 发表于 2023-1-14 13:55
用什么编译器写的,dev-c++造不出来
 楼主| apull 发表于 2023-1-14 13:59
本帖最后由 apull 于 2023-1-14 17:57 编辑
longcun0912 发表于 2023-1-14 13:55
用什么编译器写的,dev-c++造不出来

g++和vc都可以,需要easyx库,easyx只支持C++。
情书三行 发表于 2023-1-14 14:39
这样学对语法提升很大
sw7057 发表于 2023-1-14 15:22
学习了,如果展示一下运行成果就更好了。
 楼主| apull 发表于 2023-1-14 17:57
sw7057 发表于 2023-1-14 15:22
学习了,如果展示一下运行成果就更好了。

帖子上的图片就是最后效果
sw7057 发表于 2023-1-15 10:31
没有看到图片,只看到源文件。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-10 17:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表