bar3d (), график выходит за пределы диапазона - PullRequest
0 голосов
/ 21 июля 2010

Я создал программу для графики, но когда я вписываю любое значение в график, он достигает своего пика

 #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();





}

1 Ответ

0 голосов
/ 21 июля 2010

Ганс прав, но я думаю у вас есть *, где вы хотите / - определение PPD должно быть:

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

Теперь,присоединяйтесь к нам в 21 веке!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...