2010-07-20 72 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) 

現在,來加入我們在二十一世紀!