zoukankan      html  css  js  c++  java
  • C语言使用getch()读取方向键

    初衷:

    在解决N皇后问题时需要使用方向键实现布局切换,于是就在网上查找资料,感觉自己收获不小,就把自己总结的一些知识点给记录下来。

    总结:

    1.getch()读取字符需要一次。

    2.getch()读取方向键或功能键需要两次。

    (第一次的返回值为0或者224(方向键)
    getch函数在读取一个功能键或者箭头(方向)键盘时,函数会返回两次,第一次调用返回0或者0xE0,第二次调用返回实际的键值。

    72,80,75,77返回值分别是↑↓←→。

    代码演示:

     while (1){   //无限循环
            //使用getch()读取方向键,读取方向键需要读取两次
              if (ch1=getch()){
                 ch2=getch();//第一次调用getch(),返回值224
                 switch (ch2){//第二次调用getch()
                 case 75: {  //←的ascll
                     if(current-1>=0){
                        current--;
                     }else{
                         current = tol-1;
                     }
                        system("cls
    ");
                        cout<<"请输入皇后的数量:"<<n<<endl;
                        cout<<"一共有"<<tol<<"种布局"<<endl<<endl;
                        show(current);
                    break;
                 }
                 case 77: {
                     if(current+1<=tol-1){
                        current++;
                     }else{
                         current = 0;
                     }
                        system("cls
    ");
                        cout<<"请输入皇后的数量:"<<n<<endl;
                        cout<<"一共有"<<tol<<"种布局"<<endl<<endl;
                        show(current);
    
                     break;
                 }
                 default:cout<<"输入错误!"<<endl;break;
    
                 }
              }
  • 相关阅读:
    ffplay源码分析05 ---- 音频重采样
    ffplay源码分析04 ---- 音频输出
    RTMP协议01 ---- 握手
    ffplay源码分析03 ---- 音频解码线程
    ffplay源码分析03 ---- 视频解码线程
    ffplay源码分析02 ---- 数据读取线程
    注解方式实例化Java类
    构造方法与setter方法
    ②初识spring
    分布式编程
  • 原文地址:https://www.cnblogs.com/1305536110-dym/p/14975348.html
Copyright © 2011-2022 走看看