第13章 C语言综合应用程序设计

更新时间:2023-09-02 04:02:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言

第13章C语言综合程序设计

C语言

多模块程序设计基础 图形处理基础 与操作系统的接口 C程序中的汉字显示技术

C语言

多模块程序设计基础一、多模块程序的建立 在软件设计过程中,当用计算机高级语言进行程序设计时, 对于完成大规模的程序设计,往往按其问题的需要,将程序 划分成若干段去编写。 一个语言源程序由若干模块组成,这些模块可以分别装配成 几个源程序文件,这些源程序文件可以分别进行编辑、编译, 经连接后形成可执行文件。 使用多模块编程技术的处理过程大致如下: 首先将一个大的源程序根据其功能合理地划分为若干个小的 源程序,每个小源程序均以程序文件(文件扩展名为.C)的 形式保存在磁盘上。 再用编译器进行编译,将工程文件中指定的多个文件进行编 译,生成多个目标文件和一个可执行的文件。 当某个文件有错时,编译器会报告错误。用户可进行修改, 修改后再编译时,编译器只会对修改文件进行重新编译,其 它模块不再被编译,原来生成的目标文件仍可使用。

C语言

二、程序模块之间的通讯

在C语言的多模块编程中,模块间通信往往 使用外部变量。

C语言

图形处理基础一、图形程序运行条件在编制图形处理程序,使用图形函数之前,必须在程序中对使 用的图形系统进行初始化,把屏幕显示适配器设置为一种图形模式, 选择适当类型的图形显示适配器驱动程序,设置好驱动程序的寻找 路径名等 二、基本图形处理函数 1、图形初始化函数 显示模式控制函数initgraph 函数原型: void far initgraph(int far *graphdriver, int far *graphmode, char far *path) 函数的功能,把图形适配器设置为一种图形模式,将选择的图形驱 动程序(在BGI文件中)装入到内存。

C语言

检测显示器硬件函数detectgraph 函数原型: void far detectgraph(int far *graphdriver,int far *); 函数功能:完成对适配器的检查,获取显示器类型号及相应的显示 模式,把显示类型号赋予graphdriver,显示模式赋予graphmode。 graphdriver和graphmode的意义与函数initgraph相同。 清屏函数cleardevice 函数原型: void far cleardevice(void); 函数功能:清除屏幕上的其它信息,函数作用范围为整个屏幕。 恢复显示方式closegraph 函数原型: void far closegraph(void); 函数功能:当图形处理工作结束后,关闭图形系统,返回文本工作 方式。

C语言

恢复工作模式函数restorecrtmode 函数原型: void far restorecrtmode(void); 函数功能:恢复屏幕显示模式为调用initgraph前的设置 设置图形工作模式函数setgraphmode 函数原型: void far setgraphmode(void); 函数功能:将系统设置成图形模式并清屏。 注意:以上两个函数

常交互使用,可使显示器工作方式 在图形和文本方式之间来回切换,这在编制菜单程序和 说明程序时很有用处。

C语言

2、基本图形处理函数 画点函数原型: void far putpixel(int x,int y,int color); /*画象 素点函数*/ 画线函数原型: void far line(int startx,int starty,int endx,int endy); /*画线函数*/ 说明: 函数putpixel在点(x,y)处画一个颜色为color的象素 点。 函数line在(startx, starty)和(endx,int endy)两点之间 画一条直线,颜色为系统当前颜色。

C语言

画多边形函数原型如下: void far drawpoly(int numpoints,int far *points); 函数功能:用当前颜色画一个顶点数为numpoints的多边形,各个顶点坐 标(x,y)连续存放在points指向的整型数组中。 画矩形函数原型如下: void far rectangle(int left, int top, int right, int bottom); 函 数 功 能 : 用 当 前 颜 色 画 一 个 以 ( left, top ) 为 左 上 角 坐 标 , 以 (right, bottom)为右下角坐标的矩形。 画条形图函数有两个,其原型分别是: void far bar(int left,int top, int right, int bottom); /*二维 实心条形图*/ void far bar3d(int left, int top, int right, int bottom, int depth, int topflag); /*三维条形图*/ 函 数 bar 是 用 当 前 颜 色 , 画 一 个 以 ( left, top ) 为 左 上 角 坐 标 , 以 (right, bottom)为右下角坐标的矩形(同rectangle函数)。矩形填 充模式及颜色可以设定,形成一个没有边框的实心条形图。若没有设定 填充模式及颜色,则是用缺省模式。 函数bar3d用当前颜色,画一个厚度为depth个像素点三维条形图

C语言

画圆函数原型: void far circle(int x,int y,int radius); 函数功能:用当前颜色画一个以(x, y)为圆心, radius为半径的画 一个圆。 画圆弧函数原型: void far arc(int x,int y,int start,int end,int radius); 函数功能:用当前颜色,以x,y为圆心,以start、end为起止角,以 radius为半径画圆弧。 画扇形函数原型: void far pieslice(int x,int y,int start,int end,int radius); 函数功能:用当前颜色,以x,y为圆心,以start、end为起止角,以 radius为半径画扇形。 画椭圆函数原型: void far ellipse(int x,int y,int start,int end,int xradius,int yradius); 函数功能:用当前画线的颜色,以x,y为圆心,以xradius、yradius 为两轴半径,以start、end为起止角画椭圆。

C语言

