Malil Developers Ответов: 2

C программа для ограничения указателя мыши по кругу


помогите мне, я пытаюсь, но ошибка graphic.h нет такого файла или dirctory я использую dev c++
я пытаюсь следовать коду
#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<math.h>
 
union REGS i, o;
 
int initmouse()
{
   i.x.ax = 0;
   int86(0X33, &i, &o);
   return ( o.x.ax );
}
 
void showmouseptr()
{
   i.x.ax = 1;
   int86(0X33, &i, &o);
}
 
void hidemopuseptr()
{
   i.x.ax = 2;
   int86(0X33,&i,&o);
}
 
void getmousepos(int *x, int *y)
{
   i.x.ax = 3;
   int86(0X33, &i, &o);
   *x = o.x.cx;
   *y = o.x.dx;
 
}
 
void movemouseptr(int x, int y)
{
   i.x.ax = 4;
   i.x.cx = x;
   i.x.dx = y;
   int86(0X33, &i, &o);
}
 
main()
{
   int gd = DETECT, gm, midx, midy, radius, x, y, tempx, tempy;
 
   radius = 100;
 
   initgraph(&gd, &gm, "C:\\TC\\BGI");
 
   if(!initmouse())
   {
      closegraph();
      exit(1);
   }
 
   midx = getmaxx()/2;
   midy = getmaxy()/2;
 
   showmouseptr();
   movemouseptr(midx, midy);
   circle(midx, midy, radius);
 
   x = tempx = midx;
   y = tempy = midy;
 
   while(!kbhit())
   {
      getmousepos(&x, &y);
 
      if((pow(x-midx,2)+pow(y-midy,2)-pow(radius,2))>0)
      {
         movemouseptr(tempx, tempy);
         x = tempx;
         y = tempy;
      }
 
      tempx = x;
      tempy = y;
   }
 
   closegraph();
   return 0;
}


Что я уже пробовал:

помогите мне, я пытаюсь, но ошибка graphic.h нет такого файла или dirctory я использую dev c++

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
ошибка graphic. h нет такого файла или dirctory

Сообщение об ошибке достаточно ясно !
Единственное, что может вам помочь, - это сидеть перед экраном.

Проверьте свой исходный код, говорит он graphics.h и ошибка говорит graphic.h.


Malil Developers

сказать об ошибке графики.h когда я меняю имя заголовочного файла graphic. h ошибка graphic.h нет такого файла или диктора

Рейтинг:
1

CPallini

Такой код использует древний компилятор, который нацелен на DOS Для того чтобы заставить его работать, вы должны установить компилятор (вероятно, в DOS эмулятор среды, такой Раньше[^]).

В качестве альтернативы (более полезной альтернативы, на мой взгляд) вы могли бы переписать свой код для использования Windows API[^] с современным компилятором.