在C++中放慢滚动速度

Slow Down Scrolling in C++?

本文关键字:滚动 速度 C++      更新时间:2023-10-16

这是我为显示单词"Hello"而写的代码,它将像广告牌一样滚动。我在这里发现了一个问题,滚动太快,如何使用循环方法来减慢速度?谢谢你的导游!

#include <iostream>
#include <cstdlib>
using namespace std;
void charH()
{
cout << "H   H"<<endl;
cout << "H   H"<<endl;
cout << "HHHHH"<<endl;
cout << "H   H"<<endl;
cout << "H   H"<<endl;
}   
void charE()
{
cout << "EEEEE"<<endl;
cout << "E    "<<endl;
cout << "EEEE "<<endl;
cout << "E    "<<endl;
cout << "EEEEE"<<endl;
}
void charL()
{
cout <<"L     "<<endl;
cout <<"L     "<<endl;
cout <<"L     "<<endl;  
cout <<"L     "<<endl;  
cout <<"LLLLL "<<endl;  
}
void charO()
{
cout <<" OOO "<<endl;
cout <<"O   O"<<endl;
cout <<"O   O"<<endl;
cout <<"O   O"<<endl;
cout <<" OOO "<<endl;
}   
void charEx()
{
cout <<"  !  "<<endl;
cout <<"  !  "<<endl;
cout <<"  !  "<<endl;
cout <<endl;
cout <<"  !  "<<endl;
}
 void displayAll()
{
charH();
cout<<endl;
charE();
cout<<endl;
charL();
cout<<endl;
charL();
cout<<endl;
charO();
cout<<endl;
charEx();
 }  
void Accept(char variable)
{
switch (variable)
{
    case 'H' : charH();
               break; 
    case 'E' : charE();
               break;   
    case 'L' : charL();
               break; 
    case 'O' :charO();
               break; 
    case '!' : charEx();
               break; 
    default : cout << " " << endl; system("pause"); break;
}
}
void AcceptAChar(char choice)
{
Accept(choice); 
}
void Accept6Char(char a, char b, char c, char d, char e, char f)
{
AcceptAChar(a);
cout << endl;
AcceptAChar(b);
cout << endl;
AcceptAChar(c);
cout << endl;
AcceptAChar(d);
cout << endl;
AcceptAChar(e);
cout << endl;
AcceptAChar(f);
}   
void rotate(char& a, char& b, char& c, char& d, char& e, char& f)
{
char temp = a;
a=b;
b=c;
c=d;
d=e;
e=f;
f=temp;
Accept6Char( a,  b,  c,  d,  e, f);
}   
int main()
{
char a = 'H';
char b = 'E';
char c = 'L';
char d = 'L';
char e = 'O';
char f = '!';
for(int i=0; i >=0; i=i++)
{
    system("cls");
    rotate(a, b, c, d, e, f);
}   
}

看看其中一个可以暂时挂起线程或进程的API,比如sleep()或delay()。

在Linux上,有sleep()和usleep()。在带有Borland的MSDOS上,存在delay(),在Windows上,存在sleep()。

您可以在每个字母或行之间使用此函数:

#include <unistd.h>
usleep( microseconds );

来源:睡眠毫秒

请参阅:http://linux.die.net/man/3/usleep