在阅读了许多关于同一主题的先前答案后,我终于能够在我的机器上运行图形代码。如果我为轴和半径提供恒定值,则会绘制圆但不是完整的圆。
请让我知道这段代码有什么问题。代码使用 32 位 GCC 用 dev 5.11 编写。
#include <iostream>
#include <conio.h>
#include <graphics.h>
using namespace std;
main()
{
int x_axis, y_axis, x, radius, r, d;
// request auto detection
int graphdriver = DETECT, graphmode, errorcode;
//initialize graphics mode
initgraph(&graphdriver, &graphmode, "");
cout << "Enter circle x axis: ";
cin >> x_axis;
cout << "Enter circle y axis: ";
cin >> y_axis;
cout << "Enter circle radius: ";
cin >> radius;
r=radius;
d=1-r;
while (x<radius)
{
if (d<0)
{
d=d+2*x+3;
}
else
{
d=d+2*(x-radius)+5;
delay(200);
radius=radius-1;
}
x=x+1;
putpixel(x+x_axis,radius+y_axis,1);
putpixel(radius+x_axis,x+y_axis,2);
putpixel(-radius+x_axis,x+y_axis,3);
putpixel(-x+x_axis,radius+y_axis,4);
putpixel(-x+x_axis,-radius+y_axis,5);
putpixel(-radius+x_axis,-x+y_axis,6);
putpixel(radius+x_axis,-x+y_axis,7);
putpixel(x+x_axis,-radius+y_axis,8);
}
getch();
}