课程设计题目及要求:汉字点阵
编写程序,根据用户的中文输入,在屏幕上输出相应的汉字点阵(用户一次输入一个汉字),如图 17.1 所示。要求程序能以正常、斜体、加宽、加高四种不同的方式显示汉字点阵,并能设置汉字点阵的字符图案。
第一部分:引言
进行课程设计:
1.重点掌握选择结构程序设计,循环结构设计。
2.进一步掌握自定义函数及其调用。
3.掌握简单的文件操作。
4.养成良好的编程习惯。
5.进一步学习C语言的标准库和函数的使用方法。
6.学习较长程序的编程。
实践依据:
1.点阵汉字原理使得计算机可以显示超过6000个的汉字,且程序简单,速度快运行良好,为计算机的使用者提供了许多便利。
2.可以在LED点阵显示屏上应用。
创新点:可以打印出字摸信息,更换打印出的汉字的背景。
实践意义:
通过计算机打印出点阵汉字,可以在LED显示屏上显示,为传播信息提供了极大地便利。
本次课程设计是在理论学习和基础实验的基础上,学习开发规模较大的程序,运用已掌握应用选择结构来解决实际问题。本次任务是设计一个能够实现以正常、斜体、加宽、加高四种不同的方式显示汉字点阵,并能设置汉字点阵的字符图案的程序。通过本次课程设计不仅可以加深对所学知识的理解,学到课内知识的扩展,也提高了把知识应用到实践中的能力。
第二部分:系统功能和原始数据
(1)原始数据:
输入一个汉字:语
输出:
(2)系统功能:编写程序,根据用户的中文输入,在屏幕上输出相应的汉字点阵(用户一次输入一个汉字)。程序能以正常、斜体、加宽、加高四种不同的方式显示汉字点阵,并能显示汉字点阵的字模信息,字符图案和背景图案。
第三部分:程序总体设计
(1)数据结构:无
(2)模块划分和层次结构:
模块划分:
模块分为主函数和子函数两块,在主函数中输入,调用所需的子函数行使不同的功能。
层次结构:
用户未下达退出命令前一直for循环,其中嵌套switch case语句。
(3)函数原型清单:
(4)程序总体框架
图4程序整体框图
(5)程序组织:
stdio.h: 标准输入输出。
stdlib.h:包含数值和文本之间的转换,内存分配,随机数和其它实用函数的函数原型。
conio.h:其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等
string.h:c语言里面关于字符数组的函数定义的头文件,常用函数有strlen、strcmp,strcpy等等
windows.h:它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。
第四部分:功能模块函数设计和调试
(一)功能分析:
将选项嵌套在一个无限循环中,除非用户选择停止,否者一直循环让用户选择所需的功能。
(二)算法描述:
定义主函数,打印出选项,每个选项调用相应的函数,用公式n=((区码-1)*94L+(位码-1))*32L算出汉字的区位码,改变打出字符的多少来实现汉字点阵的斜体,放大和缩小。
(三)程序流程图:
第五部分:程序清单
源代码:
第六部分:课程设计总结
对所选题目对应程序的运行情况做详细分析,总结本次设计所取得的经验和收获。如果程序未能全部调试通过,则应分析其原因。
运行情况:能正确运行各个选项的功能。
经验收获:得到了许多课内知识的灵活应用和拓展,学到了计算汉字区位码的公式,并将其表达出来,随意填充字符和背景字符,还有光标的移动方法,选择程序结构设计,能正确调用函数,能正确使用数组等,能将各个选项的应用成功表达出来。