注册 登录
编程论坛 C图形专区

[求助]请教用c语言编正 n边形的问题

jason607 发布于 2006-10-14 23:18, 1668 次点击
哪个能帮我编程啊,关于这个问题,小弟谢谢

13 回复
#2
nuciewth2006-10-15 10:14
以下是引用jason607在2006-10-14 23:18:51的发言:
哪个能帮我编程啊,关于这个问题,小弟谢谢

编正n边形的什么问题,能不能说具体点.好象这个问题太宽泛了.比如说给出什么,求什么.你得说清楚啊.

#3
jason6072006-10-15 11:10

好的,比如你输入5,出来就是正5边形,提供用户输入的操作,然后就显示相应的操作

#4
nuciewth2006-10-15 11:22
以下是引用jason607在2006-10-15 11:10:28的发言:

好的,比如你输入5,出来就是正5边形,提供用户输入的操作,然后就显示相应的操作

是什么操作.

#5
jason6072006-10-15 11:23

dos环境下,运行此程序,程序提示输入你输入数字,然后你输入5或者其他,就显示相应的图形

#6
nuciewth2006-10-15 11:35
以下是引用jason607在2006-10-15 11:23:50的发言:

dos环境下,运行此程序,程序提示输入你输入数字,然后你输入5或者其他,就显示相应的图形

就是说画出图形来,那你到C区的图形版块看看.

#7
jason6072006-10-15 11:44
好的哈 ,谢谢拉
#8
一笔苍穹2006-10-16 16:00

代码如下,我用NEO写的,可以很容易得改成基于graphics.h的,只要将ploy()函数中的画线函数换了就行了,当然main函数里的初始代码也要换成graphics的:
#include "neo.h"
#ifndef PI
#define PI 3.1415926f
#endif

/* x, y为正多边形的中心坐标 */
/* lng为正多边形的边长 */
/* cnt为多边形的边数 */
void ploy(int x, int y, int cnt, int lng)
{
double art;
int point_x, point_y;
int old_x, old_y;
int R=(int)(lng / 2)/sin(PI / cnt);
int i;

if(cnt % 2 == 1) /*判断正多边形边数的奇偶*/
{
old_x = 0;
old_y = R;

art = PI / 2;
}
else
{
art = PI / 2 - PI / cnt;
old_x = (int)(R * cos(art));
old_y = (int)(R * sin(art));
}


for(i = 0; i < cnt; i++)
{
art -= (2 * PI) / cnt;
point_x = (int)(R * cos(art));
point_y = (int)(R * sin(art));

line(old_x + x, old_y + y, point_x + x, point_y + y, WHITE);
old_x = point_x;
old_y = point_y;
}
}

main()
{
neo_init(); /*NEO初使化*/

set_video_mode(640, 480, 8, 75, 0); /*设置图形模式*/
install_keyboard();

ploy(320, 240, 5, 15);
ploy(320, 240, 6, 25);
ploy(320, 240, 7, 35);
ploy(320, 240, 8, 45);
ploy(320, 240, 9, 55);
_getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
}

#9
jason6072006-10-16 16:30
neo是什么,不是很懂呢,
#10
一笔苍穹2006-10-16 16:34
一个图形库,比TC/BC自带的graphics.lib功能更强大,并且开放源码。
在置顶帖《 [C图形专区] 版序:动手搭建你的工作平台 》里有它的简单介绍,在网站的下载区中可以获取:
https://www.bc-cn.net/Soft/kfyy/c/200605/302.html
你可以下载一个看看,里面有详细的使用说明。
有什么不明白的可以再到这里告诉我。

[此贴子已经被作者于2006-10-16 16:35:29编辑过]

#11
jason6072006-10-16 17:00
谢谢版主了哈,小弟有空一定会好好的去看的
#12
jason6072006-10-16 17:11
小弟把neo下载下来了,不过不知道如何用
#13
一笔苍穹2006-10-16 17:15
参考docs文件夹中的使用文档吧
我要下班了,有问题留帖~
#14
jason6072006-10-16 17:19
好的哈
1