欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言之實現(xiàn)控制臺光標(biāo)隨意移動的實例代碼

 更新時間:2016年07月06日 11:24:38   投稿:jingxian  
下面小編就為大家?guī)硪黄狢語言之實現(xiàn)控制臺光標(biāo)隨意移動的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

原理引入windows.h,首先是要獲得輸入的東西,然后通過判斷:

1、方向鍵:執(zhí)行上下左右的移動功能

2 、回車鍵:執(zhí)行換行的功能。

3、普通鍵:輸入功能。

終點就是要獲取到屏幕上的坐標(biāo),當(dāng)按下了方向鍵以后,坐標(biāo)值+1,或者減一,從而實現(xiàn)了光標(biāo)的自由移動。

//C語言實現(xiàn)控制臺中光標(biāo)隨意移動
#include <stdio.h>
#include <windows.h>
#include <conio.h>
 
HANDLE hout;
//獲得輸入
char getInput()
{
  int ch; //輸入字符串
   
  COORD coord; //屏幕上的坐標(biāo)
  CONSOLE_SCREEN_BUFFER_INFO csbi; //控制臺屏幕緩沖區(qū)信息
 
  coord.X=10;
  coord.Y=10;
 
  ch=getch();
 
  //0x0d表示回車,0XE0表示上下左右等鍵的鍵碼
  while(ch==0xE0||ch==0x0d)
  {
    GetConsoleScreenBufferInfo(hout,&csbi);
    coord.X=csbi.dwCursorPosition.X; //得到坐標(biāo)X的值
    coord.Y=csbi.dwCursorPosition.Y; //得到坐標(biāo)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);
  //從鍵盤獲取輸入,如果是方向鍵則執(zhí)行方向功能,如果是回車鍵則換行,如果是字符則輸出
  while(1)
  {
    ch=getInput();
    printf("%c",ch);
  } 
  getchar(); 
}

以上這篇C語言之實現(xiàn)控制臺光標(biāo)隨意移動的實例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言實現(xiàn)逆序輸出詳細(xì)

    C語言實現(xiàn)逆序輸出詳細(xì)

    這篇文章主要介紹了C語言實現(xiàn)逆序輸出。主要實現(xiàn)C語言實現(xiàn)對數(shù)組元素依次賦值然后按照逆序輸出,下面文章小編將詳細(xì)解說,需要的朋友可以參考一下
    2021-10-10
  • 詳解MFC/C++調(diào)用易語言的整數(shù)型和文本型與VS2010互動

    詳解MFC/C++調(diào)用易語言的整數(shù)型和文本型與VS2010互動

    在本篇文章里我們給大家分享了MFC/C++調(diào)用易語言的整數(shù)型和文本型與VS2010互動相關(guān)知識點內(nèi)容,有興趣的朋友們可以參考下。
    2018-11-11
  • c語言中回調(diào)函數(shù)的使用以及實際作用詳析

    c語言中回調(diào)函數(shù)的使用以及實際作用詳析

    回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù),如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個函數(shù),當(dāng)這個指針被用來調(diào)用其所指向的函數(shù)時,我們就說這是回調(diào)函數(shù),這篇文章主要給大家介紹了關(guān)于c語言中回調(diào)函數(shù)的使用以及實際作用的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 利用Matlab繪制優(yōu)美的k線圖

    利用Matlab繪制優(yōu)美的k線圖

    本期又是一個花里胡哨的數(shù)據(jù)可視化,前兩天刷到了耐克的視覺設(shè)計師Gladys Orteza繪制的k線圖作品,把沉悶的股票圖變成了精彩的風(fēng)景,但是那些大部分是真的完全看不清,我這里挑選了幾個能看清的k線圖風(fēng)格將其用MATLAB進行了實現(xiàn)
    2022-10-10
  • C語言修煉之路靈根孕育源流出?初識C言大道生上篇

    C語言修煉之路靈根孕育源流出?初識C言大道生上篇

    C語言是一門面向過程、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產(chǎn)生少量的機器語言以及不需要任何運行環(huán)境支持便能運行的高效率程序設(shè)計語言
    2022-03-03
  • 算法學(xué)習(xí)入門之使用C語言實現(xiàn)各大基本的排序算法

    算法學(xué)習(xí)入門之使用C語言實現(xiàn)各大基本的排序算法

    這篇文章主要介紹了使用C語言實現(xiàn)各大基本的排序算法的方法,同時也對算法的選擇問題上給出了一些建議,的朋友可以參考下
    2015-12-12
  • c++二叉樹的幾種遍歷算法

    c++二叉樹的幾種遍歷算法

    c++二叉樹的幾種遍歷算法,需要的朋友可以參考一下
    2013-02-02
  • C語言 如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù)

    C語言 如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù)

    這篇文章主要介紹了C語言中如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 深入解析C++編程中的運算符重載

    深入解析C++編程中的運算符重載

    這篇文章主要介紹了C++編程中的運算符重載,運算符重載是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-04-04
  • c++報錯問題解決方案lvalue required as left operand of assignment

    c++報錯問題解決方案lvalue required as left opera

    這篇文章主要介紹了c++報錯:lvalue required as left operand of assignment,出現(xiàn)此錯誤原因,是因為,等號左邊是不可被修改的表達(dá)式或常量,而表達(dá)式或常量不能作為左值,需要的朋友可以參考下
    2023-01-01

最新評論