ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:31.75KB ,
资源ID:10676020      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10676020.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言汉字的显示与放大程序.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言汉字的显示与放大程序.docx

1、C语言汉字的显示与放大程序电 子 信 息 与 电 气 工 程 系课程设计报告设计题目: 汉字的显示与放大程序 系 别: 电子信息与电气工程系 年级专业: 2006级电气大类专业 学 号: 学生姓名: 指导教师: 二零零七年 三月 十七日C 语言课程设计任务书论文题目汉字的显示与放大程序导师姓名设计技术参数1用二维字符型数组来接汉字点阵信息。2采用UCDOS下的基本汉字库,为16点阵。3本程序要求在图形化界面下作出汉字图形,需要相应的图形化驱动。设计要求设计完成一个能够从字库文件中调出汉字点阵信息并把它显示放大的程序,该程序能够根据需要放大倍数,显示在屏幕上。本程序由一人独立完成。应完成的内容1

2、第一周,熟悉汉字字符中信息的摆放方式。汉字内码与区位码的转换关系。编写部分程序实现汉字字库信息的取出。2第二周,继续字库的取出,汉字的放大,程序的调试、完善。完成任务报告。参考文献谭浩强C语言程序设计清华大学出版社刘振安C语言程序设计课程设计机械工业出版社朱剑平工程问题C语言求解清华大学出版社(第三版)任志宏C语言经典范例讲北京希望电子出版社摘 要 用C语言编写一个汉字显示与放大程序,设计完成一个能够从字库文件中调出汉字点阵信息并把它显示放大的程序,该程序能够根据需要放大倍数,显示在屏幕上。 使用UCDOS下的基本汉字库(16点阵)和graphic.h库中的作图函数,在TC2中用二维字符型数组

3、来接汉字点阵信息,最终在图形化界面下作出汉字图形。关键词:汉字库 作图函数 二维字符型数组目 录一、需求分析 05二、功能分析 05三、数据类型分析与设计06四、任务分配 06五、程序设计 07六、调试分析 10七、实习心得 11一、需求分析:C语言程序设计作为计算机类的专业基础课,目的是使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想, 能够熟练地使用C语言进行程序设计并具备调试程序的能力,为后继课程及其他程序设计课程的学习和应用打下基础。对于非计算机专业来说,该课程有实际应用价值,为用计算机解决实际问题提供了方法,是后续理论和实践教学的基础和重要工具,同时也是计算机二级考试所统一要

4、求的课程之一。本次课程设计实践培养学生正确的程序设计思想,增加软件设计的实践经验,将所学知识与生产结合, 训练并提高学生在分工合作、理论计算、结构设计、查阅设计资料等方面的能力,为往后进一步的学习打好基础。 二、功能分析:本程序能够利用相应的图形化驱动在图形化界面下作出汉字图形。具体来说,使用graphic.h库中的作图函数,从字库文件(UCDOS下的基本汉字库)中调出汉字点阵信息,实现内码与区位码的转换并把它显示在屏幕上,另外,程序还能够根据用户需要对放大倍数作出修改。三、数据类型分析与设计定义整型变量“int x,y”来进行位置设置;用字符型变量“char buffer32”来存储一个汉字

5、; 定义“FILE *fp”,文件指针fp指向文件FILE,实质是指向其中的结构体变量,从而通过结构体变量中的文件信息能够访问该文件; 定义寄存器变量“register m,n,i,j,k”(仅适用于整型变量和字符型变量);分别定义无符号的字符类型和偏移量“unsigned char qh,wh”“unsigned long offset”。另外,在main函数前做出声明“define ROW 1”和“define COL 2”分别控制纵、横坐标的放大倍数。四、任务分配“汉字的显示与放大程序”程序并不同于其他程序,它不是由多文件组成,整个程序为一个单文件,仅有一个函数。所以,我组的三名成员无法

6、分出数据模块,或每人做某一函数,全程序均由三人一起完成。五、程序设计 #include /TC图形库#include /标准输入输出头文件#include /open库函数#include /即iostream.h#include /库函数,提供应用运算、类型转换、程序环境处理等#include /控制台输入与输出,字符屏幕处理函数#define ROW 1 /纵坐标放大倍数#define COL 2 /横坐标放大倍数void main() int x,y; char *s=我;FILE *fp; /定义文件指针fp指向文件FILE,访问该文件 char buffer32; /buffer来存

