今天把界面简单的实现一下:
#include <string>
void menuShow()
{
string menu[]=
{
"1.*******"
"2.*******"
"3.*******"
"4.*******"
"5.*******"
};
//下面是计算菜单项的最大长度
int max=0;
//计算菜单的长度占多少字节数 sizeof
int menuCount=sizeof(menu)/sizeof(menu[0]);
//遍历一下
for (int i=0;i<menuCout;i++)
{
if(menu[i].length()>max)
{
max=menu[i].length();
}
}
//清除一下屏幕
system("cls");
//打印标题
printInMiddle("---黑客攻击系统---");
//把标题居中显示
int leftSpace=(WIDTH - max)/2;
//遍历一下 把菜单中所有的项 全部居中
//如果是下面的项跟上面的项对齐左边的
//就在左边加上 “ ” 空字符
for(int i=0;i<menuCout;i++)
{
for(int j=0;j<leftSpace;j++)
{
cout<<" ";
}
cout<<enmu[i]<<endl;
}
}
//下面是要输入上面的编号
int menuChiose()
{
int n=0;
while(1)
{
cin>>n;
//输入的字符有错误
if(cin.fail())
{
//清除输入的字符
//如:要你输入 1,2,3.. 你却输入了 a、b、c..
cin.clear();
//同步到外面
cin.sync();
cout<<"无效输入,请重新输入"<<endl;
system("pause");
}
else
{
bark;
}
}
return n;
}
//下面实现上面的函数
int main()
{
while(1)
{
menuShow();
cout<<"请输入你想用的序号:";
int n=menuChiose();
switch(n)
{
case 1:
cout<<"********"
break;
case 2:
cout<<"********"
break;
case 3:
cout<<"********"
break;
case 4:
cout<<"********"
break;
case 5:
cout<<"********"
break;
default:
cout<<"无效输入,请重新输入。"<<endl;
system("pause");
break;
}
}
system("Pause");
closegraph();
return 0;
}
这是实现窗口的内容,虽然代码很简单 ,但是逻辑却让我思考很久,对于新手的我来说,是很难理解的,老师教了以后,需要自己来吸收,我也把我自己理解的意思打在备注上面了,这是我跨出了第一步!