首页 > 代码库 > B.xml

B.xml

<style type="text/css"> pre{ line-height:1; color:#800080; background-color:#d2d2d2; font-size:16px;}.sysFunc{color:#6f0080;font-style:italic;font-weight:bold;} .selfFuc{color:#008000;} .bool{color:#800080;} .condition{color:#6f0080;font-weight:bold;} .key{color:#448000;} .var{color:#008080;font-style:italic;} .Digit{color:#ff00ff;font-weight:bold;} .includePre{color:#800080;} .operator?{color:#008000;font-weight:bold;} </style>

函数名:?bar?

功??能:?画一个二维条形图?

用??法:?void?far?bar(int?left,?int?top,?int?right,?int?bottom);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
int?main(void)?
{?
???/*?request?auto?detection?*/?
???int?gdriver?=?DETECT,?gmode,?errorcode;?
???int?midx,?midy,?i;?
???/*?initialize?graphics?and?local?variables?*/?
???initgraph(&gdriver,?&gmode,?"");?
???/*?read?result?of?initialization?*/?
???errorcode?=?graphresult();?
???if?(errorcode?!=?grOk)??/*?an?error?occurred?*/?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?/*?terminate?with?an?error?code?*/?
???}?
???midx?=?getmaxx()?/?2;?
???midy?=?getmaxy()?/?2;?
???/*?loop?through?the?fill?patterns?*/?
???for?(i=SOLID_FILL;?i<USER_FILL;?i++)?
???{?
??????/*?set?the?fill?style?*/?
??????setfillstyle(i,?getmaxcolor());?
??????/*?draw?the?bar?*/?
??????bar(midx-50,?midy-50,?midx+50,?
?????????midy+50);?
??????getch();?
???}?
???/*?clean?up?*/?
???closegraph();?
???return?0;?
}?
??
??
??

函数名:?bar3d?

功??能:?画一个三维条形图?

用??法:?void?far?bar3d(int?left,?int?top,?int?right,?int?bottom,?

???????????????????????int?depth,?int?topflag);?

程序例:?

#include?<graphics.h>?
#include?<stdlib.h>?
#include?<stdio.h>?
#include?<conio.h>?
int?main(void)?
{?
???/*?request?auto?detection?*/?
???int?gdriver?=?DETECT,?gmode,?errorcode;?
???int?midx,?midy,?i;?
???/*?initialize?graphics,?local?variables?*/?
???initgraph(&gdriver,?&gmode,?"");?
???/*?read?result?of?initialization?*/?
???errorcode?=?graphresult();?
???if?(errorcode?!=?grOk)??/*?an?error?occurred?*/?
???{?
??????printf("Graphics?error:?%s\n",?grapherrormsg(errorcode));?
??????printf("Press?any?key?to?halt:");?
??????getch();?
??????exit(1);?/*?terminate?with?error?code?*/?
???}?
???midx?=?getmaxx()?/?2;?
???midy?=?getmaxy()?/?2;?
???/*?loop?through?the?fill?patterns?*/?
???for?(i=EMPTY_FILL;?i<USER_FILL;?i++)?
???{?
??????/*?set?the?fill?style?*/?
??????setfillstyle(i,?getmaxcolor());?
??????/*?draw?the?3-d?bar?*/?
??????bar3d(midx-50,?midy-50,?midx+50,?midy+50,?10,?1);?
??????getch();?
???}?
???/*?clean?up?*/?
???closegraph();?
???return?0;?
}?
??
??
??

函数名:?bdos?

功??能:?DOS系统调用?

用??法:?int?bdos(int?dosfun,?unsigned?dosdx,?unsigned?dosal);?

程序例:?

#include?<stdio.h>?
#include?<dos.h>?
/*?Get?current?drive?as?‘A‘,?‘B‘,?...?*/?
char?current_drive(void)?
{?
???char?curdrive;?
???/*?Get?current?disk?as?0,?1,?...?*/?
???curdrive?=?bdos(0x19,?0,?0);?
???return(A‘?+?curdrive);?
}?
int?main(void)?
{?
???printf("The?current?drive?is?%c:\n",?current_drive());?
???return?0;?
}?
??
??
??

函数名:?bdosptr?

功??能:?DOS系统调用?

用??法:?int?bdosptr(int?dosfun,?void?*argument,?unsigned?dosal);?

程序例:?

