acblaa 2023-11-22 15:30 采纳率: 0%
浏览 3

随机点名程序c++,怎么实现光标掩盖和按住空格进行

. 编写一个随机点名程序,要求: 1)按住空格键不放,名字快速地一个一个显示在屏幕上,可以显示在同一屏幕区域,新名字可以把旧名字掩盖; 2)松开空格键时,名字停止跳动,此时所显示的名字即是要回答问题的同学;要求用c++

  • 写回答

2条回答 默认 最新

  • 柯本 2023-11-22 15:54
    关注

    只能出题目的根本不懂C++。
    C++是跨平台系统,对界面的控制 ,不是C++本身的功能,那个是系统的功能,如windwos及linux下,用C++对它们的界面编程程序完全不同的,而在某些单片机下,根本没有界面的。
    windows 下微软有类似的例子,你可参考:https://learn.microsoft.com/zh-cn/windows/win32/controls/scroll-text-in-scroll-bars
    另外,我写了个参考,为兼容多个编译器,我的程序不清屏,不退出,基于windows

    #include <cstdio>
    #include <cstdlib>
    #include <io.h>
    #include <iostream>
    #include <windows.h>
    using namespace std;
    static char names[][20] = {
        "碧清韵  ", "澹台菀  ", "钭玲玲  ", "滑晓畅  ", "学迎    ", "程娅    ",
        "撒添智  ", "介宜然  ", "那忆彤  ", "廖建业  ", "衡碧    ", "庞桐欣  ",
        "关怜双  ", "嬴临    ", "蛮丝琪  ", "柴晴    ", "项雪艳  ", "才吉    ",
        "古泽洋  ", "龙水晶  ", "板雨南  ", "夔雅容  ", "靖书萱  ", "实友    ",
        "连若淑  ", "姒新筠  ", "香惜雪  ", "雪朵    ", "屈红旭  ", "寸妍芳  ",
        "莘浩然  ", "戚咏思  ", "夏侯夏之", "微生思烟", "完颜叶飞"};
    void gotoxy(int x, int y) //定位到第Y行的第x列
    {
      HANDLE houtput;
      COORD loc;
      loc.X = x;
      loc.Y = y;
      houtput = GetStdHandle(STD_OUTPUT_HANDLE);
      SetConsoleCursorPosition(houtput, loc);
      return;
    }
    int main()
    {
      int i;
      printf("按空格开始。。。\n");
      while (1)
        {
          while (GetAsyncKeyState(VK_SPACE))
            {
              i = rand() % 35;
              gotoxy(10, 10);
              puts(names[i]);
              Sleep(200);
            }
        }
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 11月22日