编写一个c++程序,键盘上按i,j,k,l使光标能上下左右移动 30

 我来答
苍狼_白鹿
推荐于2017-09-15 · TA获得超过11.8万个赞
知道大有可为答主
回答量:1.9万
采纳率:82%
帮助的人:5395万
展开全部
仅供参考。
#include <iostream>
#include <windows.h>
#include <ctime>
#include <conio.h>
using namespace std;
char SetColor(char a)//设置文本颜色
{
switch(a)
{
case 'q':case 'w':case 'e':case 'r':case 't':case 'y':case 'u':case 'i':case 'o':case 'p':case '[':case ']':
case 'Q':case 'W':case 'E':case 'R':case 'T':case 'Y':case 'U':case 'I':case 'O':case 'P':case '{':case '}':
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)
,FOREGROUND_INTENSITY | FOREGROUND_GREEN);return a;//Green
case 'a':case 's':case 'd':case 'f':case 'g':case 'h':case 'j':case 'k':case 'l':case ';':case '\'':
case 'A':case 'S':case 'D':case 'F':case 'G':case 'H':case 'J':case 'K':case 'L':case ':':case '\"':
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)
,FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);return a;//Yellow
case 'z':case 'x':case 'c':case 'v':case 'b':case 'n':case 'm':case ',':case '.':case '/':
case 'Z':case 'X':case 'C':case 'V':case 'B':case 'N':case 'M':case '<':case '>':case '?':
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)
,FOREGROUND_INTENSITY | FOREGROUND_RED);return a;//Red
default:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)
,FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);return a;//White
}
}
int main()
{
int i=0,j=0;
float t=0,f=0;
srand(time(0));
do
{
if(i!=j)
{cout<<"\a";f++;}
else t++;
if((i=33+rand()%94)=='*')
continue;
SetColor(i);
printf("%c",i);
}while((j=getch())!='*');
system("cls");
cout<<"正确率为:"<<t/(t+f)<<endl;
getch();
return 0;
}
virges
2014-11-14 · TA获得超过863个赞
知道小有建树答主
回答量:398
采纳率:50%
帮助的人:197万
展开全部
int x, y;
......
while(1)
{
c=getch();
switch(c)
{
case 'a' :
x>1?x--:x=0; break;
case 's':
y<24?y++:y=24; break;
case 'd':
x<980?x++;x=80; break;
case 'w':
y>1?y--;y=0; break;
default:
beep();
}
if(c=='x') break;
gotoxy(x,y);
}
追问
gotchar  不是要按回车才读取吗?   能不能不按回车,一按键就移动
追答
getch()和getchar()功能不一样。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谁能为我解答1
2014-11-13
知道答主
回答量:70
采纳率:0%
帮助的人:15.4万
展开全部
不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式