c ++代码中的预期')'错误

时间:2015-04-06 17:32:17

标签: c++

这是第一个正八分圆中一条线的Bresenham算法。代码几乎来自http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html。但它不起作用,turbo c ++说第4行有一个错误,“)EXPECTED”。我真的不知道如何解决它。如果有任何帮助,我会很高兴。

#include <iostream.h>
#include <graphics.h>
#include <conio.h>
void LINE(int x1, int y1, int x2, int y2)
{
    int dx = x2 - x1;
    int dy = y2 - y1;
    int y = y1;
    int e = 0;
    for (int x = x1; x <= x2; x++)
    {

        putpixel(x, y, color);
        e += dy;
    }
}
 int main()
{
    int x1, x2, y1, y2, color, gd = DETECT, gm;
    initgraph(&gd, &gm, "..\\bgi");
    cout << "\n Enter Start Point:";
    cin >> x1 >> y1;
    cout << "Enter End Point:";
    cin >> x2 >> y2;
    cout << "Enter your Favorite Color:";
    cin >> color;
    line(x1, y1, x2, y2, color);
    getch();
    closegraph();
    return 0;
}

1 个答案:

答案 0 :(得分:3)

void Bresenham(int x1,int y1, int x2, int y2, colour)
                                              ^ you forgot the type here

应该是

void Bresenham(int x1,int y1, int x2, int y2, int colour)

(但你甚至没有在你的代码中使用这个功能)

您还应该使用int main()而不是void main()

int main()
  {
     // your code
    return 0;
  }

你这里也有错误

cout>>"Enter your Favorite Colour:";
     ^
     here

应该是

cout << "Enter your Favorite Colour:";

cin<<colour;

应该是

cin >> colour;

您的通话中还有一个额外的参数line()。从那里删除colour。它应该是

line( x1 , y1 , x2 , y2 );

如果要设置颜色,请使用

setcolor( /* color code */ );

这些是颜色代码

 0   BLACK
 1   BLUE
 2   GREEN
 3   CYAN
 4   RED
 5   MAGENTA
 6   BROWN
 7   LIGHTGRAY
 8   DARKGRAY
 9   LIGHTBLUE
 10  LIGHTGREEN
 11  LIGHTCYAN
 12  LIGHTRED
 13  LIGHTMAGENTA
 14  YELLOW
 15  WHITE

示例,要获得RED,请使用

setcolor( 4 );