21xrx.com
2025-07-04 11:18:57 Friday
登录
文章检索 我的文章 写文章
简单的C++程序:代码雨
2023-06-22 06:58:25 深夜i     15     0
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++编程,可以试着写一个自己的“代码雨”程序,相信你一定会有所收获!

  
  

评论区