| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 505 人关注过本帖
标题:新人请教问题!!!
只看楼主 加入收藏
jian3000
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2009-10-27
结帖率:100%
收藏
 问题点数:0 回复次数:8 
新人请教问题!!!
画图,学用circle画圆形
/*circle*/
#include "graphics.h"
main()
{int driver,mode,i;
float j=1,k=1;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=0;i<=25;i++)
{
setcolor(8);
circle(310,250,k);
k=k+j;
j=j+0.3;
}
}
我用的是Win tc,可是运行这段程序后,画面就只是一闪而关,根本看不到结果,请问怎么才能看这个小程序的结果?
搜索更多相关主题的帖子: 新人 
2009-11-03 17:46
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
getch();
or
dos.h
system("pause");

我可好玩啦...不信你玩玩^_^
2009-11-03 17:47
jian3000
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2009-10-27
收藏
得分:0 
我在最下面一排加了getch();可是还是没用啊,还是一闪而关!加在什么地方?楼上的大哥能明示一下吗?
至于楼上说的什么dos.h
system("pause");单词意思看得懂,但到目前为止所还没看到过这种用法,不知道怎么用?
2009-11-03 17:53
ljt0000mf
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:157
注 册:2009-7-4
收藏
得分:0 
程序代码:
#include "graphics.h"
main()
{int driver,mode,i;
float j=1,k=1;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=0;i<=25;i++)
{
setcolor(8);
circle(310,250,k);
k=k+j;
j=j+0.3;
}
getch();
} 



运行,过了几秒种,电脑会全屏,就出现 你要的图了。
图是黄的,你真色啊。。。。。
2009-11-03 18:12
jian3000
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2009-10-27
收藏
得分:0 
我运行后,那个黑色的程序框还是一闪就关啊,然后我就等,等了1分钟也没看见你说的那个“黄图”啊~
我操作系统是XP,分辨率是1024*768,和这些有关没?
2009-11-03 18:32
caribbeansea
Rank: 2
等 级:论坛游民
帖 子:18
专家分:12
注 册:2009-11-3
收藏
得分:0 
呵呵,我电脑也不行,新人啊,记得上回一程序在win-tc下也是一闪而过,却不知为什么,用了getch();语句却不起效果,求解释
#include<graphics.h>
#include<math.h>
#include<dos.h>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<stdarg.h>
#define MAXPTS 15
#define PI 3.1415926

struct PTS{
           int x;
           int y;
           };
 double AspectRatio=0.85;
 void LineToDemo(void)
 {
  struct viewporttype vp;
  struct PTS points[MAXPTS];
  int i,j,h,w,xcenter,ycenter;
  int radius,angle,step;
  double rads;
  printf("MoveTo/LineTo Demonstration");
  getviewsettings(&vp);
  h=vp.bottom-vp.top;
  w=vp.right-vp.left;
  xcenter=w/2;
  ycenter=h/2;
  radius=(h-30)/(AspectRatio*2);
  step=360/MAXPTS;
  angle=0;
  for(i=0;i<MAXPTS;++i)
   {
    rads=(double)angle*PI/180.0;
    points[i].x=xcenter+(int)(cos(rads)*radius);
    points[i].y=ycenter-(int)(sin(rads)*radius*AspectRatio);
    angle+=step;
    }
  circle(xcenter,ycenter,radius);
  for(i=0;i<MAXPTS;++i)
   {
    for(j=i;j<MAXPTS;++j)
    {
     moveto(points[i].x,points[i].y);
     lineto(points[j].x,points[j].y);
     }
   }
}

 main()
 {
  int driver;
  int mode;
  driver=CGA;
  mode=CGAC0;
  initgraph(&driver,&mode,"");
  setcolor(3);
  setbkcolor(GREEN);
  LineToDemo();
  getch();

  }
为什么用了getch();语句却没效果
2009-11-03 19:57
caribbeansea
Rank: 2
等 级:论坛游民
帖 子:18
专家分:12
注 册:2009-11-3
收藏
得分:0 
忘了说是一个三维立体球的程序
2009-11-03 19:58
jian3000
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2009-10-27
收藏
得分:0 
有哪位前辈来指点下具体的操作吗?怎么才能看到结果?麻烦了,谢谢!
2009-11-03 21:51
xuebiao89021
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2009-11-4
收藏
得分:0 
建议使用visual c++ 编程环境;
不需要使用什么 getch();也不用使用windows.h 里面的Shell调用(即system(“pause”))这是cmd里的Shell操作;
程序写好直接Ctrl+F5就可以看到结果了;要想学好编程不是先学会写程序,而是先学会读懂,多想,看的多了,想的多了就自然会用了;
2009-11-04 14:52
快速回复:新人请教问题!!!
数据加载中...
 
   



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

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