基于W010文本显示代码的增强版本

rjx 2025-09-06 16:14:25

rt

这个版本不会闪屏

#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
void clearScreen() {    
    HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD coordScreen={0,0}; 
    SetConsoleCursorPosition(hConsole,coordScreen);
} const char s[]="This is RJX.\nWelcome!\nAnd thanks for W010's code!\n%%%\n:):):):):)"; 
void dispC(char c,const string& prefix) {
	clearScreen();
	cout<<prefix+c<<endl;
	Sleep(10);
} int main() {
	HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO info;
	GetConsoleCursorInfo(handle,&info);
	info.bVisible=0;
	SetConsoleCursorInfo(handle,&info); 
	string a; 
	for(int k=0;k<sizeof(s);k++) {
		char curr=s[k];
		int start; 
		if(curr=='\n') {
			start=9;
		} else if (isspace(curr)) {
			start=31;
		} else if (isdigit(curr)) {
			start=47;
		} else if (islower(curr)) {
			start=(curr>'m')?122:96;
		} else if (isupper(curr)) {
			start=(curr>'M')?90:64;
		 else {
			start=31;
		} if((islower(curr)&&curr>'m')||(isupper(curr)&&curr>'M')) {
			for(int i=start;i>=curr;i--) {
				dispC(i,a);
			} a.push_back(curr);
		} else {
			for(int i=start;i<=curr;i++) {
				dispC(i,a);
			} a.push_back(curr);
		}
	} return 0;
}

共 6 条回复

wpx001

%%%

SHY

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2024-J-W010

%%% tql

j27eGU
wangjunyi2013

第 33 行没有 }

rjx