| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2259 人关注过本帖
标题:用C语言画同心圆难理解
只看楼主 加入收藏
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
结帖率:81.48%
收藏
 问题点数:0 回复次数:9 
用C语言画同心圆难理解

这是个用C画图的程序:
看不懂的地方有二点。请各位
高手指点。

#include <stdio.h>
#include <graphics.h>
void main()
{
int b;
int gdriver=DETECT,gmode; 1:定义了两个整型变量,gdriver,gmode,此时gmode没有赋值。
initgraph(&gdriver,&gmode,"D:\turboc2\Tc"); 2:此时将两个实参的地址传给initgraph函数。
cleardevice(); gmode没有赋值。怎么可以做为实参传给函数initgraph呢?
printf("\n\n\n This program shows the circle graph.\n");
for(b=10;b<=140;b+=10)
circle(320,240,b);
getch();
closegraph();
}

搜索更多相关主题的帖子: C语言 
2006-10-15 09:19
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
&gmode传递的不是gmode的值,而是gmode变量所在的地址,通过对这个地址进行操作从而达到返回(修改)gmode的值的目的

这是一种函数返回多个值的方法。

淘宝杜琨
2006-10-15 09:22
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
收藏
得分:0 

那 initgraph()的功能是怎样的?

gmode在将地址传给initgraph()后,
initgraph()返回什么值给它。


本店经营各类国际品牌运动鞋,板鞋,休闲鞋,有李宁,nike,匹克,阿迪达斯。
2006-10-15 09:39
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

函数名: initgraph
功 能: 初始化图形系统
用 法: void far initgraph(int far *graphdriver, int far *graphmode,
char far *pathtodriver);
程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;

/* initialize graphics mode */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult();

if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}

/* draw a line */
line(0, 0, getmaxx(), getmaxy());

/* clean up */
getch();
closegraph();
return 0;
}


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

版主:我们学校刚上完谭浩强的那本C语言。

我对图形图图像方面的知识一片空白。请
版主解释通俗一些。那么长的代码看了头


本店经营各类国际品牌运动鞋,板鞋,休闲鞋,有李宁,nike,匹克,阿迪达斯。
2006-10-15 09:53
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用小牛在2006-10-15 9:53:06的发言:

版主:我们学校刚上完谭浩强的那本C语言。

我对图形图图像方面的知识一片空白。请
版主解释通俗一些。那么长的代码看了头

我也只是学完老潭的那本书,和你一样,这方面我一片空白.不好意思.


倚天照海花无数,流水高山心自知。
2006-10-15 10:08
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
/*看这个,应该可以看的懂*/
图形模式的初始化
不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器, 在不同
模式下也有不同分辨率。因此, 在屏幕作图之前, 必须根据显示器适配器种类将
显示器设置成为某种图形模式, 在未设置图形模式之前, 微机系统默认屏幕为文
本模式(80列, 25行字符模式), 此时所有图形函数均不能工作。设置屏幕为图形
模式, 可用下列图形初始化函数:
void far initgraph(int far *gdriver, int far *gmode, char *path);
其中gdriver和gmode分别表示图形驱动器和模式, path是指图形驱动程序所
在的目录路径。有关图形驱动器、图形模式的符号常数及对应的分辨率见表2。
图形驱动程序由Turbo C出版商提供, 文件扩展名为.BGI。根据不同的图形
适配器有不同的图形驱动程序。例如对于EGA、 VGA 图形适配器就调用驱动程序
EGAVGA.BGI。

使用图形初始化函数设置VGA高分辨率图形模式
#include <graphics.h>
int main()
{
int gdriver, gmode;
gdriver=VGA;
gmode=VGAHI;
initgraph(&gdriver, &gmode, "c:\\tc");
bar3d(100, 100, 300, 250, 50, 1); /*画一长方体*/
getch();
closegraph();
return 0;
}



倚天照海花无数,流水高山心自知。
2006-10-15 10:11
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
图形去里有比较全面的教程
LZ去看看吧
2006-10-15 10:23
notiger
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-5-29
收藏
得分:0 
画图这部分,谭浩强那本书我也看了,不过涉及图形处理的比较少.从网上找找资料看看比较好.

------------------ 不能输在起跑线上
2006-11-12 00:46
请教大家
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-11-27
收藏
得分:0 

看过谭浩强的那本还有什么适合看

2006-11-27 18:01
快速回复:用C语言画同心圆难理解
数据加载中...
 
   



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

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