好吧现在我需要帮助来解决如何使我的盒子居中,我尝试了很多方法来解决它,但没有想出正确的方法。如果它令人困惑,我仍然很抱歉。
void box()
{
int i, j, w=20, h=12;
putchar(218);
for(i=0;i<w-2;i++){
putchar(196);
}
putchar(191);
printf("\n");
for(i=0;i<h-2;i++)
{
putchar(179);
for(j=0;j<w-2;j++){
printf(" ");
}
putchar(179);
printf("\n");
}
putchar(192);
for(i = 0; i<w-2;i++)
{
putchar(196);
}
putchar(217);
}
int main()
{
gotoxy(30,0); printf("\nRobby Robot walks in a Cartesian plane.\n");
box();
gotoxy(30,5); printf("a. Orgigin\n");
gotoxy(30,6); printf("b. Location\n");
gotoxy(30,7); printf("c. Move\n");
gotoxy(30,8); printf("d. Exit");
}
答案 0 :(得分:0)
#define SWIDTH (80) /* you may need to change this screen-width value */
void box()
{
int i, j, w=20, h=12;
putchar(218);
for(i=0; i<(SWIDTH-w)/2; i++) putchar(' ');
for(i=0; i<w-2; i++)
{
putchar(196);
}
putchar(191);
printf("\n");
for(i=0; i<h-2; i++)
{
for(j=0; j<(SWIDTH-w)/2; j++) putchar(' ');
putchar(179);
for(j=0; j<w-2; j++)
{
printf(" ");
}
putchar(179);
printf("\n");
}
for(i=0; i<(SWIDTH-w)/2; i++) putchar(' ');
putchar(192);
for(i = 0; i<w-2; i++)
{
putchar(196);
}
putchar(217);
}
<强>更新强>
SWIDTH =屏幕宽度(以字符为单位)(终端屏幕上一行中的字符数)
|<--------------------- SWIDTH ---------------------->|
| ------------------ |
| | | |
| <- BOXWIDTH (W) -> |
|<- (SWIDTH-W)/2 -> |
...