-7

This is a Bresenham algorithm for a line in the first positive octant. The code is almost from the http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html. but it doesnt work and the turbo c++ says there is an error in the line 4, ") EXPECTED". I really don't know how to solve it. I would be happy if there is any help.

#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;
}
genpfault
  • 51,148
  • 11
  • 85
  • 139
navid94
  • 11
  • 1
  • 5

1 Answers1

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

It should be

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

( But you are not even using this function in your code )

You should also use int main() over void main()

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

You also have an error here

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

it should be

cout << "Enter your Favorite Colour:";

and

cin<<colour;

should be

cin >> colour;

You also have an extra parameter in your call yo line(). Remove that colour from there . It should be

line( x1 , y1 , x2 , y2 );

If you want to set the color, use

setcolor( /* color code */ );

These are the color codes

 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

Example, to get RED, you use

setcolor( 4 );
Arun A S
  • 6,421
  • 4
  • 29
  • 43