C语言项目实践指导书(图形程序设计)

上传人:re****.1 文档编号:507728528 上传时间:2023-05-30 格式:DOCX 页数:45 大小:67.56KB
返回 下载 相关 举报
C语言项目实践指导书(图形程序设计)_第1页
第1页 / 共45页
C语言项目实践指导书(图形程序设计)_第2页
第2页 / 共45页
C语言项目实践指导书(图形程序设计)_第3页
第3页 / 共45页
C语言项目实践指导书(图形程序设计)_第4页
第4页 / 共45页
C语言项目实践指导书(图形程序设计)_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《C语言项目实践指导书(图形程序设计)》由会员分享,可在线阅读,更多相关《C语言项目实践指导书(图形程序设计)(45页珍藏版)》请在金锄头文库上搜索。

1、大连东软信息学院电子工程系2014级 本科C语言项目实践指导书(图形程序设计)2015年8月大连东软信息学院Dalian Neusoft University of Information目 录0 C语言图形程序开发环境(4学时)- 2 -1 图形模式的初始化- 2 -2 独立图形运行程序的建立- 6 -3 屏幕颜色的设置和清屏函数(4学时)- 7 -4 基本图形函数(4学时)- 10 -5 封闭图形的填充(4学时)- 16 -6 有关图形窗口和图形屏幕操作函数(4学时)- 21 -7 图形模式下的文本输出(4学时)- 24 -8 使用gotoxy & window函数(2学时)- 30 -9

2、 按键(4学时)- 32 -10 TC向VC控制台程序移植(2学时)- 34 -11 菜单制作(6学时)- 40 -12 综合程序设计(12学时)- 40 -补充1 声音- 41 -补充2 鼠标- 41 -参考文献- 44 -C语言项目实践(图形程序设计)分为14个部分(节),主要实践内容包括图形模式的初始化、基本图形功能、图形窗口以及图形模式下的文本输出等图形函数的使用,以及按键处理、菜单制作、TC向VC控制台程序移植、声音和鼠标的添加等。学生通过编辑、编译、调试、运行项目报告中的原代码和回答相关的问题,掌握C语言图形应用程序中常用函数的作用与使用方法,并综合运用C语言程序设计和数据结构课程

3、所学知识,设计、实现具有创新功能的程序。成果物是一个综合性较好的图形应用程序和项目报告。项目报告中除了第2节,其它各节都有程序练习和问题,由学生按要求填写完成。0 C语言图形程序开发环境(4学时)C语言项目实践(图形程序设计)的开发环境是Turbo C。Turbo C集成开发环境是由Borland公司开发的一套 C 语言开发工具,它集成了程序编辑、调试、链接等多种功能。关于Turbo C 2.0的安装与使用参考“Turbo C 2.0集成开发环境.pdf”文档。 Turbo C提供了非常丰富的图形函数,所有图形函数的原型均在graphics. h中。使用图形函数时要确保有显示器图形驱动程序*B

4、GI,同时将集成开发环境Options/Linker中的Graphics lib选为on,只有这样才能保证正确使用图形函数。如果想用C语言在VC+编译器中编辑图形界面程序,需安装VC+和EasyX。 EasyX是基于C+开发的,与TC的图形库一定程度上保持一致。关于VC+和EasyX 图形库的安装将在第10节“TC向VC控制台程序移植”部分进行说明。1 图形模式的初始化不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器,在不同模式下也有不同分辨率。因此,在屏幕作图之前,必须根据显示器适配器种类将显示器设置成为某种图形模式,在未设置图形模式之前,微机系统默认屏幕为文本模式(80列, 25

5、行字符模式),此时所有图形函数均不能工作。设置屏幕为图形模式,可用下列图形初始化函数:void far initgraph(int far *gdriver, int far *gmode, char *path);其中gdriver和gmode分别表示图形驱动器和模式,path是指图形驱动程序所在的目录路径,如:C:TC20BGI或c:tc等。有关图形驱动器、图形模式的符号常数及对应的分辨率见表1。图形驱动程序由Turbo C出版商提供,文件扩展名为.BGI。根据不同的图形适配器有不同的图形驱动程序。例如对于EGA、VGA图形适配器就调用驱动程序EGAVGA.BGI。表1.1 图形驱动器、模