3、颜色控制函数前景颜色设置函数setcolor 函数原型:void far setcolor(int color); 函数的功能:用颜色值color设置当前画图颜色。 背景颜色设置函数setbkcolor 函数原型:void far setbkcolor(int color); 函数的功能:用颜色值color设置背景颜色。颜色值color即可用值表 示,也可用大写的宏名表示。 填色函数setfillstyle 函数原型:void far setfillstyle(int pattern,int color); 函数的功能:函数setfillstyle将用设定

的color颜色和pattern图模 式对后面画出的轮廓图进行填充 封闭图形的填充函数floodfill 函数原型:void far floodfill(int x,int y,int bordercolor); 函数功能:根据封闭图形之中的任意一点(x,y),对任意封闭图形进 行填充。

C语言

4、视口操作函数设置视口的函数 函数原型: void far setviewport(int x1,int y1,int x2,int y2,int clipflag); 函数的功能:(x1,x2)为视口左上角坐标,(x2,y2)为视口右下 角坐标,它们均以原屏幕物理坐标远点为参考点。clipflag若不为0, 则所花图形超出视口的部分被切除,而不显示出来;若为0,则超出 视口的部分仍将显示出来。 视口清除函数 函数的原型: void far clearviewport(void); 函数的功能:清除视口内的图形

C语言

5、图形模式下字符输出函数当前位置文本输出函数 函数的原型:void far outtext(char *str); 函数的功能:在当前位置输出由str指定的字符串,使用outtext函数 的主要优点是它能用不同的字型、大小,用不同的方向输出文字。 注意:在图形方式下,没有可见光标。但在屏幕上还是存在着当前显 示位置,就好像有一个可见光标一样。 字符输出定位函数 函数的原型:void far outtextxy(int x,int y,char *str); 函数的功能:将str指定的字符串输出到窗口指定坐标位置(x,y),如 果x或y或两者均超过了窗口边界,则不会显示。 改变字型、大小和方向的函数 函数原型: void far settextstyle(int font,int direction,int charsize); 函数的功能:设置输出文本字体、大小和方向的函数

C语言

操作系统接口DOS简介 DOS是目前PC微型机上广泛采用的一种单用户单任 务的操作系统 DOS具有强大的功能,它的功能是对系统的基本输 入输出进行控制及对内存和进程的管理 DOS采用层次结构,由引导程序模块、基本输入输出 模块、文件管理和系统调用模块、命令处理模块等几个 部分组成 DOS为用户引用其功能子程序,进行资源调用,利 用了系统的软中断。通过CPU的软中断指令INT n调用相 应的程序

C语言

操作系统接口库函数通用软中断调用库函数 函数的原型为: int int86(int intno, uinon REGS * inregs, uinon REGS * outregs); 函数的功能:调用一个由参数intno指定的软中断。在调用软中断之前,把 inregs中的寄存器值拷贝到各寄存器中;调用返回后,int86函数把当前 寄存器的值拷贝到outregs。 共用体类型REGS定义在dos.h头文件中,其定义如下: struct WORDREGS { unsigned int ax,bx,cx,dx,si,cflag,flags;}; struct BYTEREGS { unsigned char al,ah,bl,bh,cl,ch,dl,dh;}; union REGS regs { struct WORDREGS x; struct BYTEREGS h;};

C语言

系统功能调用库函数C语言中系统功能调用库函数intdos函数和intdosx函数与DOS的系统功能调 用INT 21H相对应,其函数的原型为: int intdos(union REGS *i

nregs,union REGS *outregs); int intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs); 函数的参数inregs是入口参数,表示相应的功能号。参数outregs是出口参 数,调用后返回值在outregs的AX寄存器中,并将设置标志寄存器flags; 若进位标志cflag被置位,则表示调用出错,此时AX中为错误代码,若 为零,则表示成功。参数segregs是intdosx函数特有的,它是一个结构 SREGS类型的指针,结构SREGS类型在dos.h头文件中定义。 struct SREGS { unsigned int cs,ss,ds,es; }; 定义该结构是为了设置和保存CPU中的段寄存器。

C语言

发送DOS命令库函数system

函数原型: int system(char *cmd); 函数功能:使DOS的命令处理模块COMMAND文件执行 由字符串cmd给定的DOS命令、批命令或其它子程序。

C语言

鼠标器及其应用 鼠标器概况 鼠标器的按键有一键的(如Macintosh计算机使用)、 两 键 的 ( 属 于 Microsoft系 列 )或三 键 的 (属 于IBM 系 列)。现在普遍使用三键的鼠标器。 主要有两种形式的鼠标器,一种是机械式鼠标器,另 一种时光电式鼠标器。 鼠标器驱动程序 在系统配置文件config.sys中加入命令 device=mouse.sys/1 在自动批处理文件autoexec.bat中加入命令 http://www.77cn.com.cn/1

C语言

鼠标器光标 当用鼠标器作为输入设备时,在屏幕上也有一个光 标表示当前位置,在Microsoft的鼠标库函数种定义了缺 省的光标形状:在图形方式下是一个箭头,在文本方式 下是一个亮块。可以通过鼠标器函数控制鼠标器光标的 点亮和熄灭 鼠标器INT 33H功能调用 安装好鼠标器驱动程序,并进行初始化后,就可以 使用鼠标驱动程序来管理鼠标的各种操作。鼠标驱动程 序将INT 33H功能调用作为鼠标器的操作中断。这样每当 移动一下鼠标,或者按动一下鼠标器的按钮,就将产生 一次INT 33H中断

本文来源:https://www.bwwdw.com/article/m7bi.html

Top