私は比較的プログラミングの新人であり、学校のプロジェクトでは自分のプログラムにボタンを使いたいので、Turbo C++で実験的なプログラムを作り、ない。Turbo C++マウスが現在のクリック状態にならない
私の実験プログラムの考え方は、マウスカーソルが出力画面に表示された四角の内側にあり、ユーザーがクリックするとプログラムが終了するということです。 問題は、プログラムが正常に1回だけ動作することです。再度実行すると、マウスボタンがクリックされていなくてもプログラムが終了します(つまり、クリックの状態に関係なくカーソルが四角の内側にあるときにプログラムが終了します)。これは私の実験プログラムです:
#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での作業を許可していないからです。