⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fs.htm

📁 c语言基本的应用便于初学者学习使用 简单易懂
💻 HTM
📖 第 1 页 / 共 5 页
字号:
功&nbsp; 能: 画并填充椭圆扇区 <br>
用&nbsp; 法: void far sector(int x, int y, int stangle, int
endangle); <br>
程序例: </p>

<p>#include &lt;graphics.h&gt; <br>
#include &lt;stdlib.h&gt; <br>
#include &lt;stdio.h&gt; <br>
#include &lt;conio.h&gt; </p>

<p>int main(void) <br>
{ <br>
&nbsp;&nbsp; /* request auto detection */ <br>
&nbsp;&nbsp; int gdriver = DETECT, gmode, errorcode; <br>
&nbsp;&nbsp; int midx, midy, i; <br>
&nbsp;&nbsp; int stangle = 45, endangle = 135; <br>
&nbsp;&nbsp; int xrad = 100, yrad = 50; </p>

<p>&nbsp;&nbsp; /* initialize graphics and local variables */ <br>
&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </p>

<p>&nbsp;&nbsp; /* read result of initialization */ <br>
&nbsp;&nbsp; errorcode = graphresult(); <br>
&nbsp;&nbsp; if (errorcode != grOk)&nbsp; /* an error occurred */
<br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Graphics error:
%s\n&quot;, grapherrormsg(errorcode)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Press any key to
halt:&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); /* terminate with an
error code */ <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; midx = getmaxx() / 2; <br>
&nbsp;&nbsp; midy = getmaxy() / 2; </p>

<p>&nbsp;&nbsp; /* loop through the fill patterns */ <br>
&nbsp;&nbsp; for (i=EMPTY_FILL; i&lt;USER_FILL; i++) <br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* set the fill style */ <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setfillstyle(i, getmaxcolor()); </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* draw the sector slice */ <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sector(midx, midy, stangle,
endangle, xrad, yrad); </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; /* clean up */ <br>
&nbsp;&nbsp; closegraph(); <br>
&nbsp;&nbsp; return 0; <br>
} <br>
&nbsp; </p>

<p>函数名: segread <br>
功&nbsp; 能: 读段寄存器值 <br>
用&nbsp; 法: void segread(struct SREGS *segtbl); <br>
程序例: </p>

<p>#include &lt;stdio.h&gt; <br>
#include &lt;dos.h&gt; </p>

<p>int main(void) <br>
{ <br>
&nbsp;&nbsp; struct SREGS segs; </p>

<p>&nbsp;&nbsp; segread(&amp;segs); <br>
&nbsp;&nbsp; printf(&quot;Current segment register
settings\n\n&quot;); <br>
&nbsp;&nbsp; printf(&quot;CS: %X&nbsp;&nbsp; DS: %X\n&quot;,
segs.cs, segs.ds); <br>
&nbsp;&nbsp; printf(&quot;ES: %X&nbsp;&nbsp; SS: %X\n&quot;,
segs.es, segs.ss); </p>

<p>&nbsp;&nbsp; return 0; <br>
} <br>
&nbsp; <br>
&nbsp; </p>

<p>函数名: setactivepage <br>
功&nbsp; 能: 设置图形输出活动页 <br>
用&nbsp; 法: void far setactivepage(int pagenum); <br>
程序例: </p>

<p>#include &lt;graphics.h&gt; <br>
#include &lt;stdlib.h&gt; <br>
#include &lt;stdio.h&gt; <br>
#include &lt;conio.h&gt; </p>

<p>int main(void) <br>
{ <br>
&nbsp;&nbsp; /* select a driver and mode that supports */ <br>
&nbsp;&nbsp; /* multiple pages.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*/ <br>
&nbsp;&nbsp; int gdriver = EGA, gmode = EGAHI, errorcode; <br>
&nbsp;&nbsp; int x, y, ht; </p>

<p>&nbsp;&nbsp; /* initialize graphics and local variables */ <br>
&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </p>

<p>&nbsp;&nbsp; /* read result of initialization */ <br>
&nbsp;&nbsp; errorcode = graphresult(); <br>
&nbsp;&nbsp; if (errorcode != grOk)&nbsp; /* an error occurred */
<br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Graphics error:
%s\n&quot;, grapherrormsg(errorcode)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Press any key to
halt:&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); /* terminate with an
error code */ <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; x = getmaxx() / 2; <br>
&nbsp;&nbsp; y = getmaxy() / 2; <br>
&nbsp;&nbsp; ht = textheight(&quot;W&quot;); </p>

<p>&nbsp;&nbsp; /*&nbsp; select the off screen page for drawing
*/ <br>
&nbsp;&nbsp; setactivepage(1); </p>

