c语言玫瑰花图形程序,一个玫瑰花的程序
一个玫瑰花的程序
这是个玫瑰花的程序,我运行时有一个问题,请高手帮忙修改一下。
另外程序不是很完美,如果感兴趣的刻意绘出更漂亮的图形。大家一起交流下 ,谢谢大家!
#include
#include
#include
#include
#define FNX(x) (int)(xo+(x)*1.0)
#define FNY(y) (int)(getmaxy()-(yo+(y)*1.0))
#define FNX2(phi) cos(phi)*ac-sin(phi)*bs
#define FNY2(phi) cos(phi)*as+sin(phi)*bc
/*画旋转的椭圆*/
void elli(int xo,int yo,int a,int b,double theta)
{
int i;
double da,c,s,ac,as,bc,bs,xf,yf,phi,x,y;
theta=theta*0.01745;
da=3*0.1745;
c=cos(theta);s=sin(theta);
ac=a*c;as=a*s;bc=b*c;bs=b*s;
x=FNX2(0);y=FNY2(0);
moveto(FNX(x),FNY(y));
for(i=1;i<=360;i++)
{
phi=i*da;xf=x*cos(phi)*0.1;yf=b*sin(phi)*0.1;
x=FNX2(phi);y=FNY2(phi);
lineto(FNX(x),FNY(y));
}
}
/*花*/
void hua(int x,int y)
{
register i;
/*画粉红色玫瑰*/
setcolor(12);
arc(x+65,y-60,150,350,8);
arc(x+66,y-54,300,470,8);
arc(x+65,y-56,30,230,10);
arc(x+64,y-57,300,490,17);
ellipse(x+73,y-30,250,450,27,40);
ellipse(x+59,y-30,100,290,27,40);
ellipse(x+65,y-40,140,270,20,30);
setfillstyle(SOLID_FILL,5);
floodfill(x+65,y-20,12);
/*画红色玫瑰*/
arc(x,y,150,350,12);
arc(x+1,y+8,280,470,12);
arc(x,y+2,30,230,16);
arc(x,y+3,80,240,28);
arc(x+2,y+8,180,330,22);
arc(x-2,y+2,310,460,25);
ellipse(x-12,y+30,120,300,30,40);
ellipse(x+10,y+28,250,423,30,42);
ellipse(x-4,y+10,290,393,30,40);
setfillstyle(SOLID_FILL,4);
floodfill(x+5,y+31,12);
/*画紫色花骨朵*/
ellipse(x+120,y+5,0,360,15,25);
setfillstyle(SOLID_FILL,1);
floodfill(x+120,y,12);
/*画黄色花骨朵*/
ellipse(x-70,y+10,0,360,14,20);
setfillstyle(SOLID_FILL,14);
floodfill(x-70,y+10,12);
setcolor(10);
/*画红花花萼*/
ellipse(x-15,y+32,190,310,30,35);
ellipse(x+16,y+32,235,355,26,35);
ellipse(x,y+35,190,350,43,50);
arc(x,y+82,190,350,6);
setfillstyle(SOLID_FILL,2);
floodfill(x,y+75,10);
/*画粉花花萼*/
ellipse(x+50,y-48,190,320,22,50);
ellipse(x+80,y-48,220,350,22,50);
ellipse(x+65,y-28,180,360,36,50);
floodfill(x+65,y+18,10);
/*画主枝*/
for(i=0;i<3;i++)
{
ellipse(x-98,y+100+i,255,371,100,80);
ellipse(x-20,y+30+i,260,358,140,140);
ellipse(x+224,y+20+i,180,218,160,140);
}
/*画侧枝*/
ellipse(x+70,y+34,180,233,140,140);
ellipse(x,y+40,205,255,100,120);
ellipse(x+135,y-30,209,249,72,120);
&nb
sp;ellipse(x,y+20,263,301,100,120);
ellipse(x+85,y-10,278,305,100,120);
ellipse(x+100,y-62,282,308,90,120);
ellipse(x-50,y-10,277,314,30,120);
ellipse(x+70,y+80,222,266,52,120);
ellipse(x-60,y-45,229,266,52,120);
ellipse(x+79,y-45,229,266,52,120);
ellipse(x+84,y,224,273,52,120);
ellipse(x+110,y+40,240,282,100,120);
/*画紫花骨朵花萼*/
ellipse(x+120,y-6,200,340,17,25);
ellipse(x+120,y+7,160,380,17,27);
floodfill(x+122,y+30,10);
/*画黄花骨朵花萼*/
ellipse(x-70,y+15,140,390,17,20);
ellipse(x-75,y-10,205,340,10,30);
ellipse(x-60,y-10,195,340,5,30);
floodfill(x-70,y+32,10);
/*画叶*/
/*画右边的叶子*/
elli(x+168,y+282,10,20,-40);
elli(x+160,y+252,8,16,260);
elli(x+145,y+270,8,16,-15);
elli(x+156,y+224,10,20,-45);
elli(x+150,y+200,8,16,270);
elli(x+135,y+220,8,16,-10);
elli(x+146,y+144,8,16,-80);
elli(x+130,y+130,6,12,235);
elli(x+125,y+154,7,14,-10);
elli(x+78,y+98,6,12,-90);
elli(x+60,y+90,5,10,180);
elli(x+70,y+109,5,10,-45);
/*画左边的叶子*/
elli(x-125,y+270,12,24,60);
elli(x-95,y+270,10,20,10);
elli(x-110,y+245,10,20,90);
elli(x-105,y+220,10,20,45);
elli(x-100,y+190,8,16,135);
elli(x-75,y+210,8,16,-45);
/*画中间的叶子*/
elli(x+65,y+190,10,20,-45);
elli(x+40,y+185,8,16,0);
elli(x+55,y+165,8,16,90);
}
/*主程序*/
main()
{
int driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"C:\TC");
cleardevice();
hua(450,90);
setcolor(10);
rectangle(0,0,639,479);
getch();
closegraph();
}
搜索更多相关主题的帖子:
玫瑰花
c语言玫瑰花图形程序,一个玫瑰花的程序相关推荐
- 【c】C语言编程写的一个http下载程序
来自: 百度空间-软件工程师 大家都很熟悉HTTP协议的应用,因为每天都在网络上浏览着不少东西,也都知道是HTTP协议是相当简单的.每次用到FlashGet之类的下载软件下载网页,当用到那个" ...
- C语言的图形界面?——简单外挂程序
简单接触c语言图形界面后就想把之前的控制台外挂小程序变成图形界面,仅供娱乐,目前只完成了两个版本即年度版和中文版的阳光和金币修改,其他修改可自行搜索偏移地址,这里奉上一篇个人认为比较详细的ce寻找基址 ...
- C语言goto语句 做一个自动关机小程序 —— 给小伙伴来个“恶作剧”吧
C语言中提供了可以随意滥用的 goto语句和标记跳转的标号. 从理论上 goto语言是没有必要的,实践中没有goto语句也可以很容易写出代码. 但是某些场合下 goto语句还是用得着的,最常见的用法就 ...
- c语言初学者如何编写一个相加求和程序
欢迎来到南方有乔木的博客!!! 博主主页:点击点击!戳一戳!! 博主QQ:1636758318 博主简介: 一名在校大学生,正在努力学习Java语言编程.穷且意坚,不坠青云之志,希望能在编程的世界里 ...
- java语言简单代码_java语言编程如何实现一个最简单程序?
在编程语言中,实践出结果是最重要的,其他的什么都是为此做准备,下面我们就来看看该如何编译一个最简单的java程序. 首先,启动你的编程软件,如eclipse等,具体可以网上了解, 再来,创建一个新的j ...
- C语言实现的一个交互小程序(一)
关于C语言如何有效正确的学习,我写了一个专栏:你可以这样学习C语言,有兴趣的小伙伴可以来看看哦,希望能对你有收获!本文例子需要源码的可以关注我后私信我. 这几天我用C语言自己写了一个交互小程序.这个交 ...
- java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解
写java编程就是一步一步的来,这样才会写好一个编程,之后也才能正常的运行,那么java编写程序的步骤是什么?今天我们就来给大家讲解一下这方面的内容.大家可以参考以下文章! 1.编写源文件 使用文本编 ...
- c语言表白程序源码玫瑰花,小伙子用C语言写出绽放的玫瑰花,成功表白C++代码女神!...
小伙子用C语言写出绽放的玫瑰花,成功表白C++代码女神! 今天就给大家带来一个绝佳的礼物,用来跟妹子表白,让大家早点脱离单身汪的生活. (感谢我吧,这可不容易哦~~~) 下面是小编准备的一套非常适合初 ...
- java写便签_如何编写一个便签程序(用Java语言编写)
如何编写一个便签程序(用Java语言编写) 热度:336 发布时间:2011-02-18 11:44:16 如何编写一个便签程序(用Java语言编写) 因为以前没有好好学习Java,都搞忘了,请大 ...
最新文章
- 手机经常提示找不到服务器,经常出现找不到服务器是什么原因?什么网也打 – 手机爱问...
- 人脸识别的灵魂拷问:变胖了怎么办?
- 使用Git 管理heroku的项目(windows)
- python 语言教程(3)变量之数字类型
- Android--视频播放器
- MySQL索引对NULL值的处理
- Kafka:常用命令
- 线性插值改变图像尺寸_【图像分割模型】实例分割模型—DeepMask
- 类代理java设计模式---动态代理(简单笔记)
- C++笔记----运算符重载
- ios教程,用pc开发ios游戏
- 数据科学面试问答题库
- 石川:异象、因子和多因子模型
- Graph WaveNet:用于时空图建模的图神经网络结构
- Matlab_R2016a 中文破解版 安装教程
- 不只是同构应用(isomorphic 工程化你所忽略的细节)
- 上线十个月后,终于看懂视频号对于微信的意义
- pandas行/列删除
- 对话阿博茨CTO刘铁锋:得开放平台者,得RPA天下
- Python sqlalchemy 连接常用的数据库
热门文章
- 基于 Canal 和 Kafka 实现 MySQL 的 Binlog 近实时同步
- 商户管理后台/消费统计管理/云平台商户端管理后台原型/PaaS金融服务平台商户端管理后台原型/企业管理系统后台/账户管理/工单管理/充值管理/汇款单管理/余额管理/用户管理/认证管理/web后台原型
- 为MongoDB添加身份验证
- 是谁在我的心里打了个结(二十一)托付
- 在基于数据库的任务派发系统中利用SQL Server 2005 中新的查询提示来提高系统的效率...
- OO4O的session残留问题
- (9) tomcat中实现同一虚拟机中所有应用程序单点登录SSO
- 【代码笔记】iOS-performSelectorOnMainThread
- String,StringBuffer,StringBuilder效率优先关系说明
- 百度MP3音乐API接口及应用