1

在阅读了许多关于同一主题的先前答案后,我终于能够在我的机器上运行图形代码。如果我为轴和半径提供恒定值,则会绘制圆但不是完整的圆。

请让我知道这段代码有什么问题。代码使用 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();
}
4

0 回答 0