<p>&nbsp;&nbsp; /* draw a line on page #1 */ <br>
&nbsp;&nbsp; line(0, 0, getmaxx(), getmaxy()); </p>

<p>&nbsp;&nbsp; /* output a message on page #1 */ <br>
&nbsp;&nbsp; settextjustify(CENTER_TEXT, CENTER_TEXT); <br>
&nbsp;&nbsp; outtextxy(x, y, &quot;This is page #1:&quot;); <br>
&nbsp;&nbsp; outtextxy(x, y+ht, &quot;Press any key to
halt:&quot;); </p>

<p>&nbsp;&nbsp; /* select drawing to page #0 */ <br>
&nbsp;&nbsp; setactivepage(0); </p>

<p>&nbsp;&nbsp; /* output a message&nbsp; on page #0 */ <br>
&nbsp;&nbsp; outtextxy(x, y, &quot;This is page #0.&quot;); <br>
&nbsp;&nbsp; outtextxy(x, y+ht, &quot;Press any key to view page
#1:&quot;); <br>
&nbsp;&nbsp; getch(); </p>

<p>&nbsp;&nbsp; /* select page #1 as the visible page */ <br>
&nbsp;&nbsp; setvisualpage(1); </p>

<p>&nbsp;&nbsp; /* clean up */ <br>
&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp; closegraph(); <br>
&nbsp;&nbsp; return 0; <br>
} <br>
&nbsp; <br>
&nbsp; </p>

<p>函数名: setallpallette <br>
功&nbsp; 能: 按指定方式改变所有的调色板颜色 <br>
用&nbsp; 法: void far setallpallette(struct palette, far
*pallette); <br>
程序例: </p>

<p>#include &lt;graphics.h&gt; <br>
#include &lt;stdlib.h&gt; <br>
#include &lt;stdio.h&gt; <br>
#include &lt;conio.h&gt; </p>

<p>int main(void) <br>
{ <br>
&nbsp;&nbsp; /* request auto detection */ <br>
&nbsp;&nbsp; int gdriver = DETECT, gmode, errorcode; <br>
&nbsp;&nbsp; struct palettetype pal; <br>
&nbsp;&nbsp; int color, maxcolor, ht; <br>
&nbsp;&nbsp; int y = 10; <br>
&nbsp;&nbsp; char msg[80]; </p>

<p>&nbsp;&nbsp; /* initialize graphics and local variables */ <br>
&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </p>

<p>&nbsp;&nbsp; /* read result of initialization */ <br>
&nbsp;&nbsp; errorcode = graphresult(); <br>
&nbsp;&nbsp; if (errorcode != grOk)&nbsp; /* an error occurred */
<br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Graphics error:
%s\n&quot;, grapherrormsg(errorcode)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Press any key to
halt:&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); /* terminate with an
error code */ <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; maxcolor = getmaxcolor(); <br>
&nbsp;&nbsp; ht = 2 * textheight(&quot;W&quot;); </p>

<p>&nbsp;&nbsp; /* grab a copy of the palette */ <br>
&nbsp;&nbsp; getpalette(&amp;pal); </p>

<p>&nbsp;&nbsp; /* display the default palette colors */ <br>
&nbsp;&nbsp; for (color=1; color&lt;=maxcolor; color++) <br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setcolor(color); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sprintf(msg, &quot;Color:
%d&quot;, color); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outtextxy(1, y, msg); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y += ht; <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; /* wait for a key */ <br>
&nbsp;&nbsp; getch(); </p>

<p>&nbsp;&nbsp; /* black out the colors one by one */ <br>
&nbsp;&nbsp; for (color=1; color&lt;=maxcolor; color++) <br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setpalette(color, BLACK); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; /* restore the palette colors */ <br>
&nbsp;&nbsp; setallpalette(&amp;pal); </p>

<p>&nbsp;&nbsp; /* clean up */ <br>
&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp; closegraph(); <br>
&nbsp;&nbsp; return 0; <br>
} <br>
&nbsp; <br>
&nbsp; </p>

<p>函数名: setaspectratio <br>
功&nbsp; 能: 设置图形纵横比 <br>
用&nbsp; 法: void far setaspectratio(int xasp, int yasp); <br>
程序例: </p>

<p>#include &lt;graphics.h&gt; <br>
#include &lt;stdlib.h&gt; <br>
#include &lt;stdio.h&gt; <br>
#include &lt;conio.h&gt; </p>

<p>int main(void) <br>
{ <br>
&nbsp;&nbsp; /* request auto detection */ <br>
&nbsp;&nbsp; int gdriver = DETECT, gmode, errorcode; <br>
&nbsp;&nbsp; int xasp, yasp, midx, midy; </p>

<p>&nbsp;&nbsp; /* initialize graphics and local variables */ <br>
&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </p>

<p>&nbsp;&nbsp; /* read result of initialization */ <br>
&nbsp;&nbsp; errorcode = graphresult(); <br>
&nbsp;&nbsp; if (errorcode != grOk)&nbsp; /* an error occurred */
<br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Graphics error:
%s\n&quot;, grapherrormsg(errorcode)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Press any key to
halt:&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); /* terminate with an
error code */ <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; midx = getmaxx() / 2; <br>
&nbsp;&nbsp; midy = getmaxy() / 2; <br>
&nbsp;&nbsp; setcolor(getmaxcolor()); </p>

<p>&nbsp;&nbsp; /* get current aspect ratio settings */ <br>
&nbsp;&nbsp; getaspectratio(&amp;xasp, &amp;yasp); </p>

<p>&nbsp;&nbsp; /* draw normal circle */ <br>
&nbsp;&nbsp; circle(midx, midy, 100); <br>
&nbsp;&nbsp; getch(); </p>

<p>&nbsp;&nbsp; /* claer the screen */ <br>
&nbsp;&nbsp; cleardevice(); </p>

<p>&nbsp;&nbsp; /* adjust the aspect for a wide circle */ <br>
&nbsp;&nbsp; setaspectratio(xasp/2, yasp); <br>
&nbsp;&nbsp; circle(midx, midy, 100); <br>
&nbsp;&nbsp; getch(); </p>

<p>&nbsp;&nbsp; /* adjust the aspect for a narrow circle */ <br>
&nbsp;&nbsp; cleardevice(); <br>
&nbsp;&nbsp; setaspectratio(xasp, yasp/2); <br>
&nbsp;&nbsp; circle(midx, midy, 100); </p>

<p>&nbsp;&nbsp; /* clean up */ <br>
&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp; closegraph(); <br>
&nbsp;&nbsp; return 0; <br>
} <br>
&nbsp; <br>
&nbsp; </p>

