Мышь Turbo C++ не принимает текущий статус клика

Я относительно новичок в программировании, и для своего школьного проекта я хочу использовать кнопки в своей программе, поэтому я сделал экспериментальную программу на Turbo C++, чтобы проверить, работает ли моя логика или нет.

Идея моей экспериментальной программы заключается в том, что когда курсор мыши находится внутри квадрата, отображаемого на экране вывода, и пользователь щелкает, программа должна выйти. Проблема в том, что программа работает как положено только один раз. При повторном запуске программа завершается, даже если кнопка мыши не нажата (то есть программа завершается в момент, когда курсор находится внутри квадрата, независимо от статуса щелчка). Это моя экспериментальная программа:

#include<process.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
union REGS in,out;
void main()
{
 int gdriver = DETECT,gmode;
 int xp,yp,cl=0;
 int x,y;
 initgraph(&gdriver,&gmode,"C:\\Turboc3\\BGI");
 x=getmaxx()/2;
 y=getmaxy()/2;
 in.x.ax=4;
 in.x.cx=10;
 in.x.dx=10;
 int86(51,&in,&out);
 in.x.ax=1;
 int86(51,&in,&out);
 setcolor(RED);
 rectangle((x-100),(y-100),x,y);
 in.x.ax=3;
 do    
 {   
  int86(51,&in,&out);
  cl=out.x.bx;       //Status of click
  xp=out.x.cx;       //X-co-ordinate
  yp=out.x.dx;       //Y-co-ordinate
 }while(!((cl==1)&&(((xp>x-100)&&(xp<x))&&((yp>y-100)&&(yp<y))));
}

Если есть проблема в моей логике, пожалуйста, скажите мне, что это такое. Любая помощь высоко ценится. И, пожалуйста, не делайте снисходительных замечаний по поводу моего выбора компилятора. Я вынужден работать в Turbo C++, потому что моя школа не позволяет мне работать в какой-либо другой IDE.


person Akshay S N    schedule 24.11.2016    source источник


Ответы (1)


Выбросьте TurbidCrap++ в мусорное ведро, ему более 20 лет, и с тех пор мимо него прошло полдюжины версий Windows. Подумайте об этом, люди, которые использовали это в прошлом, давно перестали его использовать. Осталось мало людей, которые действительно могли бы ответить на ваши вопросы, и еще меньше людей могут возиться с ТС.

Получите компилятор, который совместим с вашей настоящей реальной ОС, а не с какой-то хакерской эмуляцией окаменелой DOS.

Примеры - кодовые блоки

person Ayush Rikhra    schedule 22.09.2017
comment
Факт 100. Канавка Турбо c. Codeblocks или eclipse послужат вам лучше. - person Raknos13; 28.09.2019