附录1:
编写C/C++习作,可以多编写一些趣味程序,即增强能力,又提高兴趣,还便于在老师和同学面前展示,提高关注度。
在前面的章节中,本书已经提出,需要“在Windows SDK API的基础上,专门封装一套函数库,称之为C语言学习库(C-Language Study Libray,简称csl),该库封装了所有Winows下SDK画图的细节,提供了一个与Dos下编程相似的接口,不就两全其美了吗。”现在这个接口正式诞生,一个学习C/C++新的时代正式来临!下面就以Dev-C++为例说明之。
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002302602.jpg"></a>
(以下略......,具体可以参见书籍附录)
附录2:
文中涉及的部分程序提供了源代码和可执行文件的下载。 (在文章末整体打包下载)。
<b>实例1:你好程序员。</b>
打包文件名:test01.rar
程序截图:
<a target="_blank" href="http://blog.51cto.com/attachment/201104/001920276.jpg"></a>
程序代码:
#include "csl.h"
CSL_BEGIN_DOS
void cslMain()
{
initgraph(0, 800, 600);
outtextxy(300, 300, "大家好!这就是C语言学习库程序!");
getch();
}
<b>实例2:学习编写CSL程序</b>
打包文件名:test02.rar
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002130849.jpg"></a>
void DrawCommand(int left, int top, int right, int bottom, int i)
if (i) setcolor(WHITE);
else setcolor(DARKGRAY);
line(left,top,left,bottom);
line(left,top,right,top);
if (i) setcolor(LIGHTGRAY);
else setcolor(BLACK);
line(left+1,top+1,left+1,bottom-1);
line(left+1,top+1,right-1,top+1);
if (i) setcolor(DARKGRAY);
else setcolor(LIGHTGRAY);
line(left+1,bottom-1,right-1,bottom-1);
line(right-1,top+1,right-1,bottom-1);
if (i) setcolor(BLACK);
else setcolor(WHITE);
line(left,bottom,right,bottom);
line(right,top,right,bottom);
bar(left+2,top+2,right-2,bottom-2);
initgraph(0, 800, 600); //初始化窗口函数
setbkcolor(LIGHTGRAY);
cls();
flush(1); //快速刷新屏幕 ,csl特有函数
//画一个按钮控件
DrawCommand(100, 200, 360, 260, 1);
DrawCommand(380, 200, 640, 260, 0);
settextsize(2, 2); //设置字体大小,csl特有函数
//字体特技:凹字体
setcolor(DARKGRAY);
outtextxy(120, 210, "激活的按钮控件");
setcolor(WHITE);
outtextxy(121, 211, "激活的按钮控件");
//字体特技:凸 字体 setcolor(WHITE);
outtextxy(400, 210, "按下的按钮控件");
outtextxy(401, 211, "按下的按钮控件");
setcolor(BLACK);
outtextxy(100, 300, "大家好!学习使用CSL库编写C/C++习作。");
<b>实例3:CSL图形程序展示</b>
打包文件名:demo.rar
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002200407.jpg"></a>
<b>实例4:炮打飞机</b>
打包文件名:pdfj.rar
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002436282.jpg"></a>
<b>实例5:音乐演奏</b>
打包文件名:music.rar
程序截图:略
<b>实例6:俄罗斯方块</b>
打包文件名:rus.rar
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002453498.jpg"></a>
<b>实例7:最小的打字练习</b>
打包文件名:ttnb.rar
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002649436.jpg"></a>
<b>实例8:打字练习</b>
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002523845.jpg"></a>
<b>实例8:汇编语言设计3D动画程序</b>
特别说明:这个程序并非作者原创,而是1997年世界编程大赛第一名的作品。
打包文件名:asm3d.rar
<a target="_blank" href="http://blog.51cto.com/attachment/201104/002900237.jpg"></a>
本文转自 zhuyunxiang 51CTO博客,原文链接:http://blog.51cto.com/zhuyunxiang/554408,如需转载请自行联系原作者