Abid Ali
Abid Ali

Reputation: 1747

Cannot open include file: 'graphics.h': No such file or directory

I am using #include "graphics.h" in c++.

I am using visual studio 2008 as my IDE.

The problem is I can't build my code.

Here is my code...

#include<stdio.h>
#include<conio.h>
#include "graphics.h"
#include<stdlib.h>
#include<dos.h>

char game[3][3];
void screen(void);
void introducing(void);
void input(void);
void circle(int,int);
void cross(int,int);

void main(void)
{
int gd=DETECT, gm, errorcode;   /* request auto detection */
char msg[80];
initgraph(&gd,&gm,"\\tc\\bgi"); /* initialize graphics */
errorcode = graphresult();      /* read result of initialization */
if(errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
cleardevice();
introducing();
getche();
cleardevice();
screen();
getche();
closegraph();
}


void introducing(void)                   /*introduction of the project*/
{
    setbkcolor(5);
    int loop;
    setcolor(1);
    int r,c;
    settextstyle(5,0,3);
    outtextxy(250,200,"Loading...");
    rectangle(90,140,510,180);
for(r=0;r<100;r++)
{
for(c=0;c<100;c++)
{
bar(100+c,150,400+c,170);              /*loading bar*/
delay(100);
}
break;
}
cleardevice();
settextstyle(7,0,4);
outtextxy(20,150,"We present you the game tic tac toe!");
delay(2100);
for (loop=0; loop<500; loop++)
{
setcolor(11);
settextstyle(3,0,1);
outtextxy(640-(loop+130),10,"IN THE NAME OF ALLAH, THE MOST GRACIOUS AND THE MOST MERCIFUL!");            /*text moving from right to left*/
settextstyle(7,0,3);
outtextxy(30,300+(loop-300),"Made by:Urooj Sohail & Taleaa Ghori");                                       /*text moving from top to bottom*/
cleardevice();
}
settextstyle(3,0,1);
outtextxy(640-(500+130),10,"IN THE NAME OF ALLAH, THE MOST GRACIOUS AND THE MOST MERCIFUL!");
settextstyle(7,0,3);
outtextxy(30,400,"Made by:Urooj Sohail & Taleaa Ghori");
se ttextstyle(7,0,4);
setcolor(4);
outtextxy(10,100,"Welcome! YOU(X) v/s COMPUTER(0)");
outtextxy(200,150,"Press Enter");
}


void screen(void)               /*game board*/
{
setbkcolor(9);
{
settextstyle(5,0,8);
outtextxy(70,300,"Tic Tac Toe");
}                                                                                                                                                                                                                                       setfillstyle(13,4);
bar(200,120,410,330);                   /*setting the background of the board*/
int row,col;
for(row=0;row<=200;row=row+70)
{
for(col=0;col<=200;col=col+70)
{
setcolor(0);
rectangle(200+col,120+row,270+col,190+row);        /*drawing the board of 9 boxes*/
}
}
input();                        /*taking input through function*/
}

void input()
{
int x,y;
printf("Enter X co-ordinate -- ");
scanf("%d",&x);
printf("Enter Y co-ordinate -- ");
scanf("%d",&y);
}
/*
for(int x=0;x<=2;x++)
{
for(int y=0;y<=2;y++)
{
if(game[x][y]=='X')
cross(x,y);
if(game[x][y]=='O')
circle(x,y);
}
}

if(game[x-1][y-1]=='*')
game[x-1][y-1]='X';
/*if(game[x-1][y-1]==game[0][0])          /*drawing circle
circle(235,155,20);
if(game[x-1][y-1]==game[0][1])
circle(305,155,20);
if(game[x-1][y-1]==game[0][2])             /*till 1st row
circle(375,155,20);

if(game[x-1][y-1]==game[1][0])
circle(235,225,20);
if(game[x-1][y-1]==game[1][1])
circle(305,225,20);
if(game[x-1][y-1]==game[1][2])
circle(375,225,20);                         /*till 2nd row

if(game[x-1][y-1]==game[2][0])
circle(235,295,20);
if(game[x-1][y-1]==game[2][1])
circle(305,295,20);
if(game[x-1][y-1]==game[2][2])             /*till 3rd row
circle(375,295,20);


if(game[x-1][y-1]==game[0][0])              /*drawing cross
line(215,135,255,175);
line(255,135,215,175);
if(game[x-1][y-1]==game[0][1])
line(285,135,325,175);
line(325,135,285,175);
if(game[x-1][y-1]==game[0][2])
line(355,135,395,175);                      /*till 1st row*
line(395,135,355,175);

if(game[x-1][y-1]==game[1][0])
line(215,205,255,245);
line(255,205,215,245);
if(game[x-1][y-1]==game[1][1])
line(285,205,325,245);
line(325,205,285,245);
if(game[x-1][y-1]==game[1][2])
line(355,205,395,245);                      /*till 2nd row*
line(395,205,355,245);

if(game[x-1][y-1]==game[2][0])
line(215,275,255,315);
line(255,275,215,315);
if(game[x-1][y-1]==game[2][1])
line(285,275,325,315);
line(325,275,285,315);
if(game[x-1][y-1]==game[2][2])               *till 3rd row*
line(355,275,395,315);
line(395,275,355,315);
}
*/

Upvotes: 3

Views: 94962

Answers (4)

Knase
Knase

Reputation: 1274

See on this resurce: http://www.cs.colorado.edu/~main/bgi/visual

There are projects with WinBGIm Graphics Library for visual studio 2005/2008/2010

Upvotes: 0

Joe
Joe

Reputation: 42577

Those functions and header are part of the old Borland graphics extensions and are not part of the standard C library or Visual Studio.

Upvotes: 8

Constantinius
Constantinius

Reputation: 35039

with #include "graphics.h" you include a header file of a library into your code. The header file must be in the include paths of visual studio. You can set additional include paths in the project propert within VS 2008.

To do so: right click on Project in the project explorer ->Properties ->Additional Include directories

Upvotes: 6

Andy Finkenstadt
Andy Finkenstadt

Reputation: 3587

Are you by chance trying to use the features from the Borland Graphics Interface for 16-bit DOS applications?

http://www.cprogrammingexpert.com/C/Tutorial/graphics.aspx

Upvotes: 4

Related Questions