高级C分析和总结.docx

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 文本的屏幕输出和键盘输入 [问题的提出] 编制一个程序,将屏幕垂直平分成两个窗口,左边窗口为蓝色背景,白色 前景,右边窗口为绿色背景,红色前景。两个窗口都设计为文本输入,即在窗口中可以输入文字,在窗口屏幕中显示出来。使用 tab 键在左右两个窗口中切换,每个窗口都有光标,活动窗口光标进行闪烁。 [分析] 在这个问题中我们遇到了在初学C 时不曾接触到的新概念,如文本窗口、前景色、背景色,以及围绕它们要解决的新问题: 如何在屏幕中开文本输入的窗口? 如何设置窗口的前景色、背景色或闪烁等显示属性? 如何通过按键来控制窗口的切换? [解答] 要解决这一编程问题,要求有两方面的学习过程:一是对于分析中的前两个问题, 要求大家了解有关文本的屏幕输出的知识;二是对于第 3 个问题,要求对键盘的输入有所了解。下面先就这两个方面的内容做一介绍。 文本的屏幕输出 显示器的屏幕显示方式有两种:文本方式和图形方式。文本方式就是显示文本的模式, 它的显示单位是字符而不是图形方式下的象素,因而在屏幕上显示字符的位置坐标就用行和列表示。Turbo C 的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、窗口文本的清除和输入输出等函数。这些函数的有关信息(如宏定义等)均包含在 conio.h 头文件中, 因此在用户程序中使用这些函数时,必须用 include 将conio.h 包含进程序。 文本窗口的定义 Turbo C 默认定义的文本窗口为整个屏幕,共有 80 列 25 行的文本单元。如图 3-1 所示, 规定整个屏幕的左上角坐标为(1,1),右下角坐标为(80,25),并规定沿水平方向为X 2 轴,方向朝右;沿垂直方向为 Y 轴,方向朝下。每个单元包括一个字符和一个属性,字符即 ASCII 码字符,属性规定该字符的颜色和强度。除了这种默认的 80 列 25 行的文本显示方式外,还可由用户通过函数: void textmode(int newmode); 来显式地设置 Turbo C 支持的 5 种文本显示方式。该函数将清除屏幕,以整个屏幕为当前窗口,并移光标到屏幕左上角。newmode 参数的取值见表 3-1,既可以用表中指出的方式代码, 又可以用符号常量。LASTMODE 方式指上一次设置的文本显示方式,它常用于在图形方式 到文本方式的切换。 (1 列,1 行) (80 列,25 行) 第一行 第一列第 80 列 第 25 行 图 3-1 屏幕文本显示坐标 表 3-1 文本显示方式 方式 符号常量 显示列×行数和颜色 0 BW40 40×25 黑白显示 1 C40 40×25 彩色显示 2 BW80 80×25 黑白显示 3 C80 80×25 彩色显示 7 MONO 80×25 单色显示 -1 LASTMODE 上一次的显示方式 Turbo C 也可以让用户根据自己的需要重新设定显示窗口,也就是说,通过使用窗口设置函数 window()定义屏幕上的一个矩形域作为窗口。window()函数的函数原型为: void window(int left, int top, int right, int bottom); 函数中形式参数(int left,int top)是窗口左上角的坐标,(int right,int bottom)是窗口的右下角坐标,其中(left,top)和(right,bottom)是相对于整个屏幕而言的。例如,要定 义一个窗口左上角在屏幕(20,5)处,大小为 30 列 15 行的窗口可写成: window(20, 5, 50, 25); 若 window()函数中的坐标超过了屏幕坐标的界限,则窗口的定义就失去了意义,也就是说 定义将不起作用,但程序编译链接时并不出错。 窗口定义之后,用有关窗口的输入输出函数就可以只在此窗口内进行操作而不超出窗口的边界。 另外,一个屏幕可以定义多个窗口,但现行窗口只能有一个(因为 DOS 为单任务操作 系统)。当需要用另一窗口时,可将定义该窗口的 window()函数再调用一次, 此时该窗口便成为现行窗口了。 文本窗口颜色和其它属性的设置 文本窗口颜色的设置包括背景颜色的设置和字符颜色(既前景色)的设置,使用的函数及其原型为: 3 设置背景颜色函数:void textbackground(int color); 设置字符颜色函数:void textcolor(int color); 有关颜色的定义见表 3-2。表中的符号常数与相应的数值等价,二者可以互换。例如设定兰 色背景可以使用 textbackground(1),也可以使用 textbackground(BLUE),两者没有任何区别, 只不过后者比较容易记忆,一看就知道是兰色。 表 3-2 颜色表 符号常数 数值 含义 背景或背景BLAC

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档