目录
源码分享
#include<stdio.h>
#include<windows.h>
void gotoxy(int x,int y)//形参
{
HANDLE hOut;
COORD pos= {x,y};
// 光标的起始位(第1列,第3行) 0是第1列 2是第3行
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
//printf("定位光标位置搜索(%d,%d)\n",pos.X,pos.Y);
}
void paintWindow() //打印窗口 可以设置窗口大小 用户登录系统窗口
{
int startX=6;
int startY=5;
int width=20;
int height=20;
int i=0;//循环变量i初始化
//打印顶部
//光标定位 找规律 ┗ ┛ ┏ ┓ ┃ ━
//顶部 y行不变 x 列在变 (x到x+width)
gotoxy(startX,startY); //光标起始
printf("┏"); //光标起始定位先打印左上角
for(i=0;i<width-2;i++) //控制循环次数width-2次 打印顶部
{
printf("━ ");
}
printf("┓");
//左边 x列不变 y行在变 (y到y+height) 打印左竖线
for(i=1;i<=height-2;i++) //竖线这边i初始值为1(第一行打过了) <=
{
gotoxy(startX,startY+i);//打印左竖线时光标一直移动 Y行在变
printf("┃"); //打印左竖线
}
//右边 x不变 =startx+width-1(x列) y在变 y 到 y+height(y行)右竖线
for(i=1;i<=height-2;i++)//竖线这边i初始值为1(第一行打过了) <=
{
gotoxy(startX+width*2-3,startY+i);// startx+(width-1)*2-1 宽一//个横杠两个字符 横杠中文字符占两列
printf("┃"); //打印右竖线
}
//底部 x在变化 y不变 (x到x+width) ━ 打印
gotoxy(startX,startY+height-1);//找到左下角
printf("┗");//打印左下角
for(i=0;i<width-2;i++) //打印底部 打印横杠
{
printf("━ ");
}
printf("┛");//打印右下角
gotoxy(startX,startX+height);
}
int main()
{
paintWindow();//打印界面边框
return 0;
}