#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;
class Interface
{
private:
int line; // 操作数的行数
string *name;
static int nowline;
public:
void GetMessage(int line1,string *name1)
{
line=line1;
name=new string [line];
name=name1;
}
static void AddNowLine()
{
nowline++;
}
void ShowHead()
{
ShowSpace();
for(int i=0;i<26;i++)
{
if(i==0)
cout<<"╔";
else
{
if(i==25)
cout<<"╗";
else
cout<<"═";
}
}
cout<<endl;
AddNowLine();
}
void ShowSpace()
{
for(int x=0;x<12;x++)
cout<<" ";
}
void ShowOrderLine(int x)
{
int *number=new int[line];
for(int i=0,j=1;i<line;j++,i++)
number[i]=j;
int length;
length=name[x].length();
cout<<"║";
cout<<number[x]<<'.';
for(int temp=0;temp<46-length;temp++)//46-length==48-length-2
cout<<"-";
cout<<name[x];
cout<<"║";
}
void ShowSpaceLine()
{
cout<<"║";
for(int k=0;k<48;k++)
cout<<" ";
cout<<"║"<<endl;
}
void ShowEmptyLine()
{
if(nowline<14)
{
for(int i=nowline;i<=14;i++)
{
ShowSpace();
AddNowLine();
ShowSpaceLine();
AddNowLine();
}
}
}
void ShowBody()
{
for(int i=0,j=1;i<line;i++,j++)
{
ShowSpace(); //前排的空格
AddNowLine();
ShowOrderLine(i);
cout<<endl;
ShowSpace(); //前排的空格
AddNowLine();
ShowSpaceLine();
}
}
void ShowReturn()
{
ShowSpace();
AddNowLine();
cout<<"║0.";
for(int i=0;i<42;i++)
cout<<"-";
cout<<"退出║"<<endl;
}
void ShowEndLine()
{
ShowSpace();
for(int i=0;i<26;i++)
{
if(i==0)
cout<<"╚";
else
{
if(i==25)
cout<<"╝";
else
cout<<"═";
}
}
cout<<endl;
AddNowLine();
}
void ShowSurface()
{
ShowHead();
ShowBody();
ShowEmptyLine();
ShowReturn();
ShowEndLine();
}
};
int Interface::nowline=0;
int main()
{
Interface x;
string *operate=new string[3];
operate[0]="登录";
operate[1]="关于";
x.GetMessage(2,operate);
x.ShowSurface();
}