21xrx.com
2024-09-20 00:02:37 Friday
登录
文章检索 我的文章 写文章
简单的C++程序:代码雨
2023-06-22 06:58:25 深夜i     --     --
C++ 简单 程序 代码雨

C++是一门非常流行的编程语言,它可以用于开发各种类型的程序,从简单的控制台应用程序到复杂的多线程网络应用程序。而“代码雨”就是一个非常经典的C++小程序,它可以让初学者感受到C++语言的魅力。

“代码雨”程序的原理非常简单。它会在控制台中不断输出一些随机的字符,就像是在下雨一样。这些字符的颜色和下落的速度也是随机的,因此代码雨看起来非常酷炫。

下面是一个简单的代码雨程序:


#include <iostream>

#include <windows.h>

const int SCREEN_WIDTH = 80;

const int SCREEN_HEIGHT = 25;

int main()

{

  DWORD dwBytesWritten = 0;

  CHAR_INFO consoleBuffer[SCREEN_WIDTH * SCREEN_HEIGHT];

  HANDLE hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);

  SetConsoleActiveScreenBuffer(hConsole);

  COORD bufferSize = SCREEN_HEIGHT ;

  COORD bufferCoord = 0 ;

  SMALL_RECT region = 0;

  SetConsoleWindowInfo(hConsole, TRUE, &region);

  SetConsoleScreenBufferSize(hConsole, bufferSize);

  CHAR_INFO charInfo[SCREEN_WIDTH * SCREEN_HEIGHT];

  for (int i = 0; i < SCREEN_WIDTH * SCREEN_HEIGHT; ++i)

  {

    charInfo[i].Char.AsciiChar = ' ';

    charInfo[i].Attributes = 0;

  }

  while (true)

  {

    for (int i = 0; i < SCREEN_WIDTH; ++i)

    {

      if (rand() % 5 == 1)

      {

        charInfo[i].Char.AsciiChar = (char)(rand() % 94 + 33);

        charInfo[i].Attributes = rand() % 15;

      }

      else

      {

        charInfo[i].Attributes = 0;

      }

    }

    WriteConsoleOutput(hConsole, charInfo, bufferSize, bufferCoord, &region);

    Sleep(20);

  }

  CloseHandle(hConsole);

  return 0;

}

代码的注释已经十分详细,初学者可以通过自己动手操作改变这些参数,从而快速掌握C++编程的基本语法和方法。

总的来说,“代码雨”是一个很好的C++入门小程序。它让人们可以快速感受到C++的强大和魅力,同时对于初学者也极为友好。如果你想尝试一下C++编程,可以试着写一个自己的“代码雨”程序,相信你一定会有所收获!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复