海峡专班「C++语言及其应用」课程网页 (last update: 9/19/2017 11:43 PM)

本课程以Dev-C++Visual Studio为主要的编译环境,除了正课讲授的主题而规划相应的作业之外,另提供任课教师自行设计的应用范例程式码,希能帮助同学统合所学。任何语言的学习都需内化、充分练习方能运用自如,请同学发挥创造力与想象力,利用课后时间多做练习。愿大家收获丰富!

1单元

课程规划与评分方式

 

FYI2017年热门程序语言与薪水排行榜

FYI程序语言受欢迎的程度 (仅参考,毋需过度严肃看待)

 

[二岸词汇对照]

程式=程序變數=变量資料型態=数据类型字元=字符字串=字符串標頭檔=头文件陣列=数组指標=指针迴圈=循环函式=函数

作业:安装并使用Visual Studio (Visual C++ Express)Dev C ++程序开发环境

 

下载Dev-C++

下载Visual C++ Express 2010

2单元

Visual C++程序架构与数据型别

 

* 补充:窗体 (Windows Form) 程序之MessageBox的使用 (叶文德同学提供)

 

 

[老师补充]

* 制作Windows Form程序,主页面有PictureBoxLabelButton等组件,当按请按我钮,程序蹦出另一小窗口,新窗口上有<><><取消>,并显示招呼语 (执行画面)

* Dev-C++建置窗口程序

作业:“Hello World!”程序编写+执行

 

补充Visual Studio 2010版以后开发环境新增Windows Form的方式
参考来源

MyForm.cpp应新增的程序代码

影片教学

3单元

流程控制

 

 

[老师补充]

* 跑马表(argcargv、字符串转数字、stringstreamcout的使用;另以Sleep()kbhit()函数实作)

* 乘法器I、乘法器II

* 一闪一闪亮晶晶:利用rand()产生若干组坐标点,透过gotoxy()函数依坐标位置于屏幕显示‘*’,一段时间后消失,如此重复。可另用time()对随机数产生器作种子(seed)初值化设定

* vector结构的使用

* 读取键盘按键码

* Command-line interpreter:「命令提示字符」程序制作、多线程版本

* 打砖块小游戏程序(单线程版本、多线程版本I、多线程版本II)

练习

作业一

利用程序编写环境查阅MSDN描述sqrt()pow()log()log10()exp()floor()ceil()等数学函数的用法

4单元

数组与字符串

* 补充:字符串(string)

* 补充:字符数组 (测试档Weather.txt)

* 补充:指标的应用

 

 

[老师补充]

* 打字练习程序

* 档案处理:取得 TED 演讲字幕档、英中文并陈的方法 (程序代码)

* 利用STL (Standard Template Library)处理数据结构:以vector为例

* 利用STL处理数据结构:以list为例

* 利用STL处理数据结构:以set为例

作业二

作业三

作业四 (作业补充说明,内含程序代码供同学参考)

期中考

5单元

函式

函式进阶

 

[老师补充]

* 接啤酒小游戏:酒保把啤酒滑递给3个吧台尽头的客人,啤酒滑动的速度不一。酒客于吧台的另一端,利用键盘的上下箭头键控制,移动位置以迎接送来的酒,避免让其滑落吧台。当接到第六杯酒,程序结束,并显示漏接率

* 扩充「接啤酒小游戏」,使之能应付至多6个吧台的客人,按Space键暂停、按Esc键立即中止程序

*「传址呼叫」(pass by address)改为「传参考呼叫」(pass by reference)的方式传递数组 (范例)

* 递归函数的使用:把画面涂满(版本I、版本II)

作业五

练习

作业六

6单元

窗口应用程序基础操作

 

 

[老师补充]

* 读机器系统时间的小闹钟(版本I、版本II)

* 类动画程序:运用TimerprogressBar组件实作云宝宝图案在窗口内移动,迨progressBar进行到100%,程序自动关闭

* 类动画程序:移动的彩色光束(模拟开机画面)版本I、版本II

* 类动画程序:以Label对象实作的二砖块于窗体画面中进行2D独立运动,启始速度不同,碰触到边界或砖块相互碰撞时将依物理学的方式反弹

* 二圆相交决定弧长程序:就大小两个圆相交所决定的弧而言,小圆上的弧大于大圆上的弧长,为什么?半径r>=l的圆皆可在圆内找到长为2l的弦,此弦对应的弧长f(r)=2r*sin^{-1}(l/r)为递减函数,以绘图的形式呈现 (执行画面)

练习

测验

7单元

类别与物件

 

 

[老师补充]

* 贪吃蛇小游戏:[暖身]熟悉如何利用箭头键控制小龙的移动

* 二只贪吃蛇:一只蛇由使用者操控移动,另一只由程序决定移动方向。当二只蛇头部碰触到,程序随即结束。请思考如何将程序扩展成n只蛇的情形。版本I、版本II、版本III

* 蛇与星星:以随机的方式在屏幕任一位置显示‘*’,用户利用箭头键控制蛇的移动、避免被星星击中。一旦被击中三次,程序显示这只可怜的小生物呜呼哀哉,随即结束执行

* n只贪吃蛇:改以类别与对象的机制实作

作业八

作业九

8单元

继承、多型、样版

作业十

9单元

Managed Extensions for C++语法升级

作业十一:事件处理

10单元

例外处理与档案处理

作业十二:读档练习
("Weather, Arrays, Data File I/O”)

11单元

窗体和控件常用的成员

 

12单元

常用控件

 

13单元

工具栏容器

 

14单元

通用对话框的应用

 

15单元

数据工具的使用

 

16单元

补充教材

 

期末考试

网络资源

*  上课用书出版社提供的范例程式码勘误交流论坛

*  C/C++ Reference

*  Tutorial on C++

*  CLR (Common Language Runtime)

*  C++/CLI in Action – Declaring CLR Types

*  常见程序演算笔记

*  流程图(Flowchart)符号说明

*  查阅Unicode

*  https://s3.hicloud.net.tw/zuvio.public/public/system/images/irs_v4/irs/login/logo@2x.png给同学练习用的程序

*  Zuvio (课堂互动平台,第一次使用请以云科大电邮地址、密码123登入)

 

*  有任何意见,请随时与老师联络;分机:4245

*  助教:施博翔(EL407,分机4276)