| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1663 人关注过本帖
标题:[求助]请教用c语言编正 n边形的问题
只看楼主 加入收藏
jason607
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-10-8
收藏
 问题点数:0 回复次数:13 
[求助]请教用c语言编正 n边形的问题
哪个能帮我编程啊,关于这个问题,小弟谢谢

搜索更多相关主题的帖子: c语言 
2006-10-14 23:18
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用jason607在2006-10-14 23:18:51的发言:
哪个能帮我编程啊,关于这个问题,小弟谢谢

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


倚天照海花无数,流水高山心自知。
2006-10-15 10:14
jason607
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-10-8
收藏
得分:0 

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


满怀自信,不轻言放弃!
2006-10-15 11:10
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用jason607在2006-10-15 11:10:28的发言:

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

是什么操作.


倚天照海花无数,流水高山心自知。
2006-10-15 11:22
jason607
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-10-8
收藏
得分:0 

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


满怀自信,不轻言放弃!
2006-10-15 11:23
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用jason607在2006-10-15 11:23:50的发言:

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

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


倚天照海花无数,流水高山心自知。
2006-10-15 11:35
jason607
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-10-8
收藏
得分:0 
好的哈 ,谢谢拉

满怀自信,不轻言放弃!
2006-10-15 11:44
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 

代码如下,我用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(); /* 暂停一下,看看前面绘图代码的运行结果 */
}

2006-10-16 16:00
jason607
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-10-8
收藏
得分:0 
neo是什么,不是很懂呢,

满怀自信,不轻言放弃!
2006-10-16 16:30
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
一个图形库,比TC/BC自带的graphics.lib功能更强大,并且开放源码。
在置顶帖《 [C图形专区] 版序:动手搭建你的工作平台 》里有它的简单介绍,在网站的下载区中可以获取:
http://www.bc-cn.net/Soft/kfyy/c/200605/302.html
你可以下载一个看看,里面有详细的使用说明。
有什么不明白的可以再到这里告诉我。

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

2006-10-16 16:34
快速回复:[求助]请教用c语言编正 n边形的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020913 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved