C++如何让光标移动

刚接触c++不久,需要做一个数独的program,要求用键盘方向键控制光标上下左右移动来填写数独空位,我先做了个关于光标的,但在debug里无论如何都移动不了,求大神解答... 刚接触c++不久,需要做一个数独的program,要求用键盘方向键控制光标上下左右移动来填写数独空位,我先做了个关于光标的,但在debug里无论如何都移动不了,求大神解答。
#include<stdio.h>
#include<windows.h>
include<conio.h>
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define RIGHT 0x4d00void
gotoxy(int x, int y)
{COORD coord;coord.X = x;coord.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);}

void main()
{int x=40;int y=40;gotoxy(x,y);char key;key=getch();do
{
if(key==UP)
{y++;gotoxy(x,y);
}
else if(key==DOWN){y--;gotoxy(x,y);
}
else if(key==LEFT)
x--;gotoxy(x,y);}
else if(key==RIGHT)
{
x++;gotoxy(x,y);
}
}while(1);
}
粘贴的时候也许少粘贴了几个#,见谅啊
展开
 我来答
cdyzxy
2013-02-04 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3709万
展开全部
getch()只能返回一个字符的ASCII码,而竖瞎铅你定义的控制符余好要多于一个字符,可以getch两次再拼接起来得到完整的控制码。(问题在于你的key是char型的,而UP、DOWN、LEFT、RIGHT都是int型的互相比较会出问神巧题)
tattackor
2015-11-02 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:884万
展开全部
1、可以使用SetCursorPos函数
  函数功能:该函数把光标移到屏幕的指定位置。如果新位置不在由消吵态 ClipCursor函数设置的屏幕矩形区域之内,则系统自动调整坐标,使得光标在矩形之内。  
函数原型:BOOL SetCursorPos(int X,int Y); 
 参数:  X:指定光标的新的拿源X坐标,以屏幕坐标表示。  Y:指定光标的新的Y坐标,以屏幕坐标表示。  
返回值:如果成功,返回非零值;如果失败,返回值是零,若想获得更多错误信息,请调用GetLastError函数。 碰悄 

2、例如:
SetCursorPos( x,y ); 移动鼠标到x,y位置
mouse_event( MOUSEEVENTF_LEFTDOWN, x,y,0,0 ); 左键按下
mouse_event( MOUSEEVENTF_RIGHTDOWN, x,y,0,0 ); 右键按下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式