#include?<string.h>?
#include?<stdio.h>?
#include?<dir.h>?
#include?<dos.h>?
#include?<errno.h>?
#include?<stdlib.h>?
#define??BUFLEN??80?
int?main(void)?
{?
???char??buffer[BUFLEN];?
???int???test;?
???printf("Enter?full?pathname?of?a?directory\n");?
???gets(buffer);?
???test?=?bdosptr(0x3B,buffer,0);?
??????if(test)?
??????{?
??printf("DOS?error?message:?%d\n",?errno);?
??/*?See?errno.h?for?error?listings?*/?
??exit?(1);?
??????}?
???getcwd(buffer,?BUFLEN);?
???printf("The?current?directory?is:?%s\n",?buffer);?
???return?0;?
}?
??
??
??

函数名:?bioscom?

功??能:?串行I/O通信?

用??法:?int?bioscom(int?cmd,?char?abyte,?int?port);?

程序例:?

#include?<bios.h>?
#include?<conio.h>?
#define?COM1???????0?
#define?DATA_READY?0x100?
#define?TRUE???????1?
#define?FALSE??????0?
#define?SETTINGS?(?0x80?|?0x02?|?0x00?|?0x00)?
int?main(void)?
{?
???int?in,?out,?status,?DONE?=?FALSE;?
???bioscom(0,?SETTINGS,?COM1);?
???cprintf("...?BIOSCOM?[ESC]?to?exit?...\n");?
???while?(!DONE)?
???{?
??????status?=?bioscom(3,?0,?COM1);?
??????if?(status?&?DATA_READY)?
??if?((out?=?bioscom(2,?0,?COM1)?&?0x7F)?!=?0)?
?????putch(out);?
??if?(kbhit())?
??{?
?????if?((in?=?getch())?==?‘\x1B‘)?
????????DONE?=?TRUE;?
?????bioscom(1,?in,?COM1);?
??}?
???}?
???return?0;?
}?
??
??
??

函数名:?biosdisk?

功??能:?软硬盘I/O?

用??法:?int?biosdisk(int?cmd,?int?drive,?int?head,?int?track,?int?sector?

???????int?nsects,?void?*buffer);?

程序例:?

#include?<bios.h>?
#include?<stdio.h>?
int?main(void)?
{?
???int?result;?
???char?buffer[512];?
???printf("Testing?to?see?if?drive?a:?is?ready\n");?
???result?=?biosdisk(4,0,0,0,0,1,buffer);?
???result?&=?0x02;?
???(result)???(printf("Drive?A:?Ready\n"))?:?
???????(printf("Drive?A:?Not?Ready\n"));?
???return?0;?
}?
??
??
??

函数名:?biosequip?

功??能:?检查设备?

用??法:?int?biosequip(void);?

程序例:?

#include?<bios.h>?
#include?<stdio.h>?
int?main(void)?
{?
???int?result;?
???char?buffer[512];?
???printf("Testing?to?see?if?drive?a:?is?ready\n");?
???result?=?biosdisk(4,0,0,0,0,1,buffer);?
???result?&=?0x02;?
???(result)???(printf("Drive?A:?Ready\n"))?:?
???????(printf("Drive?A:?Not?Ready\n"));?
???return?0;?
}?
??
??
??

函数名:?bioskey?

功??能:?直接使用BIOS服务的键盘接口?

用??法:?int?bioskey(int?cmd);?

程序例:?

#include?<stdio.h>?
#include?<bios.h>?
#include?<ctype.h>?
#define?RIGHT??0x01?
#define?LEFT???0x02?
#define?CTRL???0x04?
#define?ALT????0x08?
int?main(void)?
{?
???int?key,?modifiers;?
???/*?function?1?returns?0?until?a?key?is?pressed?*/?
???while?(bioskey(1)?==?0);?
???/*?function?0?returns?the?key?that?is?waiting?*/?
???key?=?bioskey(0);?
???/*?use?function?2?to?determine?if?shift?keys?were?used?*/?
???modifiers?=?bioskey(2);?
???if?(modifiers)?
???{?
??????printf("[");?
??????if?(modifiers?&?RIGHT)?printf("RIGHT");?
??????if?(modifiers?&?LEFT)??printf("LEFT");?
??????if?(modifiers?&?CTRL)??printf("CTRL");?
??????if?(modifiers?&?ALT)???printf("ALT");?
??????printf("]");?
???}?
???/*?print?out?the?character?read?*/?
???if?(isalnum(key?&?0xFF))?
??????printf("‘%c‘\n",?key);?
???else?
??????printf("%#02x\n",?key);?
???return?0;?
}?
??
??

函数名:?biosmemory?

功??能:?返回存储块大小?

用??法:int?biosmemory(void);?

程序例:?

