2015-04-06 31 views
-7

這是Bresenham算法,用於第一個正八分圓中的一行。代碼幾乎來自http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html。但它不工作,並且turbo C++說第4行有錯誤,「)預期」。我真的不知道如何解決它。如果有任何幫助,我會很高興。預期的')'在C++代碼中的錯誤

#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; 
} 
+3

「顏色」*什麼*? –

+0

顯然它拼寫爲「顏色」 –

+1

@ ArunA.S我不會在看到可怕的''時這麼想。很多人仍然被告知使用turbo C++,這是驚人的。 – NathanOliver

回答

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); 
+0

我做了更正,但它沒有奏效。 – navid94

+1

@ navid94您需要比「它沒有工作」更具描述性 – NathanOliver

+0

它在第30行中給出了一個錯誤:調用行(int,int,int,int)和第33行中的額外參數:函數應該返回一個值 – navid94