2010-07-20 35 views
0

我在显卡做了一个节目,但是当过我的图形输入任何值达到其峰值bar3d(),图走出去的范围

#include <graphics.h> 
#include <dos.h> 
#include <graphics.h> 
#include <conio.h> 
#define LEFT 5 
#define BOT 300 
#define BWIDTH 10 
#define TOPFLAG 1 
#define BDEPTH 4 
#define SEPARATION 12 
#define SPACE 15 
#define N 10 
#define TOP 5 
#define PPD (float(BOT)-TOP)*100 
#define DI (BWIDTH+SEPARATION) 
#define WIDTH (N+1)*DI 
void main(void) 
{ 
    int driver=DETECT; 
    int mode; 
    initgraph(&driver,&mode,"C:\\TC\\bgi"); 
    cleardevice(); 
    rectangle(LEFT,TOP,LEFT+WIDTH,BOT); 
    int arr[N]={1,2,3,4,5,6,7,8,9,10}; 
    for(int i=0;i<N;i++) 
    { 
    setfillstyle(SOLID_FILL,1+i%3); 
    bar3d(SPACE+LEFT+i*DI,BOT-(arr[i]*PPD),LEFT+SPACE+i*DI+BWIDTH,BOT,BDEPTH,TOPFLAG); 



} 



    getch(); 
    closegraph(); 





} 
+2

投票结束的理由“问20年太迟了。” – 2010-07-20 22:40:27

+0

我被教导:/ – 2010-07-22 13:25:19

回答

0

汉斯是正确的,但我认为你有一个*您想要一个/ - 的PPD的定义应该是:

#define PPD (((BOT)-(TOP))/100.0) 

现在,来加入我们在二十一世纪!