第13章 C语言综合应用程序设计
更新时间:2023-09-02 04:02:01 阅读量: 教育文库 文档下载
- 第13章轴对称思维导图推荐度:
- 相关推荐
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中断
正在阅读:
第13章 C语言综合应用程序设计09-02
2013年高考地理一轮复习精品学案专题12山地的形成教学案(学生版)10-30
简谱人教版小学一年级音乐下册教案12-15
小学体育教案,教学反思03-23
申论是一种很奇妙的文体01-22
2019年澳大利亚留学奖学金可以申请哪些奖学金-精选word文档(4页)11-19
2015远程研修观评课总结07-12
《微机原理与接口技术》参考答案01-15
童年的美味作文800字06-27
网络编程复习题 - 图文01-06
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 程序设计
- 语言
- 应用
- 综合
- 仓库管理员月度绩效考核细则(2014)
- 葡萄语版单位工程竣工验收证明书
- 第五章 有毒有害气体吸收净化法 修
- APQP文件清单
- 简易数控直流稳压电源设计方案
- 安徽合力年报2013企业排名及薪酬报告(专用设备制造业营业利润)安徽合力股份有限公司_九舍会智库
- 安装office2010时要输入密钥激活如何解决?
- 南华学校教室消毒记录表
- 隔离与认知,重塑情绪管理系统--答案
- 公务接待审批单 (1)
- 早、午读_(最新)
- 落实党务公开工作会议情况汇报
- 食堂卫生检查记录表
- 幼儿园种植活动感想
- 旅游业发展论文 推进昌吉州由旅游资源大州向旅游经济强州跨越
- 2013年新人教版八年级上英语期末测试题
- 70篇短文突破中考英语词汇(一)
- 听孙云晓讲座有感
- A4纸打印版四线三格纸模板
- 2006年河南省中招九年级中考化学试题解析全国通用