⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 show.h

📁 用C++实现的学生信息管理系统
💻 H
字号:
#ifndef CLASS_CShow_20060132
#define CLASS_CShow_20060132

#define NULL 0

#include "iostream.h"
#include "windows.h"
#include "string.h"
#include "stdio.h"

class CShow{
public:
	enum TYPE{SH_STATIC,SH_LEFTTORIGHT,SH_LTORLINE,
		SH_LEFTSHOWLINE,SH_RAND};
	CShow(){m_nCount=0;m_strpString=NULL;m_nType=SH_STATIC;m_nStep=100;}
	void SetType(char ** string,int count,TYPE type,int step);
    void Show();
private:
    void Static();
	void LeftToRight();
	void LeftToRightLine();
	void LeftShowLine();

	int m_nStep;
	TYPE m_nType;
	char **m_strpString;
	int m_nCount;
};

//	enum TYPE{SH_STATIC=0,SH_UPTODOWN,SH_LEFTTORIGHT,SH_LTORLINE,SH_RAND};
void CShow::SetType(char ** string,int count,TYPE type,int step)
{

	m_nCount=count;
    m_strpString=string;
	m_nStep=step;
	if(type==SH_RAND)
		m_nType=(TYPE)(rand()%5);
	else
		m_nType=type;
}
void CShow::Show()
{
	if(m_strpString)
	{
		switch(m_nType)
        {
        case SH_STATIC:
			Static();
			break;
		case SH_LEFTTORIGHT:
			LeftToRight();
			break;
		case SH_LTORLINE :
			LeftToRightLine();
			break;
		case SH_LEFTSHOWLINE:
			LeftShowLine();
			break;
		}
	}
}
void CShow::Static()
{
	for(int i=0;i<m_nCount;i++)
		cout<<m_strpString[i]<<endl;
}




void CShow::LeftToRight()
{
	int j,i,k;
	int stringlen=strlen(m_strpString[0]);
	char *string=new char[stringlen+1];
	for(j=stringlen-2;j>=0;j--,j--)
	{
		
		system("cls");
		for(i=0;i<m_nCount;i++)
		{
			for(k=0;k<stringlen-j;k++)
				string[k]=m_strpString[i][j+k];
            string[k]='\0';
		    cout<<string<<endl;
		}
		Sleep(m_nStep);
	}
}
void CShow::LeftToRightLine()
{
	int j,i,k;
	int stringlen=strlen(m_strpString[0]);
	char *string=new char[stringlen+1];
	for(j=0;j<m_nCount;j++)
	{
		for(i=stringlen-2;i>=0;i--,i--)
		{
			for(k=0;k<stringlen-i;k++)
				string[k]=m_strpString[j][i+k];
            string[k]='\0';
			printf("\r%s",string);
			Sleep(m_nStep);
		}
		cout<<endl;
	}
}

void CShow::LeftShowLine()
{
	int j,i,k;
	int stringlen=strlen(m_strpString[0]);
	char *string=new char[stringlen+1];
	for(j=0;j<m_nCount;j++)
	{
		for(i=0;i<=stringlen;i++,i++)
		{
			for(k=0;k<i;k++)
				string[k]=m_strpString[j][k];
            string[k]='\0';
			printf("\r%s",string);
			Sleep(m_nStep);
		}
		cout<<endl;
	}
}


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -