必备头文件

#include<bits/stdc++.h>
#include<windows.h>
#include<time.h> 
#include<conio.h>
#include<stdio.h>

创建Slowsay函数

目的:实现字符串缓慢输出

那个数字可以调整:把它改到1000就是一秒一个

void Slowsay(string a){
	int l=a.size();
	for(int i=0;i<l;i++){
		cout<<a[i];
		Sleep(10);
	}
	printf("\n");
}

调用

Slowsay("1111");

主函数中刷新窗口

最好用到while

while(1){
  system("cls");
}

按下某个键

char tt;
while(tt!='y') tt=_getch();

颜色(要用到一个函数)

void Color(int a)
{
	if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
	if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
	if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
	if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
	if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
	if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
	if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
	if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN);
	if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
	if(a==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|BACKGROUND_INTENSITY|BACKGROUND_RED);
	if(a==10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE|BACKGROUND_INTENSITY|BACKGROUND_BLUE);
}

或者


#include <iostream>
#include <windows.h>

// Windows颜色常量
#define COLOR_RED      FOREGROUND_RED | FOREGROUND_INTENSITY
#define COLOR_GREEN    FOREGROUND_GREEN | FOREGROUND_INTENSITY
#define COLOR_BLUE     FOREGROUND_BLUE | FOREGROUND_INTENSITY
#define COLOR_YELLOW   FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY
#define COLOR_RESET    FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE

void setColor(WORD attr) {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), attr);
}

int main() {
	setColor(COLOR_RED);
	std::cout << "红色文本\n";
	
	setColor(COLOR_GREEN);
	std::cout << "绿色文本\n";
	
	setColor(COLOR_YELLOW);
	std::cout << "黄色文本\n";
	
	setColor(COLOR_RESET);
	return 0;
}

调用输出

for(int i=1;i<=10;i++)Color(i),cout<<"点赞"<<' ';

在特定位置输出

void SetPos(int x,int y)
{
	COORD pos; pos.X=y,pos.Y=x;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}

x表示行数,y表示列数

SetPos(x,y);cout<<"mg";

在int main后加入这行代码可以让两次运行的随机数不同

srand(time(0));

在程序循环中实时判断按下某个键

#include <iostream>
#include <windows.h>
#define KEY_DOWN(vKey) ((GetAsyncKeyState(vKey) & 0x8000) ? 1 : 0)

int main() {
    while (true) {
        if (KEY_DOWN('W')) {
            std::cout << "W key pressed" << std::endl;
        }
        Sleep(10);
    }
    return 0;
}