7、储一个汉字register m,n,i,j,k; /寄存器变量(仅适用于整型和字符型变量) unsigned char qh,wh; /无符号的字符类型 unsigned long offset; /无符号的偏移量 int gd=DETECT,gm; /图形屏幕初始化;gd=graphdriver是指向图形驱动序号变量的指针;gm=graphmode是在gd选定后,指向图形驱动序号变量的指针 initgraph(&gd,&gm, ); /图形显示器和显示模式的路径的自动检测 if (fp=fopen(hzk16,rb)=NULL) /打开汉字库,该字库可以在ucdos中找到 printf(Ca

8、nt open haz16,Please add it); /输出语句 getch(); closegraph(); exit(0); x=20; y=100; /汉字显示位置设置 while(*s) /利用死循环 qh=*(s)-0xa0; /汉字区位码 wh=*(s+1)-0xa0;/算出汉字的区位码,一个汉字两个字节,分别用0、a0合成它的区位码 offset=(94*(qh-1)+(wh-1)*32L; /计算该汉字在字库中偏移量,汉字有94个区对应所在字库的位置,一个汉字点32字节 fseek(fp,offset,SEEK_SET); /将fp向前移动offset fread(buf

9、fer,32,1,fp); /取出汉字32字节的点阵字模存入buffer中(一个汉字) for (i=0;i16;i+) /将32位字节的点阵按位在屏幕上打印出来(1:打印,0:不打印),显示汉字 for(n=0;nROW;n+) for(j=0;j2;j+) for(k=0;k8;k+) for(m=0;m(7-k)&0x1)!=NULL) putpixel(x+8*j*COL+k*COL+m,y+i*ROW+n,GREEN);/按字节分解,相加对应的坐标,将对应的0和1进行画点,1画、0不画则显示阳型汉字,反之阴型 s+=2; /因为一个汉字内码占用两个字节,所以s必须加2 x+=30;

10、/进行相应的放大和偏移 getch();closegraph(); 结果如下图:六、调试分析原先,我们在TC3中进行程序编写,结果TC3根本无法调用图形库graphic.h,所以改用TURBOC2,在虚拟DOS中编写。不同于C+的是,DOS环境下不承认汉字,于是我们又插入“天汇”汉字系统,其运行方式如图6.1所示。随后有两大麻烦:一个是路径设置问题导致程序无法运行,改进方法是将文件全部安装于一个盘(如C盘),然后在DIRECT中改变默认路径为所用盘符;另一个是如何将汉字放大,记得我们组一再地在主函数中调试,结果完全不变,最后发现竟然是在主函数前的声明中改变初始化赋值。6.1七、实习心得 由于这

11、次课程设计并不是像以前停课两周专门去做,而是一边上课一边做的,所以说实话很累,但当我可以随便调整黑屏上绿字的大小时,我由衷得感到一切都是那么值得。过程中我们遇到了无数的困难,记得刚开始我们参考的是网上的废程序,结果竟然显示“too many errors”!后来编写对了源代码确又发现不能在TC3下运行,碰了好多此壁,才知道应该在TC2下运行。庆幸的是我们都从未想过放弃,最终取得了成功两周来,我第一次利用图书馆的资源来解决我所遇到的难题,第一次利用互联网来学习,这才感觉到我的知识是多么的匮乏。现在我觉得经过这次C语言课程实践,我培养了语言综合应用能力,养成了良好的编程风格,学会编写中小型程序,掌

12、握了所学的程序设计思想,增加了软件设计的实践经验,增加了分析和解决工程技术问题的能力。对以后的进一步深入学习具有良好的启蒙和推动作用。另外,这次C语言课程实践让我知道了怎样和搭档一起合作,相互帮助,相互学习,为了共同的目标而努力,使我们小组成员之间的感情进一步加深,而且也提高了成员的独立思考和动手能力以及如何与他人配合,为了共同的目标而努力。最后,感谢在实习中一直给予我们指导的李樱老师,他对我们的程序提出了宝贵的建议。也谢谢其他小组成员对我们在程序中出现的错误予以纠正。参考文献:1 谭浩强C语言程序设计清华大学出版社 刘振安C语言程序设计课程设计机械工业出版社 朱剑平工程问题C语言求解清华大学出版社(第三版) 任志宏C语言经典范例讲北京希望电子出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1