6、式的符号常数及数值图形驱动器(gdriver)图形模式(gmode) 色调分辨率符号常数数值符号常数数值CGA1CGAC00C0320*200CGAC11C1320*200CGAC22C2320*200CGAC33C3320*200CGAHI42色640*200MCGA 2MCGAC00C0320*200MCGAC11C1320*200MCGAC22C2320*200MCGAC33C3320*200MCGAMED42色640*200MCGAHI52色640*480EGA3EGALO016色640*200EGAHI116色640*350EGA644EGA64LO016色640*200EGA64H

7、I14色640*350EGAMON5EGAMONHI02色640*350IBM85146IBM8514LO0256色640*480IBM8514HI1256色1024*768HERC7HERCMONOHI02色720*348ATT4008ATT400C00C0320*200ATT400C11C1320*200ATT400C22C2320*200ATT400C33C3320*200ATT400MED42色320*200ATT400HI52色320*200VGA9VGALO016色640*200VGAMED116色640*350VGAHI216色640*480PC327010PC3270HI02色

8、720*350DETECT0用于硬件测试例1.1:使用图形初始化函数设置VGA高分辨率图形模式。#include int main()int gdriver, gmode;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, c:tc);bar3d(100, 100, 300, 250, 50, 1); /*画一长方体*/getch();closegraph();return 0;有时编程者并不知道所用的图形显示器适配器种类,或者需要将编写的程序用于不同图形驱动器,Turbo C提供了一个自动检测显示器硬件的函数,其调用格式为:void det

9、ectgraph(int *gdriver, *gmode);例1.2:自动进行硬件测试后进行图形初始化。#include int main()int gdriver, gmode;detectgraph(&gdriver, &gmode); /*自动测试硬件*/printf(the graphics driver is %d, mode is %dn, gdriver, gmode); /*输出测试结果*/getch();initgraph(&gdriver, &gmode, c:tc);/*根据测试结果初始化图形*/bar3d(10, 10, 130, 250, 20, 1);getch(

10、);closegraph();return 0;上例程序中先对图形显示器自动检测,然后再用图形初始化函数进行初始化设置,但Turbo C提供了一种更简单的方法,即用gdriver = DETECT 语句后再跟initgraph()函数就行了。采用这种方法后,上例可改为:例1.3:#include int main()int gdriver=DETECT, gmode;initgraph(&gdriver, &gmode, c:tc);bar3d(50, 50, 150, 30, 1);getch();closegraph();return 0;另外,Turbo C提供了退出图形状态的函数clo

11、segraph(),其调用格式为:void far closegraph(void);调用该函数后可退出图形状态而进入文本方式(Turbo C默认方式),并释放用于保存图形驱动程序和字体的系统内存。程序练习1.1:编辑例1.3程序,存为.c文件,在TC环境下编译、调试、运行,运行结果如图1.1所示。图1.1 初始化图形程序运行结果截图问题1.1:写出初始化图形程序的必要步骤。问题1.2:关于图形程序的初始化,你遇到的问题和解决方法是什么?问题1.3:修改代码snake.c,进行代码规范性练习。修改后规范的代码:2 独立图形运行程序的建立Turbo C对于用initgraph()函数直接进行的图形初始化程序,在编译和链接时并没有将相应的驱动程序(*.BGI)装入到执行程序,当程序进行到intitgraph()语句时,再从该函数中第三个形式参数char *path中所规定的路径中去找相应的驱动程序。若没有驱动程序,则在C:TC中去找,如C:TC中仍没有或TC不存在,将会出现错误:BGI Error: Graphics not initialized (use initgraph)因此,为了使用方便,应该建立一个不需要驱动程序就能独立运行的可执行图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例):(1)在C:TC

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号