当前位置:首页 » 编程语言 » 在c语言中怎么控制上下左右
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

在c语言中怎么控制上下左右

发布时间: 2022-04-12 02:09:28

c语言问题,如何控制字符上下左右~~

/*TC下编译通过*/
#include<stdio.h>
#include<time.h>
#include<conio.h>

#define ESC 0x011b
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define RIGHT 0x4d00

void main()
{
int key=0;
int x=1;
int y=1;
gotoxy(x,y);
printf("%c",N);

while (key != ESC)
{
while (bioskey(1) == 0);
key = bioskey(0);

switch (key)
{
case UP:
clrscr();
gotoxy(x,y-1);
printf("%c",N);
y=y-1;
break;
case DOWN:
clrscr();
gotoxy(x,y+1);
printf("%c",N);
y=y+1;
break;

case LEFT:
clrscr();
gotoxy(x-1,y);
printf("%c",N);
x=x-1;
break;

case RIGHT:
clrscr();
gotoxy(x+1,y);
printf("%c",N);
x=x+1;
break;

default:
break;
}
}
}

关于vc的编程,请参考windows程序设计第五版和MFC核心编程

⑵ c语言程序,实现上下键的操作,高手进

对于键盘输入,都是有操作系统来处理的接受,并传给程序的,对于普通的c语言程序系统传入,对于控制键消息一般都被系统截取并处理 ,你想接受处理控制键,需要系统调用获得消息,这时需要一些中间库或者特殊的系统调用,如windows的mfc 钩子函数等等,linux的一些现成的库和read select系统调用等等

⑶ C语言 关于用键盘的上下左右箭头控制移动的问题

int x=1,y=1,i; // 用 1,与你的条件语句匹配
int cmd,keyCode; // 用 int 型

if(keyCode==75){x=x-1;if (x<=0)x=1;}
else if(keyCode==77){++x;}
else if(keyCode==72){y=y-1;if (y<=0) y=1;}
else if(keyCode==80){++y;}

⑷ c语言怎样实现用上下左右控制程序执行

给你个思路吧,读取键盘输入,用5个if,就是这样。

⑸ C语言控制上下左右的函数是什么

希望这个能对你有帮助:#include

#include
int
main(void){
int
c
;
while(1){
c
=
getch();
if(c==0)
c=getch();
//
getch在遇到方向键时会返回0
再使用getch便会返回扫描码
if(
c
==
72
)
printf("UP\n");
//
我帮你把上下左右数据调出来
你用的时候define成
UP来使用这个值就可以了
if
(
c
==
80)
printf("DOWN\n");
if
(
c
==
75)
printf("LEFT\n");
if
(
c
==
77)
printf("RIGHT\n");
if(c
==
113)
//按q退出
break;
}
return
0;
}

⑹ C语言如何能让这个图像用上下左右控制数组

C/C++里面的数组名字会退化为指针,所以数组名a实际指的是数组的第一个元素的地址。而数组名作为指针来讲有特殊性,它正在它所指向的内存区域中,&a的值和a的数值是相同的(可以输出观察一下),但是类型和意义不同。而指针的加法操作和指向的数据类型密切相关。

⑺ c语言怎么按方向键控制程序 c = getchar(); 我按了上 但是没有反应

在C代码中可设置如下自编的intokey( )函数,用以接收方向键值。库函数kbhit( )是检测是否有按键被按下,库函数getch( )是读取键盘按键值的,不需按回车,也不回显。dir是代表方向的变量,根据不同的方向键值,让dir取1到4这四个不同的值。其它的程序段就可根据dir的值让东西朝某个方向移动。方向键按下后会产生2个值,第一个是224,另一个分别为上下左右的72、80、75、77,因此要读取2次值来判断。要包含#include<conio.h> .

void intokey( )

{ int flag;

if ( kbhit( ) ) //判断有键按下时才执行下面的操作

{ flag = getch( ); //用flag来获取键值

if (flag==224) flag = getch( ); //值为224时表示按下了方向键,要再次获取才行

if (flag==72 && dir != 2) dir = 1; //方向键为“上”且原方向不为下时,让dir=1.

if (flag==80 && dir != 1) dir = 2; //方向键为“下”且原方向不为上时,让dir=2.

if (flag==75 && dir != 4) dir = 3; //方向键为“左”且原方向不为右时,让dir=3.

if (flag==77 && dir != 3) dir = 4; //方向键为“右”且原方向不为左时,让dir=4.

}

}

注:这个函数来源于某些“贪吃蛇”的代码,略有修改,足可获取方向键值。其中的1、2、

3、4分别对应着上下左右。

⑻ 在C语言中,怎么编写用光标键控制一个字符上下左右移动。

先用背景色在字符原地打印一次,再移动到要打印的位置,设置为前景色,打印该字符.

⑼ c语言如何使用键盘上的上下左右键

用bioskey()函数可以实现读取键盘的上下左右键


函数原型:int bioskey (int cmd)

说 明:bioskey()的函数原型在bios.h中,即必须包含头文件#include<bios.h>


读取方向键可以用下面的程序啊!

#include<stdio.h>
#include<bios.h>
#defineKey_Up0x4800//向上方向键
#defineKey_Down0x5000//向下方向键
#defineKey_Right0x4d00//向右方向键
#defineKey_Left0x4b00//向左方向键
voidmain()
{
intkey=bioskey(0);
switch(key)
{
caseKey_Up:{printf("向上方向键被按下");break;}
caseKey_Down:{printf("向下方向键被按下");break;}
caseKey_Left:{printf("向左方向键被按下");break;}
caseKey_Right:{printf("向右方向键被按下");break;}
}
}

⑽ 关于c语言如何捆绑上下左右四个键

上下左右没有对应的ascii码。在按下方向按键的时候会out组合码,也就是一次按键,两个getch都会有值。
代码修改成
===============
#include

void
main()
{
int
c,d;
c
=
getch();
d
=
getch();
printf("[
%d
%d
]\n",c,d);
}
===============
得到以下结果
[
224
72
]
[
224
80
]
[
224
75
]
[
224
77
]
参照http://..com/question/144253607.html,会有一个更方便的代码,让你连续获取ascii。