#include?<stdio.h>?
#include?<bios.h>?
int?main(void)?
{?
???int?memory_size;?
???memory_size?=?biosmemory();??/*?returns?value?up?to?640K?*/?
???printf("RAM?size?=?%dK\n",memory_size);?
???return?0;?
}?
??
??
??

函数名:?biosprint?

功??能:?直接使用BIOS服务的打印机I/O?

用??法:?int?biosprint(int?cmd,?int?byte,?int?port);?

程序例:?

#include?<stdio.h>?
#include?<conio.h>?
#include?<bios.h>?
int?main(void)?
{?
???#define?STATUS??2????/*?printer?status?command?*/?
???#define?PORTNUM?0????/*?port?number?for?LPT1?*/?
???int?status,?abyte=0;?
???printf("Please?turn?off?your?printer.??Press?any?key?to?continue\n");?
???getch();?
???status?=?biosprint(STATUS,?abyte,?PORTNUM);?
???if?(status?&?0x01)?
??????printf("Device?time?out.\n");?
???if?(status?&?0x08)?
??????printf("I/O?error.\n");?
???if?(status?&?0x10)?
??????printf("Selected.\n");?
???if?(status?&?0x20)?
??????printf("Out?of?paper.\n");?
???if?(status?&?0x40)?
??????printf("Acknowledge.\n");?
???if?(status?&?0x80)?
??????printf("Not?busy.\n");?
???return?0;?
}?
??
??
??

函数名:?biostime?

功??能:?读取或设置BIOS时间?

用??法:?long?biostime(int?cmd,?long?newtime);?

程序例:?

#include?<stdio.h>?
#include?<bios.h>?
#include?<time.h>?
#include?<conio.h>?
int?main(void)?
{?
???long?bios_time;?
???clrscr();?
???cprintf("The?number?of?clock?ticks?since?midnight?is:\r\n");?
???cprintf("The?number?of?seconds?since?midnight?is:\r\n");?
???cprintf("The?number?of?minutes?since?midnight?is:\r\n");?
???cprintf("The?number?of?hours?since?midnight?is:\r\n");?
???cprintf("\r\nPress?any?key?to?quit:");?
???while(!kbhit())?
???{?
??????bios_time?=?biostime(0,?0L);?
??????gotoxy(50,?1);?
??????cprintf("%lu",?bios_time);?
??????gotoxy(50,?2);?
??????cprintf("%.4f",?bios_time?/?CLK_TCK);?
??????gotoxy(50,?3);?
??????cprintf("%.4f",?bios_time?/?CLK_TCK?/?60);?
??????gotoxy(50,?4);?
??????cprintf("%.4f",?bios_time?/?CLK_TCK?/?3600);?
???}?
???return?0;?
}?
??
??
??

函数名:?brk?

功??能:?改变数据段空间分配?

用??法:?int?brk(void?*endds);?

程序例:?

#include?<stdio.h>?
#include?<alloc.h>?
int?main(void)?
{?
???char?*ptr;?
???printf("Changing?allocation?with?brk()\n");?
???ptr?=?malloc(1);?
???printf("Before?brk()?call:?%lu?bytes?free\n",?coreleft());?
???brk(ptr+1000);?
???printf("?After?brk()?call:?%lu?bytes?free\n",?coreleft());?
???return?0;?
}?
??
??
??

函数名:?bsearch?

功??能:?二分法搜索?

用??法:?void?*bsearch(const?void?*key,?const?void?*base,?size_t?*nelem,?

????????size_t?width,?int(*fcmp)(const?void?*,?const?*));?

程序例:?

#include?<stdlib.h>?
#include?<stdio.h>?
#define?NELEMS(arr)?(sizeof(arr)?/?sizeof(arr[0]))?
int?numarray[]?=?{123,?145,?512,?627,?800,?933};?
int?numeric?(const?int?*p1,?const?int?*p2)?
{?
???return(*p1?-?*p2);?
}?
int?lookup(int?key)?
{?
???int?*itemptr;?
???/*?The?cast?of?(int(*)(const?void?*,const?void*))?
??????is?needed?to?avoid?a?type?mismatch?error?at?
??????compile?time?*/?
???itemptr?=?bsearch?(&key,?numarray,?NELEMS(numarray),?
??????sizeof(int),?(int(*)(const?void?*,const?void?*))numeric);?
???return?(itemptr?!=?NULL);?
}?
int?main(void)?
{?
???if?(lookup(512))?
??????printf("512?is?in?the?table.\n");?
???else?
??????printf("512?isn‘t?in?the?table.\n");?
???return?0;?
}?
??
??

本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。

B.xml