原理引入windows.h,首先是要获得输入的东西,然后通过判断:

1、方向键:执行上下左右的移动功能

2 、回车键:执行换行的功能。

3、普通键:输入功能。

终点就是要获取到屏幕上的坐标,当按下了方向键以后,坐标值+1,或者减一,从而实现了光标的自由移动。

//C语言实现控制台中光标随意移动

#include

#include

#include

HANDLE hout;

//获得输入

char getInput()

{

int ch; //输入字符串

COORD coord; //屏幕上的坐标

CONSOLE_SCREEN_BUFFER_INFO csbi; //控制台屏幕缓冲区信息

coord.X=10;

coord.Y=10;

ch=getch();

//0x0d表示回车,0XE0表示上下左右等键的键码

while(ch==0xE0||ch==0x0d)

{

GetConsoleScreenBufferInfo(hout,&csbi);

coord.X=csbi.dwCursorPosition.X; //得到坐标X的值

coord.Y=csbi.dwCursorPosition.Y; //得到坐标Y的值

//如果是回车

if(ch==0x0d)

{

coord.X=0;

coord.Y++;

SetConsoleCursorPosition(hout,coord);

break;

}

ch=getch();

//上

if(ch==0x48)

{

if(coord.Y!=0)coord.Y--;

}

//下

else if(ch==0x50)

{

coord.Y++;

}

//左

else if(ch==0x4b)

{

if(coord.X!=0){coord.X--;}

}

//右

else if(ch==0x4d)

{

if(coord.X!=79)coord.X++;

else

{

coord.X=0;

coord.Y++;

}

}

SetConsoleCursorPosition(hout,coord);

ch=getch();

}

return ch;

}

int main()

{

char ch;

hout=GetStdHandle(STD_OUTPUT_HANDLE);

//从键盘获取输入,如果是方向键则执行方向功能,如果是回车键则换行,如果是字符则输出

while(1)

{

ch=getInput();

printf("%c",ch);

}

getchar();

}

以上这篇C语言之实现控制台光标随意移动的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

用坐标实现物体的移动c语言,C语言之实现控制台光标随意移动的实例代码相关推荐

  1. c语言控制台光标的坐标范围,C语言之实现控制台光标随意移动的实例代码

    原理引入windows.h,首先是要获得输入的东西,然后通过判断: 1.方向键:执行上下左右的移动功能 2 .回车键:执行换行的功能. 3.普通键:输入功能. 终点就是要获取到屏幕上的坐标,当按下了方 ...

  2. 统计一段英文中单词的个数c语言,C语言统计一篇英文短文中单词的个数实例代码...

    具体代码如下所述: #include #define N 1000 void main(){ char en[N][81]; int i,j,num=0,n,state; //num 用来统计单词的个 ...

  3. c语言对一篇英文文章进行统计,C语言统计一篇英文短文中单词的个数实例代码...

    具体代码如下所述: #include #define N 1000 void main(){ char en[N][81]; int i,j,num=0,n,state; //num 用来统计单词的个 ...

  4. 坐标移动c语言,C语言 坐标移动详解及实例代码

    搜索热词 题目描述 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动.从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面. ...

  5. 已知两圆圆心坐标及半径求两圆交点 (C语言|参数方程求解)

    已知两圆圆心坐标及半径求两圆交点 (C语言|参数方程求解) 在一个二维平面上给定两个圆的圆心横纵坐标.半径共6个参数, 求交点. 这个问题无非是解二元二次方程组.普通二元二次方程联立消元求解的困难在于 ...

  6. php连接数据库语言,PHP语言连接MYSQL数据库实例代码

    本文主要向大家介绍了PHP语言连接MYSQL数据库实例代码,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 现在做的项目需要php连接mysql数据库,虽然之前学过,但是现在基本上都给忘 ...

  7. 怎么理解python语言_Python语言入门1-理解Python语言

    本文主要向大家介绍了Python语言入门的理解Python语言,通过具体的内容向大家展现,希望对大家学习Python语言入门有所帮助. python是解释型的脚本语言 解释型语言 与C/C++等编译型 ...

  8. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...

    本文主要向大家介绍了Java语言基础学习之流程控制语句和跳转控制语句实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.流程控制语句 在一个程序执行的过程中,各条语句的执行顺 ...

  9. window直接运行不需要环境的软件是什么语言开发的_C语言为何不会过时?你需要掌握多少种语言?_C 语言...

    01为什么C语言不会过时 评价任何一门编程语言,都是招人骂的.永远是这样.就像是春寒料峭的季节, 街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:"s b!"这个在 ...

最新文章

  1. 将横排文本变成竖排文本
  2. 通过正则表达式验证日期
  3. boost::process::pipe相关的测试程序
  4. Linux服务-FTP文件服务器部署
  5. UE4 HTC VIVE - 番外篇 - 局域网联机(一)
  6. seafile安装教程 Linux,CentOS7安装seafile开源版
  7. 杨森翔书法-明月双溪水
  8. HTTP和HTTPS的区别以及计算机网络常见面试题总结
  9. 设计模式之GOF23桥接模式
  10. 实战 Kaggle 比赛:图像分类(CIFAR-10) 动手学深度学习v2
  11. wps怎么将字体变得很大_wps如何将字体无限放大
  12. OPENSSL s_client 实例测试- SSL连接单向验证
  13. 思维导图带你了解22个职场学习网站!亲测好用
  14. 微信小程序之猜拳游戏
  15. 什么样的微信头像最撩人?
  16. React-Native 高仿“掘金”App 注册和登录界面
  17. Necklace(树状数组+离线操作)
  18. 今天给大家带来满满的干货:华为的薪资与奖金
  19. 【选址问题】二进制灰狼算法解决无容量选址问题【Matlab】
  20. 7_6_Q题 Brackets 题解[POJ2955](区间DP)

热门文章

  1. React Hooks - useEffect通俗易懂
  2. 循序渐进学.Net Core Web Api开发系列【14】:异常处理
  3. 解决 minicom 不能接收键盘输入问题
  4. C#正则表达式引发的CPU跑高问题以及解决方法
  5. pymysql模块操作数据库及连接报错解决方法
  6. Spring Cloud Gateway中异常处理
  7. JUC之CountDownLatch的源码和使用场景分析
  8. React源码学习——ReactClass
  9. Nginx之反向代理与负载均衡实现动静分离实战
  10. tableView相关