<p>函数名: setbkcolor <br>
功&nbsp; 能: 用调色板设置当前背景颜色 <br>
用&nbsp; 法: void far setbkcolor(int color); <br>
程序例: </p>

<p>#include &lt;graphics.h&gt; <br>
#include &lt;stdlib.h&gt; <br>
#include &lt;stdio.h&gt; <br>
#include &lt;conio.h&gt; </p>

<p>int main(void) <br>
{ <br>
&nbsp;&nbsp; /* select a driver and mode that supports */ <br>
&nbsp;&nbsp; /* multiple background colors.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*/ <br>
&nbsp;&nbsp; int gdriver = EGA, gmode = EGAHI, errorcode; <br>
&nbsp;&nbsp; int bkcol, maxcolor, x, y; <br>
&nbsp;&nbsp; char msg[80]; </p>

<p>&nbsp;&nbsp; /* initialize graphics and local variables */ <br>
&nbsp;&nbsp; initgraph(&amp;gdriver, &amp;gmode, &quot;&quot;); </p>

<p>&nbsp;&nbsp; /* read result of initialization */ <br>
&nbsp;&nbsp; errorcode = graphresult(); <br>
&nbsp;&nbsp; if (errorcode != grOk)&nbsp; /* an error occurred */
<br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Graphics error:
%s\n&quot;, grapherrormsg(errorcode)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Press any key to
halt:&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1); /* terminate with an
error code */ <br>
&nbsp;&nbsp; } </p>

<p>&nbsp;&nbsp; /* maximum color index supported */ <br>
&nbsp;&nbsp; maxcolor = getmaxcolor(); </p>

<p>&nbsp;&nbsp; /* for centering text messages */ <br>
&nbsp;&nbsp; settextjustify(CENTER_TEXT, CENTER_TEXT); <br>
&nbsp;&nbsp; x = getmaxx() / 2; <br>
&nbsp;&nbsp; y = getmaxy() / 2; </p>

<p>&nbsp;&nbsp; /* loop through the available colors */ <br>
&nbsp;&nbsp; for (bkcol=0; bkcol&lt;=maxcolor; bkcol++) <br>
&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* clear the screen */ <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cleardevice(); </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* select a new background
color */ <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setbkcolor(bkcol); </p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* output a messsage */ <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (bkcol == WHITE) <br>
&nbsp; setcolor(EGA_BLUE); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sprintf(msg, &quot;Background
color: %d&quot;, bkcol); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outtextxy(x, y, msg); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); <br>
&nbsp;&nbsp; } </p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -