晚上,突然收到导师一份加急的实验报告,要求用以点阵的方式输出所给汉字。
![fd14a515467a03df2309e00466c7a8dc.png](https://i-blog.csdnimg.cn/blog_migrate/0e8bc8578ce31cf493f8b8dcc3455e04.jpeg)
老中医治疗你的颈椎病:https://www.bilibili.com/video/av45286925/
理工男之上,程序猿未满的自己立马抄起电脑,开启了Bug的一晚。
算是大三的老煤灰了,但仅仅掌握C语言一点皮毛的事实实在难以启齿,考量之后,选择了在点格纸上写出所需汉字,定位构成汉字的每个点之后再逐行进行输出,暂时没有其他办法,只好硬着头皮做了起来。
![d2c2ad008e729b2d9b1c9d5b13dffb48.png](https://i-blog.csdnimg.cn/blog_migrate/71240edee2b8892402d10735b76306d1.jpeg)
应该是16*16点阵的,因为偷懒只画了10行10列
为了简便,先在纸上画一个10*10的点阵,用铅笔连接点构成汉字,再将构成汉字的点定位并编程输出。
![f119f62fd5124639256c8b0b5665a390.png](https://i-blog.csdnimg.cn/blog_migrate/154b4f24c364c80901aafd9b77e6489f.jpeg)
一次又一次地涂抹擦除,最终,在这些结果中找到了比较好看的“我”,并将点描在了方格纸上。
![9f51108b0ba454a5ea80036b10ad3cfe.png](https://i-blog.csdnimg.cn/blog_migrate/fd679cc76d0109fe6e7d6a08ee6d966f.jpeg)
用10条printf语句输出结果:“我”,怎么样,是不是很像?好了,我说像就是像,不许反驳。
![b2356273b4d3d506e80e6171b7ef3f83.png](https://i-blog.csdnimg.cn/blog_migrate/3047b4666b44426b78cada33bcf3bbad.png)
深知程序存在巨大缺陷的自己又进行了反思。在尝试了for循环[似乎这并不是一个循环]、case选择[结果仍然没有改变]、以及cout和setw()语句[刚刚开课的C++]仍然无果后,我决心找到一种方便快捷的办法,于是便打开了百度。
![d4bc47ebc9d6e9dcb9380faad9dbafd0.png](https://i-blog.csdnimg.cn/blog_migrate/ef745b9feab3378e8da0835b82c45322.jpeg)
网址:https://blog.twofei.com/embedded/hzk.html
不懈的努力之后,终于找到了HZK16*16点阵字库的使用方法,迫不及待地点了进去。了解其原理后,我将示例的代码敲在了编译器上,却没有得到想要的结果。
![e64d99c8f46f7ec7cd5d170855acadba.png](https://i-blog.csdnimg.cn/blog_migrate/f1a347cc21b281987f96c608eca13748.jpeg)
论坛上给出的理由是没有安装点阵字库,经过一番搜索,将HZK16*16点阵字库文件下载并复制到了程序所在的文件夹,再次运行,哈哈!一个完美的“我”终于显示了出来。
![e411d06b76f19592f6b29fc64bc99ac2.png](https://i-blog.csdnimg.cn/blog_migrate/9f2dd2a8857fdb921965ca86009060ab.jpeg)
接下来就是通过增加循环,将程序功能变为利用点阵显示多个汉字,将最终的结果输出:
#include #include int main(void)
{
FILE* fphzk = NULL;int i, j, k, offset;int flag;unsigned char buffer[32];unsigned char word[5];unsigned char key[8] = {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01
};
fphzk = fopen("hzk16", "rb");if(fphzk == NULL){fprintf(stderr, "error hzk16\n");return 1;
}while(1){……………………
调试、运行,又一次遇到了Bug,屏幕一片空白……我赶紧用鼠标猛戳了几下,
![9a7189ee963d995d2cd622a30e223a22.png](https://i-blog.csdnimg.cn/blog_migrate/1c62e02b4819b82ee778d509238d41b9.jpeg)
还好……完美运行!
我们鲜有华丽的辞藻,
少些脉脉的情诗,
却 浪漫不减 一往情深,
只想将这枯燥的代码变成悦动的音符,
向你诉说内心深处的情话。
在这里,理工男们用最真挚的方式向各位小仙女们说一声:
“女生节快乐哟!”
关注并回复女生节快乐,即可获取代码文本~
中国矿业大学(北京)机电与信息工程学院
新媒体工作室 | 微思潮 出品
本期编辑/孙成浩
责任编辑/孙成浩
责任主编/李运凯
投稿邮箱:weisichao2014@163.com