跳转到内容

C 编程基础/实用函数

来自维基教科书,开放的书籍,为开放的世界

在本章中,您将获得一些可以用来使程序更友好的代码。我们每天都会看到很多程序。我们可以在 16 位 DOS 环境中制作这样的程序吗?不,我们不能。但我们可以尽量接近它。考虑到这一点,下面提供了一些您可能希望包含在程序中的特定函数。

在我们日常遇到的程序中,我们会看到输出位于屏幕的特定部分,而不是像我们迄今为止看到的程序那样位于最左侧的角落。那么如何在 DOS 中构建这样的方框呢?以下是实现此目的的代码

双线方框

[编辑 | 编辑源代码]


void drawbox(int boxa,int boxb,int boxc,int boxd)
{
	int i,j;
	char s=205,c=201,q=186,d=187,e=200,f=188;
	gotoxy(boxa,boxb);
	cout<<c;
	gotoxy(boxa,boxd-1);
	cout<<e;
	gotoxy(boxc-1,boxb);
	cout<<d;
	gotoxy(boxc-1,boxd-1);
	cout<<f;
	for(i=boxa+1;i<boxc-1;i++)
	{
		for(j=boxb;j<boxd;j++)
		{
			gotoxy(i,j);
			cout<<s;
		}
	}
	for(i=boxa;i<boxc;i++)
	{
		for(j=boxb+1;j<boxd-1;j++)
		{
			gotoxy(i,j);
			cout<<q;
		}
	}
	for(i=boxa+1;i<boxc-1;i++)
	{
		for(j=boxb+1;j<boxd-1;j++)
		{
			gotoxy(i,j);
			cout<<" ";
		}
	}
	gotoxy(boxa+1,boxb+1);
}

传递给此函数的坐标是我们要打印的方框的左上角和右下角的 x 和 y 坐标。然后,在屏幕上的指定点上打印每个角的特殊字符。然后,使用 for 循环打印水平线和垂直线。然后使用 for 循环清除它们之间的空格,并在坐标上打印 ' ' 字符。您可以尝试试验传递给 drawbox() 的值,并查看结果。此函数的函数调用可能类似于

        drawbox(7,2,37,24);
	drawbox(45,2,75,24);

这两个调用将在屏幕上创建两个方框。即使您无法深入了解此函数,您也可以通过在 main() 函数之前粘贴代码来轻松使用它。

华夏公益教科书