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;
    
                 }
              }
  • 相关阅读:
    hibernate关联关系
    数据结构之二叉树java实现
    队列java实现
    栈java实现
    原生JS结合cookie实现商品评分组件
    JAVA学习第一阶段(2)
    JAVA学习第一阶段(1)
    如何修改hosts并保存
    运行Apache时出现the requested operation has failed
    实现一元多项式
  • 原文地址:https://www.cnblogs.com/1305536110-dym/p/14975348.html
Copyright © 2011-2022 走看看