《VC++程序设计》教学大纲

2024-04-13

《VC++程序设计》教学大纲(通用8篇)

篇1:《VC++程序设计》教学大纲

《Visual C++与面向对象程序设计》教学大纲

课程编号:

课程类型:计算机科学

学 时:48(其中讲课32,机时16)学 分:3 适用对象:计算机及理科的全部或部分专业 先修课程:计算机文化基础 使用教材及参考书:

《Visual C++与面向对象程序设计(第二版)》,吕军等,高教出版社,2003年8月 《Visual C++与面向对象程序设计》,刘路放,高教出版社

一、课程的性质、目的及任务

“Visual C++程序设计”是面向计算机类各专业的必修计算机类专业基础课程。该课程介绍基本的程序设计技术,包括结构化程序设计方法(SP)、面向对象的程序设计方法(OOP)以及使用Visual C++和MFC开发WINDOWS应用程序的技术。通过本课程的学习,使学生掌握现代程序设计的基本理论和方法,能用Visual C++进行基本的WINDOWS应用程序设计。

本课程的重点在培养学生的实际应用软件开发能力.二、教学基本要求

通过本课程的学习,在结构化程序设计方法和面向对象的程序设计方法的基本理论研究WINDOWS应用程序开发和MFC编程能力方面达到以下基本要求:

1.熟悉计算机程序的基本组成要素,包括数据类型、程序流程、函数和指针等基本概念; 2.理解结构化程序设计方法(SP)的理论,掌握“自顶向下,逐步求精”的程序设计技术,可设计含有分支、循环和模块(函数)的程序; 3.掌握C++的基本流程控制;

4.理解类、对象、封装、继承和多态性等面向对象程序设计(OOP)概念,掌握基本的面向对象程序设计方法;

5.理解WINDOWS的消息机制和WINDOWS应用程序的基本结构;

6.掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法,Visual Studio中的AppWizard、ClassWizard、资源编辑器和调试器等工具的方法,可用Visual C++开发基本的WINDOWS应用程序。

三、教学内容及要求

1.Developer Stadio集成开发环境

主要内容:软件开发、算法、程序的基本知识;C++程序的基本要素以及Visual C++的集成开发环境使用初步。

基本要求:了解C++程序的基本特点, 熟悉Visual C++集成开发环境的基本使用方法。2.控制结构

主要内容:结构化程序设计方法的基本思想以及C++的基本控制结构和控制转移语句。基本要求:掌握结构化程序设计方法的基本思想和C++的几种基本控制转移语句,熟悉使用伪代码的编程方法。3.数据类型

主要内容:C++的基本数据类型以及常数、变量和数组的使用方法。

基本要求:掌握几种基本数据类型, 包括字符型、整型、长整型、浮点和双精度数据类型的基本概念, 以及常数、变量和数组的使用方法。4.表达式

主要内容:介绍C++的表达式和表达式语句。基本要求:熟练掌握C++的各种表达式, 特别是赋值表达式及其他有副作用的表达式。5.函数

主要内容:介绍C++函数的定义、声明和调用方法。

基本要求:熟练掌握C++函数的编写和调用方法,以及内联函数、函数重载和递归函数的概念。

6.指针与引用

主要内容:介绍C++中指针和引用的基本概念。

基本要求:理解和掌握指针的基本概念,以及指针型变量的声明方法、怎样通过指针类型的变量去访问某个变量或数组元素的值;引用的概念和用法。7.类与对象

主要内容:介绍面向对象程序设计方法的基本原理以及类和对象的概念。

基本要求:掌握面向对象的程序设计思想,类和对象的概念,以及类的声明方法和对象的引用。

8.继承与多态性

主要内容:介绍类的继承与派生、虚函数和运算符重载等面向对象程序设计的基本概念。基本要求:深入理解面向对象程序设计方法的基本思想,包括封装、继承和多态性及其在C++中的实现方法。

9.WINDOWS应用程序的特点

主要内容:介绍WINDOWS编程的基本思想和MFC程序框架的基本结构。

基本要求:理解WINDOWS的基本编程思想,特别是其消息传递机制,弄清MFC程序的组成及各部分的作用。10.图形设备接口

主要内容:介绍Windows的图形设备接口(GDI)和MFC的图形对象。

基本要求:了解图形设备接口的概念,掌握画笔、画刷和字体的用法,以及逻辑坐标和设备坐标的概念。11.资源

主要内容:介绍资源的概念以及图标、位图、菜单、工具栏和状态栏等资源的编程方法。基本要求:掌握Developer Studio的各种资源编辑器的用法,能在应用程序中添加图标、位图、菜单和工具条等资源并进行相应的编程工作。12.文档视图结构

主要内容:介绍MFC的文档/视图程序结构。

基本要求:理解文档/视图结构,可在AppWizard生成的应用程序框架的基础上添加必要的代码,以生成自己的应用程序。13.序列化与文档打印

主要内容:介绍在文档/视图结构中文档读写的基本手段——序列化,以及文档打印的编程技术。

基本要求:理解序列化的基本思想和MFC的打印工作流程,可编写相应的处理程序。14.对话框与控件 主要内容:介绍对话框和控件的概念,以及常用控件的使用方法和基于对话框的应用程序编程。

基本要求:理解对话框、对话框模板和控件的概念,掌握常用控件的使用方法以及基于对话框的应用程序开发,以及数据交换和验证机制,可编写使用对话框的应用程序。

四、实验环节

实验

一、Visual Studio集成环境及C++程序的输入、调试和运行(4学时,分2次完成)实验

二、面向对象程序设计(4学时,分2次完成)

实验

三、基本WINDOWS应用程序编程(4学时,分2次完成)实验

四、文档/视图结构程序设计(2学时,分1次完成)实验

五、对话框应用程序设计(2学时,分1次完成)

五、学时分配表

说明:本课程为实行“精讲多练”教学改革的课程, 重视实验环节.本课程分为16个教学单元, 每单元3学时, 两学时授课, 1学时上机实验.授课采用有联机大屏幕投影的电化教学手段进行.序号 内 容 分配学时数 Developer Stadio集成开发环境

控制结构数据类型

表达式

函数指针与引用类与对象

继承与多态性WINDOWS应用程序的特点

图形设备接口

资源文档视图结构序列化与文档打印对话框与控件

总计

2 2 2 2 2 2 2 2 2 2 4 2 4 32

考核方法: 笔试

2004年12月

篇2:《VC++程序设计》教学大纲

总学时:54

学分:3 理论学时:34

实验学时:20 面向专业:计算机科学与技术课程代码:2710015 先开课程:数据结构、C语言、面向对象程序设计课程性质:选修 执笔人:张磊审定人:陈龙猛、于仁师 第一部分:理论教学部分

一、说明

1、课程的性质、地位和任务

《VC++程序设计》最重要的任务是发展学生的智力,即编程、上机调试能力,具体到教学内容上则是重在使学生掌握理论教学中的重点和难点,对VC++语言的编程技巧能熟练掌握,提高自身的编程能力,加强素质教育。注重从事理论研究、实验工作的能力和严谨的科学作风的培养,提倡创新精神。

2、课程教学和教改基本要求

本课程主要讲解Visual C++6.0的语法结构、体系结构、各种组件,以及微软在Visual C++6.0中推出的各种新技术。通过本课程的学习,使学生熟悉采用面向对象编程语言进行Windows 可视化开发,掌握面向对象的编程思想,熟悉面向对象编程的消息响应。

本课程主要采用多媒体教室讲课,讲课与上机实验相结合,并辅以实际应用案例、常见问题分析等,巩固所学内容,基本要求如下:(1)掌握面向对象程序设计的基本概念(2)熟悉Visual C++集成开发环境

(3)掌握Visual C++语言的基本内容、常用的算法

(4)理解WINDOWS的消息机制和WINDOWS应用程序的基本结构

(5)掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法

(6)可用Visual C++开发基本的WINDOWS应用程序

二、教学内容与课时分配

第一章

Visual c++概述(学时数:1)

本章将重点介绍Visual c++的总体功能和特点,具体讲述Visual c++6.0版的安装过程,并详细介绍。教学内容:

1、Visual c++开发环境、Visual c++向导、Visual c++应用程序环境。

2、Visual c++安装过程。

3、Visual c++菜单栏、Visual c++工具栏、Visual c++工作区、Visual c++资源编辑器。本章重点难点:Visual c++6.0版开发环境的熟悉

建议教学方法:先讲解主要知识点,再通过多媒体演示达到教学效果。思考题

1、Visual c++的安装有什么要求?

2、Visual c++的帮助文件如何安装?

3、简单描述Visual c++开发环境?

第二章使用Visual c++创建控制台程序(学时数:2)

本章主要通过一个具体实例——“Hello World”程序,演示Visual c++开发环境下建立一个控制台程序的完整过程。教学内容:

1、创建“Hello world”程序的基本步骤。

2、创建控制台程序的输入、输出。

3、熟悉控制台程序句柄与I/O。

4、解析控制台程序窗口。

本章重点难点:Visual c++6.0版开发环境的熟悉

建议教学方法:先讲解主要知识点,再通过实例讲解进行巩固 思考题

1、如何控制自定义控制台程序的输入、输出?

2、如何读取控制台程序中的文字与背景?

3、如何在控制台窗口的指定部位写入指定的字符信息? 第三章使用Visual c++创建windows应用程序(学时数:2)

本章将传统Windows应用程序和以MFC为基础的Windows应用程序作比较,并详细介绍应用程序向导的使用方法和Visual c++的消息系统及其消息映射机制。教学内容:

1、简介传统windows程序。

2、概述Visual c++中windows程序。

3、介绍如何使用向导生成应用程序。

4、介绍如何使用Visual c++中的消息与命令。

本章重点难点:如何使用向导生成应用程序、如何使用Visual c++中的消息与命令。建议教学方法:知识点的详细讲解,结合例子。思考题

1、使用Windows API编程与使用MFC编程有什么区别?

2、用户如何定义消息?

3、简述MFC消息映射的机制?

第四章

windows可执行程序的基本类型(学时数:2)

本章主要介绍Visual c++的三种应用程序类型:对话框应用程序、单文档应用程序和多文档应用程序。详细阐述Windows系统对话框的类型及其在Visual c++的制作方法。教学内容:

1、对话框应用程序的制作。

2、文档应用程序的制作。

本章重点难点:多文档应用程序的制作

建议教学方法:知识点讲解,多媒体实例演示。思考题

1、Windows程序有几种类型?

2、如何创建和使用非模式对话框?

3、文档、视图与文档模板的关系是什么? 第五章

windows标准控件的使用(学时数:3)本章主要介绍Windows中的几种常用控件表头控件、图像列表控件、列表控件、树控件、标签控件、进度条控件等及其在Visual c++的实现方法 教学内容:

1、如何使用表头控件。

2、如何使用图像列表控件。

3、如何使用列表控件。

4、如何使用树控件。

5、如何使用标签控件。

6、如何使用进度条控件。

7、如何使用滑动条控件。

8、如何使用状态条控件。

本章重点难点:各个控件的具体使用方法和用途 建议教学方法:知识点讲解,多媒体实例演示。思考题

1、如何绘制ListCtrl和TreeCtrl中Item的背景颜色?

2、如何在对话框中使用控件与在普通的窗口中使用控件有什么不同?

3、应用控件表头控件、图像列表控件、列表控件、树控件、标签控件等创建一个简单的应用程序?

第六章使用Visual c++编写多媒体程序(学时数: 4)本章主要介绍如何在Visual c++中实现图像、声音、视频等多媒体应用程序的制作。教学内容:

1、介绍几种多媒体数据格式

2、位图操作方法

3、多媒体控制实现方法。

4、简介DirectX编程

本章重点难点:多媒体数据格式、多媒体控制实现方法 建议教学方法:知识点的重点讲解,多媒体实例演示。思考题

1、如何在对话框中显示位图?

2、编写一段程序,实现播放MIDI的功能?

3、DirectDraw与GDI编程有什么区别?

第七章使用Visual c++编写数据库程序(学时数: 4)本章主要介绍Visual c++中三种主要的访问数据库的方法:使用ODBC访问数据库、使用DAO访问数据库、使用ADO访问数据库。教学内容:

1、如何使用ODBC访问数据库。

2、如何使用DAO访问数据库。

3、如何使用ADO访问数据库。

4、说明ODBC与DAO的常用类

本章重点难点:使用ODBC、ADO访问数据库 建议教学方法:知识点的重点讲解,同类的对比 思考题

1、如何配置ODBC数据源,使用MFC如何配置数据源?

2、使用DAO可以打开SQL Server数据库吗?

3、试使用DAO实现如下功能:创建数据库、创建表、然后实现数据库程序的增、删、改、查的功能?

第八章使用Visual c++编写网络应用程序(学时数:4)本章主要介绍如何使用Visual c++编写对网络进行操作的程序。教学内容:

1、Winsock编程技术简介、示例演示。

2、WinInet编程技术简介、示例演示。本章重点难点:WinInet编程技术

建议教学方法:知识点讲解,实例演示相结合。思考题

1、如何编写程序实现“ping”的功能?

2、试使用CAsyncSocket类和派生CSocket类,编写不同主机的通讯程序?

3、试使用MFC编写FTP程序,并能够实现断点续传功能? 第九章使用Visual c++编写动态链接库程序(学时数:4)本章重点讲解如何使用Visual c++编写动态链接库程序。教学内容:

1、动态链接库类型和生成。

2、如何使用动态链接库。

本章重点难点:动态链接库的生成、如何使用动态链接库。建议教学方法:知识点讲解。思考题

1、创建导出函数的方法有几种?

2、.LIB文件和.DLL文件有什么联系?功能是什么?

3、DLL的调用方式有几种,有什么区别?

第十章使用Visual c++编写多线程程序

(学时数:3)本章主要介绍两种建立线程的方法:线程间通讯和线程同步。教学内容:

1、如何编写多线程程序。

2、如何实现线程通讯。

3、如何实现线程同步。

本章重点难点:编写多线程程序。

建议教学方法:知识点的讲解与多媒体演示教学结合 思考题

如何定义线程的优先级?

如何知道一个线程的运行情况? 如何实现线程同步?

第十一章

COM编程简介

(学时数:3)本章简单介绍COM编程的基本概念和方法。教学内容:

1、介绍COM的基本概念。

2、概述COM编程。

3、创建COM程序

本章重点难点:介绍如何创建COM程序。思考题

1、COM与ActiveX有什么区别与联系?

2、COM组建最基本的接口是什么?

3、简述COM对象的生成与销毁过程

第十二章

Visual c++的调试技术

(学时数:2)本章将简单介绍Visual c++的调试技术。教学内容:

1、讲解Visual c++的基本调试技巧。

2、介绍TRACE和ASSERT的使用。

本章重点难点:Visual c++的基本调试技巧。建议教学方法:多媒体演示教学 思考题

1、编写一个简单程序,使用调试器在汇编级别跟踪它的运行情况?

2、断言的使用有什么优点?有几种断言宏?

3、如何观察程序是否有资源泄漏?

三、本课程考核方式、方法

本课程理论部分采用笔试方式,共100分:闭卷考试,占60%;上机实验占20%;平日作业占10%,出勤占10%。第二部分:实验教学部分

一、说明

1、本门课程实验的性质任务、目的与要求

实验是本课程教学的一个非常重要的环节,采取上机的形式进行。本实验课程的教学目标是使学生通过20课时的上机实验,认识并学会VC++集成环境的基本使用,掌握计算机程序的编辑,编译、调试和运行的一系列操作步骤和方法,理解并消化课堂中学到的理论知识,锻炼分析解决问题的能力。初步掌握计算机编程及调试技术,为今后计算机应用在本专业领域打下良好的基础。

基本要求:熟悉Visual C++的集成开发环境、掌握编程步骤、Visual C++语言基础,能用该开发工具设计,编写简单、实用的应用程序。

2、本门课程实验项目设置情况 序号

实验名称

学时

必开

选开

实验类型

内容提要

验 证

基本 操作

综 合设 计

应 用

创 新

VC++语言使用 环境 √

VC集成环境及应用程序创建初步

Visual C++简单程序初步设计

建立简单的Visual C++应用程序

Windows标准控件的使用 √

熟悉Windows中的几种常用控件及其在Visual c++中的实现

编写多媒体程序 √

熟悉在Vc++中实现图像、声音、视频等多媒体应用程序的制作

Visual c++中访问数据库的主要方法 √

熟悉VC++中三种主要访问数据库的方法并学会创建

网络应用程序的编写 √

学会使用Vc++编写对网络进行操作的程序

动态链接库程序的编写 √

学会使用Vc++编写动态链接库程序

Visual c++的调试

熟悉并掌握Visual c++的基本调试技巧

二、各实验项目教学要求。

1.实验目的:学习操作使用,理解消化理论知识,理论联系实际,掌握可视化面向对象程序的设计、编辑、调试、运行等基本技能,强化程序设计思想,培养分析问题解决问题的能力。2.所需仪器设备及材料:Pentium以上微机,Windows98以上操作系统,安装Visual C++ 6.0.3.实验步骤:

开机启动编辑运行环境; 建立工程; 程序设计; 存盘调试运行;

重复步骤(3)-(5); 关闭系统。

4.问题讨论,编写实验报告等; 5.各项实验内容

VC++语言使用环境:熟悉Visual C++及其开发环境;初步了解运行一个C++及Visual C++程序的过程。

Visual C++简单程序初步:进一步熟悉Visual C++语言环境;明确Visual C++语言程序的结构,掌握Visual C++语言程序的书写格式。

Windows标准控件的使用:掌握Windows中的几种常用控件表头控件、图像列表控件、列表控件、树控件、标签控件、进度条控件等及其在Visual c++的实现方法。

编写多媒体程序:了解多媒体数据格式,掌握实现图像、声音、视频等多媒体应用程序的制作的方法。

Visual c++中访问数据库的主要方法:掌握Visual c++中三种主要的访问数据库的方法:使用ODBC访问数据库、使用DAO访问数据库、使用ADO访问数据库的方法。

网络应用程序的编写:掌握如何使用Visual c++编写对网络进行操作的程序的方法。动态链接库程序的编写:了解并掌握动态链接库的生成、如何使用动态链接库。Visual c++的调试:了解并掌握使用Visual c++的基本调试技巧。

三、考核方式和成绩评定要求等。

篇3:VC++程序设计教学探讨

VC++程序设计课程是目前计算机专业学生的一门专业课程。VC++作为一个功能强大的可视化应用程序开发工具, 是计算机界公认的最优秀的应用开发软件之一。Microsoft的基本类库MFC, 更增强了VC++语言的开发功能, 使得开发大型的Windows应用程序比以往任何时候都要容易。同时, C++语言, 也是当前计算机界最流行的语言之一, 掌握Visual C++语言的编程技术, 对于学生就业也是大有助益的。

作为Windows平台下的最优秀的语言之一的VC++语言, 容开发、编译、调试、发布于一体的开发环境, 节省了用户开发程序的时间和精力, 但对于初学者来说, 却增加了学习的难度。很多学生在学了很长时间的课程, 还是把握不住VC语言程序设计的精髓, 对程序的框架很模糊, 只会利用代码自动生成功能, 不会自己写程序, 更不敢修改程序。教学效果很不理想。本人根据自己的教学, 总结了当前学生存在的问题:

对Windows程序框架模糊, 难以从整体上理解程序的运行过程。

MFC类库的引入, 更增加了对程序框架理解的难度。

MFC定义的类型和WINDOWS定义的类型繁杂, 增加了记忆难度。

对面向对象编程理解不深, 看不懂代码。

作为一门入门很难的计算机语言, VC编程比较复杂。笔者根据自己的教学, 总结了一些经验, 希望与同行切磋, 共同搞好这门课程的教学。

2. 课程探讨

2.1 课程的基本概况

VC++课程至少设计了三方面的内容:C++面向对象编程、Windows程序设计原理、MFC类库的知识。可以说, 这三方面的内容, 都不是能轻松掌握的。学生在开始VC++程序设计课程之前, 至少应先完成C++课程的学习, 掌握对象的概念和基本理论知识, 能实现面向对象的程序设计。

对于VC++6.0的编程环境, 不应做铺天盖地的介绍, 那样会使得学生迷失在各个功能菜单的使用上, 却不得其法, 产生惧怕的心理。应该先介绍最基本的功能的使用, 让学生先有个大体的框架认识。其他的功能, 学到某一个阶段, 就介绍相关的使用, 循序渐进。

2.2 课程讲解

(1) 先指导学生利用菜单制作一个简单的基于Windows API的程序, 分析这个程序的结构, 使学生掌握Windows程序设计的框架, 和程序的运行原理。Widnows应用程序是基于消息驱动的, 应用程序要先注册窗口类, 系统会为应用程序分配一个消息队列用于接收用户输入的消息和系统消息。捕获消息的过程由系统完成, 并最终将程序感兴趣的消息, 交予编写的特定代码进行处理。

以Windows下的C语言课程为起点, 编写最基本的Windows程序, 使学生清楚Windows程序运行的机理和消息的来龙去脉, 有助于学生理解Windows程序的实质。

(2) 指导学生利用菜单制作一个简单的基于MFC的Windows程序。分析程序结构, 理解在MFC类库基础上编写的程序与利用纯C语言编写的程序的异同, 掌握MFC程序设计的框架。MFC类库在VC++程序设计中的引入, 增加了程序设计的难度, 使得VC++程序设计入门的门槛提高了。理解MFC程序的关键, 是要熟悉面向对象程序设计的原理, 和MFC类库的类层次结构。几乎每一个Windows对象, 在MFC类库中都有相对应的类。这些类的方法, 包含了大部分Windows API的功能。学习MFC类库的过程, 就是学习这些类和这些方法的使用。MFC类库大大简化了程序设计的过程, 丰富了程序的功能, 而且, MFC程序在理解其框架的基础上, 用户编写修改程序也是很方便的。比如:修改窗口类的PreCreateWindow方法, 在窗口显示之前注册用户自定义的窗口类, 显示特定类型的窗口。

(3) 合理安排教学内容。VC++程序设计包含的内容比较多, 而且繁杂, 在一个学期内想完成所有内容的教学, 是不可能的。基于MFC的VC++程序设计课程, 应至少包含以下内容:Windows应用程序, 包括Windows编程基础知识, Windows中的事件驱动程序设计, Windows应用程序的基本组成;GDI及其应用序, 包括GDI的特点, 绘图工具的使用, 常用的绘图函数等;VC++编程中字体的应用, 包括字体的创建及其属性的设置, 文本的输出过程, 文本操作等;VC++编程中关于键盘与鼠标消息的响应, 包括键盘在应用程序中的应用、鼠标在应用程序中的应用等;资源的应用, 包括菜单于加速键资源, 创建菜单资源实例、位图资源及其应用, 位图操作等, 对话框资源及其应用, 通用对话框资源等;Windows标准控件, 包括常用字窗口操作函数, 按钮控件的创建, 滚动条控件, 静态控件, 列表框子窗口控件, 编辑框控件, 组合控件等;文件的操作, 包括文件操作概念与基本方法, 剪贴板的应用及其操作等;MFC设计应用程序的基础知识, MFC类的主要层次结构及主要的类的用法, 应用程序向导, 利用MFC类库简化程序设计;数据库程序设计。

2.3 有关实验的思考

基于类库MFC的Visual C++环境界面是很复杂的, 不要期望学生短时间内掌握所有功能操作。每一个知识点讲完后, 安排一个小的上机实验, 使学生掌握程序编写最基本的东西。随着课程的持续, 可以有意的增加一些功能介绍, 比如调试功能。在课程的最后, 应该安排一个比较大的实验, 可以让学生写一个学生信息管理系统, 在实验中, 使学生逐步掌握VC++编程环境, 掌握各种控件的使用方法。

3. 结语

VC++程序设计课程对于学生学习是有难度的, 但由于它是一门专业的编程语言, 且拥有广阔的市场和发展前景, 对于计算机学生来说, 是值得好好学习的。本人根据自己的教学实际, 对VC++教学进行了一些有益的探索, 在今后, 将继续做这方面的努力。

参考文献

[1]侯俊杰.深入浅出MFC.华中科技大学出版社, 2005.7

篇4:《VC++程序设计》教学大纲

31重视上机实践及习题

做习题是对所学内容进行复习的重要过程,还是深入学习的必要过程。每次课程讲授之后,教师均应当将有着较强代表性的一些习题布置给学生,以此对课堂上所学习到的内容加以巩固。还可以借助于学生作业的具体情况来了解学生掌握课程内容的程度。对于作业中普遍出现的错误,则需要教师当堂讲解,以便于让学生掌握牢靠、理解透彻。与此同时,学生作业中所出现的新颖新奇的程序设计思路及方法,也需要做好作业批注,并且当堂宣讲,鼓励学生勇于迸发出创新的火花。

32激发学习兴趣

为了能够使学生较快及较好的掌握相关方面的计算机知识,真正的融入计算机领域,教师应当尤其重视学生学习兴趣的调动及培养。在接触计算机的最初阶段,相当一部分学生仅仅是感到好玩、新奇,但并非是对此有兴趣,而逐渐地随着课程的持续深入,大量的要求、定义、规则、概念以及机械化格式的出现,非常容易使得学生有乏味枯燥的感觉產生。为了能够将学生的好奇向学习兴趣转化,那么在课程讲解中要注意着手于具体问题,使学生从感性上对新知识加以认识,然后再对理论要点进行讲授。比如,在首次课上,教师可以找已学的一些《线性代数》、《高等数学》等课程的问题,要求学生采取算法语言来予以求解,以这样的方式使学生对程序设计的用途加以切身体会,最重要的是掌握全新的一种问题的解决方法。在课程讲授的过程中,教师还要积极的引导学生学习一类算法,并且在同行课程中尝试应用。另外,教师还可以向学生经常性的介绍趣味性的一些算例,比如“迷宫问题”等,以此将学生的学习兴趣培养起来,促使学生主动积极的学习与获取知识,从而将程序设计基础打好。

篇5:VC课程设计教学和任务

江苏科技大学南徐学院电子信息系

2011年9月

《计算机程序设计(vc++)课程设计》课程设计指导书

一. 课程设计教学和任务

《计算机程序设计(vc++)课程设计》是实践性教学环节,是学生必修的一门计算机实践课程。

本课程设计的目的是通过综合性程序设计训练,使学生进一步巩固对计算机程序设计语言(vc++)基本语法,基本算法的理解,加深对面向对象程序设计的理解与应用,并使学生养成模块化,结构化程序设计的良好风格,以及一定的程序组织能力,掌握基本程序设计的方法和技巧,为学习后续课程和实际编程打下良好的基础。

本课程设计的重点要求学生掌握基本程序设计理念和方法,培养学生基本程序设计的应用和开发能力。二. 课程设计要求与内容

1.本课程设计要求

(1)学生必须完成本指导书中所有的小综合设计题,并且完成大综合设计题中的任意一题(具体题目由任课教师指定)。要求:对主要变量及函数要加注释,以说明其功能。

(2)每个学生必须完成课程设计报告一篇。(报告格式见附录)2.课程设计的内容

本课程设计内容包括两个部分:小综合设计题和大综合设计题。

====================================== 附:课程设计报告格式一、二、课程设计目的 课程设计内容

1、小综合题

2、大综合题

三、课程设计体会及建议

小综合设计题

1.二维数组的操作运算

定义一个n×n的二维数组a,将该二维数组中周边元素的值全部置为2,其他元素全部置为0。

例如: 当n为8时生成并输出的矩阵为:

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0 定义类MAT,具体要求如下:

(1)私有数据成员

int n;二维数组的阶数

int *p;将二维数组以一维数组方式存储,p是起始指针。

(2)公有成员函数

MAT(int n1);初始化n,并动态申请数组空间,令p指向该空间。

void create();给数组赋值。

void print();按矩阵方式输出二维数组。

~ MAT();析构函数,释放动态数组空间。

(3)在主函数中完成对该类的测试。键盘输入二维数组的阶数n(如8或6),定义一个MAT类的对象m,用n初始化m,按要求生成并输出数组的值。

2.链表

建立一条无序链表,结点名为node,用一个函数实现将这条链表构成一条新的逆序链表,即将链表头当链表尾,链表尾当链表头。输出这两条链表上各个节点的值。

3.字符串处理

将字符串中指定的英语单词(字母子串)进行单数变复数的处理,单词之间用非字母分隔。为了简化编程,将单词的单数变复数的规则是:直接在单词后加s。例如单词student的复数为students。例如,有下列字符串:

We are student, you are student, too.指定单词student,将字符串中所有的student修改为students。处理后的字符串为:

We are students, you are students, too.试建立一个类Modistr,完成以上工作。具体要求如下:

(1)私有数据成员

char *str;存放指定的字符串;

(2)公有成员函数

Modistr(char *s);构造函数,动态申请字符串空间,用s所指向的串初

始化str;

void print();输出字符串str;

void modify(char *wordp);将wordp所指向的单词转换为复数。

~Modistr();析构函数

(3)在主函数中完成对该类的测试。定义类Modistr的对象mys,用字符串“We are student, you are student, too.”初始化mys,调用函数modify(char *)完成将单词“student”单数变复数的处理。

输出变换前和变换后的字符串。

提示:判断一个字符ch是否为字母,可用系统库函数isalpha(ch)。该函数的功能是:若ch是字母,返回真,否则返回假。使用该函数必须包含头文件ctype.h。

4.素数问题

建立一个类PRIME,求指定范围内的所有素数(质数)。具体要求如下:

(1)私有数据成员

int data[200];依次存放指定范围内的所有素数。

int min,max;存放待求素数的数值范围的下限和上限。

int num;存放min与max之间的素数个数。

(2)公有成员函数

构造函数PRIME(int n1, int n2);用n1和n2初始化待求素数的范围 min、max及num(值为0)。

void process();求指定范围内的所有素数,把它们存放在数组data中。求素数的算法必须是:首先将min与max之间的所有奇数依次放入数组data中,然后依次判断data中的每一个元素是否为素数。

若不是素数,则将其值赋为0。最后,数组data中不为0的元素均为素数。将不为0的元素值集中连续存放到数组的前面,同时统计素数个数。

void print();输出求出的所有素数,同时输出素数个数。

(3)在主程序中对该类进行测试。

定义一个PRIME类的对象test,并用待求素数范围min =10, max=200初始化test。通过test调用成员函数求出10至200之间的所有素数,并输出结果。[提示] 素数的定义是“只能被1和它本身整除的正整数”,素数也称为质数。

5.信号系统问题

定义一个类为形状,由它公有派生出正方体、球体和圆柱体。利用虚函数的多态性形式完成计算正方体、球体和圆柱体的体积。具体要求如下:(1)基类: shape 保护数据成员:double a,b;

公有构造函数:shape(double,double); 公有纯虚函数:double volume();(2)派生类

正方体、球体和圆柱体的类名分别为cube,sphere,cylinder, 各派生类均需要定义公有的构造函数以及求体积的虚函数double volume()。(3)派生类为球体时,a为半径,b为0。

派生类为正方体时,a表示边长,b为0。

派生类为圆柱体时,a为圆柱体的边长,b为圆柱体的高。

(4)设计一个完整的程序,分别计算正方体、球体和圆柱体的体积并输出结果。

测试数据如下:

形状类指针变量:p、球体对象:C(0.8)、正方体对象:S(3.2)和圆柱体类对象:R(4.1,5)。用指针p分别指向派生类对象。

输出结果为:

球体的体积是2.14357

正方体的体积是32.768

长方体的体积是263.917 提示:球体的体积公式=4/3*π*半径*半径*半径(其中π取常数3.14)

正方体的体积=棱长×棱长×棱长

圆柱的体积=底面积×高

6.求两个日期之间相差的天数。

设计一个日期类Date,包括日期的年份、月份和日号,编写一个友元函数,求两个日期之间相差的天数。具体要求如下:(1)私有数据成员

int year, month, day;

(2)公有成员函数

Date(int y,int m,int d);//构造函数,初始化日期。void disp();//输出日期。

friend int count day(Date &d,int);// 使用二维数组存放各月天数,第一行对应非闰年,第二行对应闰年。

friend int leap(int year);

//判断是否闰年,是返回1,否则返回0。friend int subs(Date &d1,Date &d2);

//求两个日期之间相差的天数。

(3)在主函数中完成对该类测试,定义两个对象d1(2000,1,1)和d2(2002,10,1),调用subs函数。程序正确的运行结果是: 2000.1.1与2002.10.1之间有1002天

7.身份证。

已知旧身份证号码共15位,其中第7~12位是以2位年份+2位月份+两位日期组成,而新身份证号码共18位,其中第7~14位是以4位年份+2位月份+两位日期组成。试定义一个类ID,根据居民的出生日期检查其身份证号是否正确。

具体要求如下: 1)私有成员:

char s[19] : 存放身份证号。

int yy, mm, dd : 分别存放居民出生日期的年(4位)、月(10~12月两位,其余1 位)、日(两位)。

2)公有成员:

ID(char str[]):构造函数。

int val(char *p): 将数字字符串p转换为相应的十进制数,如“123”转换为数值123,“08”转换为数值8;

int fun(): 根据出生日期检验身份证号是否正确,如果正确,函数值为1,否则为0。

必须使用如下算法:先分别取出身份证中的表示年份、月份、日期的子字符串,然后利用上述int val(char *p)函数转换为数值,再与出生日期的相应成员数据比较。

void print(): 输出所有成员数据。

3)在主函数中输入两个身份证号(一个18位:***910,另一个15位***),分别用这两个身份证号生成类ID的对象,在主函数中通过成员函数fun确定身份证号是否正确并输出相应的信息(身份证号、出生日期、检验结果)。

8.9×9乘法口诀表。

定义一个类MUL,生成如下的9×9乘法口诀表,要求口诀表存储在动态数组中,并输出到屏幕上。运行结果如下: 1 2 3 4

5

6

7

8

9

具体要求如下:(1)私有数据成员

nt(*a)[9];a是一个行指针变量,其指向的数组空间是动态生成的,用于存放口诀表。口诀表存放在二维数组的左下三角形中。

(2)公有成员函数

MUL();构造函数,动态生成数组空间。void process();生成乘法口诀表。void print();输出乘法口诀表。

~MUL();析构函数,释放动态数组空间。

(3)在主函数中完成对该类的测试。定义一个MUL类的对象a,通过a调用成员函数求出并输出乘法口诀表。

9.字符串分类。

输入一个字符串,串内有数字和非数字字符。

例如:

ABC2345

345rrf678

jfkld945

将其中连续的数字作为一个整数,依次存放到另一个整型数组b中。如对于上面的输入,将2345存放到b[0]、345放入b[1]………

统计出字符串中的整数个数,并输出这些整数。要求:

(1)在主函数中完成输入和输出工作。

(2)设计一个函数,把指向字符串的指针和指向整数的指针作为函数的参数,并完成从字符串中依次提取出整数的工作。

10.数组元素排序

将含有12个元素的数组作如下处理:先将所有数据按其在数组中的次序分成4等分,然后以每一组数据为单位按其平均值从小到大排序。例如,原数组为:{5,6,7,1,2,3,7,8,9,2,3,5 }处理后的数组为:{1,2,3,2,3,5,5,6,7,7,8,9}试定义一个类DATA完成上述功能,具体要求如下:

(1)私有数据成员int a[12], b[12];数组a用以存放原始数据,数组b用以存放处理后的数据。

(2)公有成员函数DATA(int x[], int n);构造函数。用参数x初始化a,将b的所有元素初始化为0,n为数组x的元素个数。

void convert(int x[4][3]);将a中的数据进行分组,并转换为二维数组x,其中每一组依次为数组x的一行。

void sort();按每组的平均值实现分段排序,并将排序后的数据存放到数据成员b中。

算法要求:利用函数convert()将a转换为二维数组,再求二维数组每一行的平均值,然后根据该平均值从小到大对该二维数组进行行排序,并将结果按题意转换为一维数组存放到b中。

void print();输出a和b的所有元素。

(3)在主函数中利用给定的数组生成类DATA的对象test,并对该类进行测试。假设给定数组为{5, 6, 7, 1, 2, 3, 7, 8, 9, 2, 3, 5}。输入/输出示例:

处理前的数组:5 6 7 1 2 3 7 8 9 2 3 5

处理后的数组:1 2 3 2 3 5 5 6 7 7 8 9

大综合设计题

设计题目一:学生学籍成绩管理系统

每个学生的信息包括:姓名、学号、性别、和学生的成绩信息 如:英语、数学、程序设计及体育成绩等各门课的成绩,要求程序能自动增加一门或是几门课的成绩,同时可以删除课程。

从键盘输入数据,然后,完成如下处理:

1.对学生姓名或学号进行查询,显示其信息,求出其总成绩、平均成绩、平均基点,并且显不在全班的学成绩排名。2.对所有学生,按班级计算平均。

设计题目二:通讯录管理系统

1.系统概要

该系统的功能是实现通讯录管理。2.基本功能要求

(1)输入姓名、单位、电话号码(2)显示上述内容(3)按姓名查找后显示(4)删除有关记录(5)增加记录

(6)保存修改后的文件(7)显示修改后的文件

3.各功能模块的程序流程图。(学生完成)4.完整的源程序代码。(学生设计完成)

设计题目三:小型特殊计算器

1.系统概要

本程序的功能是实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊计算。程序可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现集合的求交集、并集、子集的运算。注:可任选两种运算。

2.基本功能要求

(1)功能选择可以用菜单来实现 例如:请选择您的计算内容: 1.复数计算 2.有理数计算 3.矩阵计算 4.集合计算 0.退出

用户通过输入不同的数字进入不同的菜单。次级菜单主要显示本程序的功能,主要的功能有加法、减法、乘法和除法以及集合的求交集、求并集、求子集。(2)运行时给出明确的提示信息。

比如,输入一个什么类型的数据。根据用户的输入计算输出结果。由于数据类型比较多,可以一次输入第一个复数的实部,第一个复数的虚部,再输入第二个复数的实部、虚部。矩阵运算需要先输入矩阵的行数和列数,然后依次输出矩阵的第一行第一列的元素、第一行第二列的元素等等,依次类推。有理数运算需要一次输入有理数的分子、分母。集合运算需要输入集合的元素个数,然后依次输入集合中的每一个元素。

3.各功能模块的程序流程图。(学生完成)4.完整的源程序代码。(学生设计完成)

设计题目四:选修课小系统

1.系统概要

通过这一款选修课小系统,学生可以登入学生端进行选课及其他的操作,管理者通过登入管理端可以进行对选修课系统的数据的管理和维护。在学生端主要设置了3个基本功能:学生选课、学生情况、选课情况等;在管理端主要设置了9个基本功能:增加/删除学生、增加/删除课程、更改学分、填写成绩、学生情况、选课情况、保存数据等。这些功能基本上能满足选课的基本要求。此程序可以初步体现课程设计的目标。2.基本功能要求

用VC++编写一个界面美观流畅学生选课系统。学生有名字,学生最多可学五门课程,学生实际学的门数,可以给定学生的名字,可以得到学生的名字,可以得到学生给定课程的成绩,可以得到学生所学课程的平均成绩,可以给学生增加一门课(同时在该课程中增加一个学生)。课程最多有30个学生,课程有实际学生

数,课程有实际学生名单,课程有学分数,课程有每个学生成绩,课程可以得到学分数,课程可以设置学分数,课程可以得到班平均成绩,课程可以得到某个学生成绩。

3.各功能模块的程序流程图。(学生完成)4.完整的源程序代码。(学生设计完成)

设计题目五:学生成绩管理系统

系统上采用VC++为开发环境,这个编译器功能完善,使用方便。课程设计《学生成绩管理系统》,它的主要功能是对学生的成绩进行修改和管理。

系统功能要求:(1)界面

************************************ 学生成绩管理系统

************************************ ************************************ ** 1--输入数据 ** ** 2-查询成绩 ** ** 3--修改成绩 ** ** 4--输出所有学生成绩 ** ** 5--统计及格和优秀人数 ** ** 6--退出系统 ** *************************************(2)功能

篇6:VC课程设计题目

(2012-04-23 – 2012-05-19)

前言:本课程设计分成自测题和综合题两部分。两部分都列入验收。

练习题:

共11道。内容覆盖主要基本技术:基本的开发环境(调试技术),文件操作,动态链接库,图形图像编程,多线程编程,控件开发等。

每个学生选择5个完成,要求如下:

必做:1;

2,3选择其一;

4,5选择其一;

6-11选择其二;

1. 基本环境调试

将例程1用VC++打开,修改错误使程序能够运行。理解编译错误,运行错误等。

2. 数据库操作

通过ODBC数据源访问数据库(ACCESS),数据库中保存以下内容:

学生姓名,性别,年龄,家庭住址,电话,电子邮件,爱好等。

再以上基础上进行该记录的读出并可编辑浏览显示。

3. 文件操作

写一个档案文件保存以下内容:

学生姓名,性别,年龄,家庭住址,电话,电子邮件,爱好等。

再以上基础上进行该文件的读出并可编辑浏览显示。

4. 图形编程

提供一个图形工具界面,让用户能够画出直线,椭圆,多边形等几何元素,结果可以保存并可读出。

5. 图像显示

编程加载显示位图文件(bmp)。实现多个位图的叠加显示效果。在此基础上,实现动画效果。

6. 字符串操作

能够从磁盘上选择打开文本文档,读入所有内容并显示,统计所有的字符数目,单词数目,中文字符串的数目。

7. 多线程技术

目的:掌握多线程编程的基本概念,掌握用户线程的编程方法和调试方法。

建立一个工程,主线程负责用户交互,界面上提供一个按钮,通过它用户建立一个新的线程处理复杂的计算。多个线程可以共享内存中的某些变量。线程可以中止,挂起。线程间需要同步。

8. 通信技术

利用套接字编写双机通信程序,从服务器接收GPS数据。协议内容如下:

0xDB,纬度(4字节浮点),经度(4字节浮点),时间(4字节CTime),速度(2字节整型),校验(1字节异或),0xDB

在此基础上,能够在屏幕上显示其位置和速度等信息。

把接收到的内容进行解析并且显示。

9. 动态链接库

目的:了解MFC 支持的三种动态链接库:Win32DLL,MFC 常规DLL, MFC扩展库。掌握封装DLL的基本方法。

步骤:

新建三个不同的DLL工程;

分别封装一些类和函数;

新建一个测试工程对上述库里的函数或类进行调用;

封装一个对话框类到DLL,并新建一个工程调用之。

10. 控件编程

利用ATL编写一个控件,并写一个测试程序进行调用。

目的:掌握ATL控件的编写方法,测试方法和调用方法。

步骤:

新建一个ATL工程;

添加ATL控件;

往接口里添加属性和事件;

修改绘制代码;

写测试程序;

11. 多媒体数据采集

利用微软的视频,音频采集API函数,编写一个能够进行图像,音频,视频采集的程序。

综合题:

1. 硬盘录像机的制作

要求:

对外接USB接口的摄像头的数据进行采集,结果保存在硬盘上。能够根据要求对文件进行检索,播放,备份,上传。

*能够架构一个视频流服务器,提供多人的基于IE的在线视频浏览。

2. 数字存贮示波器的制作

要求:编程实现一个数字存贮示波器。示波器的踪数1-10可变,示波器的数据采样点可达1024。

示波器可以实现图形以不同的形式显示(如波形图,柱图等)。

示波器的横向,纵向均可以用鼠标进行分辨率调整。

示波器提供文件接口,可以文件读写。

结果以DLL形式封装。

创建一个客户程序对示波器进行测试。

参考:SIMULINK的示波器。

3. 大地面积测量

要求:在文本文件中保存了一条封闭路径的顶点的经纬度数据,计算由这条路封闭出的区域面积。

步骤:

(1)自行编辑三个不同大小区域的文本文件(区域范围50KM,500KM,5000KM);

(2)生成一个单独的对话框工程(项目);

(3)导入区域文件;

(4)函数说明 float Area(int nNum/*顶点数目:>=3*/, float* vX/*经度*/, float* vY/*纬度

*/, char Coord=1/*坐标系: 1 经纬度 2平面坐标*/);

(5)对于结果进行误差分析。

参考资料:地理坐标变换算法(上网搜索)

测试方法:用MATLAB工具包函数可以进行对比测试。

4. 文件编辑

创建一个多文档工程,实现对于磁盘文件的浏览,编辑等功能。

能够以文本文件,二进制文件方式打开文件;

支持剪贴板功能;

支持搜索,查找,替换功能;

支持文件定位;

功能可参考:磁盘文件工具程序UltraEdit。

5. 个人简历

创建一个个人简历程序,能够编辑自己的个人资料,添加自己的相片集进行浏览,具有保存,打印等功能。

6.文字聊天室

做一个基于点对点的聊天程序。同时具有客户端和服务器功能。

字体颜色可设置;

具有丰富的表情;

聊天记录可以保存,浏览。

7. 卡拉OK点歌管理系统

在本地硬盘库里存放歌曲文件(暂定WAV文件格式)。按照歌手,歌名(字数),类别进行检索播放。

对歌曲库可以进行管理,如添加,删除等。

计时计费功能。

8. 酒店管理系统

实现酒店客房的预定,登记,分配,计费等功能。

基本步骤:

(1)数据库后台设计,数据准备;

(2)界面设计;

(3)功能实现;

(4)测试;

9. 数字图像格式转换

能够进行BMP,GIF,TIF,JPG等图像的显示,保存,转换;

能够对图像进行处理:平滑,滤波,增强等。(算法可自行查找)

10. 简易电子地图编辑

用MapX实现地图的编辑功能:打开地图(Tab格式), 添加/删除点,线,面元素,通过属性查询并高亮显示。

请大家发挥想象,独立完成。

课程设计安排

时间与进度安排

课程设计共40学时,分在四周内完成。参考的时间分配如下(以每天4学时为例): 第1天: 基本环境熟悉;

第2-4 天: 基础练习题;

第5-9 天: 综合题;

第10天: 验收;

注:基础练习题11道中完成5道(如前所述),可在完成后请老师验收。综合课题任选一道。为避免重复,原则上每个题目只允许一定数目的同学选择。

实验报告要求

实验报告包括两部分的题目(基础练习题和综合题)。内容包括:

1. 实验目的2. 算法流程框图;

3. 数据结构说明;

4. 程序说明;

5. 测试结果;

6. 附件:程序代码。

成绩评定

成绩评定遵循过程与结果并重的原则,给出考查课成绩等级(不及格,及格,中等,良好,优秀)。依据下列因素进行学生的成绩评定:

1. 出勤率;

出勤率低于30%者将被成绩降级,低于50%将被要求重修。

2. 认真程度;

有如下行为者视情节轻重成绩将被降级直至重修:打游戏,看电影或其他无关事项。

3. 完成质量;

相同的课题,如果出现雷同的结果,将被降级。

4. 回答问题的水平;

对于完成的课题,如果不能解释,视同抄袭,成绩降级。

5. 实验报告

对于没有完成指定内容,或者雷同报告的,成绩降级。

特别的,对于完成内容超过题目要求或者有独特成果,给与成绩奖励。

2012-4-20

验收提示:

(根据最新的上级要求,做如下的通知)

5月18日: 验收日。在此之前,请大家完成准备工作(代码,必要的说明文档等)。验收时采用教师学生一对一方式进行,同学需要进行预约,并主动出示有效证件。为了提供良好的验收环境,非验收同学应在别处等候,不要围观,评论。验收老师会提问一些相关问题,请同学独立回答。学生也可能被要求进行现场的一些简单的功能改进。

对于上机时间没有达到最低要求的,取消验收资格。此数据来自计算机系统,请大家平时注意查询。

平时有问题,欢迎在教师值班时候来咨询。(见附表)

篇7:《VC++程序设计》教学大纲

VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class)类库。具有高度可视化的应用程序开发工具,不仅适合大型软件的开发,对于初学C语言和C++的朋友来说,也是一个不错的运行工具。

接下来笔者就简单介绍一下VC++6.0如何编译运行C语言程序

1.单个源文件的编译运行

例如下面的源代码

#include void main(){ int i,sum=0;for(i=1;i<=10;i++){ sum=sum+i;} printf(“sum=%dn”,sum);} 打开VC++6.0,如图1所示

(图1)

选择“文件”→“新建”,打开如图2所示

(图2)

选择“文件”项,如图3所示

(图3)

选择“C++ Source File”项,并在“文件名”项目下输入“sum.c”如图4所示

(图4)单击“确定”,打开如图5所示

(图5)

输入如上源代码,如图6所示

(图6)

选择“组建”→“编译”(或按Ctrl+F7组合键),打开如图7所示

(图7)

在下端的输出窗口会有错误和警告的提示,如果没有错误选择“组建”→“执行”(或按Ctrl+F5组合键)即可出现运行结果,如图8所示

(图8)

2.多个源文件的编译运行

以上是运行单个源文件的情况,但是在程序设计时,往往是由几个人各自独立编写不同的程序,显然这些程序是不能写在一起进行编译的,这时就需要建立项目工作区来完成几个独立程序的编译,具体方法如下。

首先建立两个文本文件,分别命名为“file1.c”和“file.c”,分别在两个文件中输入如下两个源代码,然后保存。源代码1:

#include void main(){

} void sum();sum();源代码2:

#include void sum(){

} int i,sum=0;for(i=1;i<=10;i++){ } printf(“sum=%dn”,sum);sum=sum+i;打开VC++6.0,选择“文件”→“新建”打开如图9所示

(图9)

选择“工作区”项,并在“工作空间名称”项目下输入“sum”如图10所示

(图10)单击“确定”,打开如图11所示

(图11)

在左侧的“工作区窗口”显示了新建立的工作区

选择“文件”→“新建”打开如图9所示,在“工程”项目下选择“Win32 Console Application”项,并在“工程名称”项目下输入工程名称,如“sum”,选择“添加到当前工作空间”项,如图12所示

(图12)

单击“确定”,打开如图13

(图13)

选择“一个空工程”项,单击“完成”,打开如图14所示

(图14)

单击“确定”,打开如图15所示

(图15)

在左侧的“工作区窗口”显示了新建立的工程

选择“工程”→“添加到工程”→“文件”,打开如图16所示

(图16)

选择刚刚创建的两个文件,单击“确定”,打开如图17所示

(图17)

选择“组建”→“组建”(或按F7键),打开如图18所示

(18)

在下端的输出窗口会有错误和警告的提示,如果没有错误选择“组建”→“执行”(或按Ctrl+F5)即可出现运行结果,如图19所示

篇8:《VC++程序设计》教学大纲

随着多媒体技术和网络通信技术的发展,基于Internet的计算机网络教学作为一种全新的教学手段,越来越受到人们的关注。计算机网络教学是指利用多媒体技术和网络通信技术,在网络环境下开展的教学活动。它有着传统教学模式所无可比拟的优点,它创造了一种全新的教学模式,打破了传统教学模式在时间、空间上的限制,采用了先进的教学手段和教学方法,大大提高了教学效率和教学效果,使教学活动上了一个新台阶。

在网络教学环境中,教师和学生在地理位置上的分离,使得教学无法围绕教师为中心来展开,而必须以学生为中心,学生已经成为教学过程中的主题,所有的教学资源都必须围绕学生学习来进行优化配置,教师不在是知识的唯一源泉,最大的知识源泉是网络,教师的任务是指导学生如何获取信息,帮助学生解决学习过程中的问题,并帮助学生形成一套有效的学习方法和解决问题的方法。学生的地位也应该由原来的被动接受者转变为主动参与者,学生应该成为知识的探究者和意义建构的主体,学生的头脑不再被看作是一个需要填满的容器,而是一支需要点燃的火把。网络学习环境不再是教师讲解的辅助工具,而变为帮助学生探索发现学习用的认知工具。网络教学应该围绕如何促进学生的自主学习,促进学生思维的深度和广度发展,组织学生的自主学习活动来展开。这些内容构成了支撑网络教育教学观念的基石。

网络教学是通过网络表现的某门学科的教学内容及实施的教学活动的总和,它包括两个组成部分:按一定的教学目标。教学策略组织起来的教学内容和网络教学支撑环境,其中网络教学支撑环境特指支持网络教学的软件工具。教学资源以及在网络教学平台上实施的教学活动。

网络教学设计是教师在网上教学前的准备工作,教师需要把课程编写成网页的形式并进行一系列的备课。在网络教学中,所以教学活动都是以学生为中心,特别强调在学习过程中发挥学生的主动性、积极性,相应的课程与教学设计主要围绕“教学内容”、“自主学习策略”、和“学习环境”三个方面进行。一是教学的前提与条件,二是整个教学设计的核心通过各种学习策略激发学生去主动建构知识的意义(诱发学习的内因);三则是为学生主动建构创造必要的环境和条件(提供学习的外因)。由于网上教学与传统教学有很大区别,教师的地位发生了明显的改变,教师由原来的知识的传授者、灌输者转变成学生主动建构意义的帮助者、促进者,因此教师的在线教学设计也发生很大变化。

网络教学有以下的原则:

1)直观性——针对多媒体计算机独特的图像显示技术,课件制作需要图像清晰,文本、动画连贯,色彩逼真,有丰富的表现力和感染力,符合学生的认知规律,激发学生的学习热情的兴趣,力求形成图,文,声,像并茂的多媒体教学系统。

2)交互性——优秀的多媒体课件要有非常友好的人机交互界面。因此,制作课件时,要设计出新颖便捷的交互界面,或者播放按钮,必要时还要有操作提示和防错功能,以增强课件的可控性和可移植性。

3)辅助性——学生是教学过程的主体,教师是引导者,而课件则是教师课堂教学的辅助工具。因此,课件不能占据整个课堂,要与传统教学手段(如讲授法,谈话法,讨论法,板书,投影等)有机结合起来,共同完成教学任务。

2 网站软硬件环境建设

2.1 网络服务方式的选择

1)Web服务器

在网络上提供资源并对这些资源进行管理的计算机叫服务器。WWW服务器(WWW Server)通常也叫Web服务器(Web Server)。WWW服务软件与WWW浏览器是配合使用的。WWW服务器安装Web Server软件,用于存贮和管理主页Home Page,提供WWW服务。客户机安装WWW浏览器软件(WWW Browse)、主页制作软件、电子邮件软件等。

2)虚拟主机

网络站点的建设可以分为两种,一种是自己建立网站,一种是外购整体网络服务。外购整体网络服务又分两种形式:虚拟主机与服务器托管。

虚拟主机是使用特殊的软硬件技术,把一台完整的真实主机的硬盘空间分成若干份,每一个被分割的硬盘称为一台虚拟主机。虚拟主机都具有独立的域名和IP地址,但共享真实主机的CPU、RAM、操作系统、应用软件等。虚拟主机之间完全独立。

采用虚拟主机方式建立电子商务网站具有投资小,建立速度快,安全可靠,无须软硬件配置及投资,无须拥有技术支持等特点。

选择虚拟主机主要考虑以下几点服务内容:存储空间;电子邮件;网页制作;IP地址;文件传输(FTP);时间;速度。

3)服务器托管

服务器托管是指用户将自己的独立服务器寄放在因特网服务商的机房,即租用ISP机架位置,日常系统维护由因特网服务商提供,用户可以独立进行主机内部的系统维护及数据的更新。这方式特别适用于有大量数据需要通过因特网进行传递,以及大量信息需要发布的单位。

从另一个角度讲,选择服务器托管,用户可以获得一个很高的控制权限,能够决定服务质量和其他一些重要的问题,可以随时监视系统资源的使用情况。在系统资源紧张,出现瓶颈的时候,可以马上根据具体情况对服务器进行升级。服务器托管不仅能够解决足够多的访问量和数据库查询,还能为企业节约数目可观的维护费用。

相对于虚拟主机,服务器托管具有以下特点:灵活;稳定;安全;快捷。

主机托管服务选择时应考虑以下因素:可靠性因素;安全因素;功能需求因素。

4)独立服务器

独立服务器是指用户的服务器从因特网接入到维护管理完全由自己操作。企业自己建立服务器主要考虑的内容有硬件、系统平台、接入方式、防火墙、数据库、人员配备等。

2.2 网络数据库的选择

1)网络数据库的概念与作用

网络数据库(network database)是在网络上运行的数据库。网络数据库中的数据之间的关系不是一一对应的,可能存在着一对多的关系,这种关系也不是只有一种路径的涵盖关系,而可能会有多种路径或从属的关系。网络数据库数据存储量大、修改方便,能够进行动态数据组合,是为电子商务网站提供交互式服务的主要手段。

2)网络数据库的选择

选择数据库管理系统时应从以下几个方面予以考虑:易用性;分布性;并发性;数据完整性;可移植性;安全性;容错性。

3 网站内容建设

3.1 域名申请

域名可以定义为:“由人、企业或组织申请的网站使用的因特网标识,并对提供服务或产品的品质进行承诺和提供信息交换或交易的虚拟地址”。域名的命名必须审慎从事。在确定教学网站域名的命名时,应考虑以下几个方面:

1)符合规范。

2)短小精悍。

3)容易记忆。

4)不容易与其他域名混淆。

5)尽量避免文化冲突。

3.2 相关资料的收集

网站建设初期应有明确的指导方针,对信息的收集和整理工作作出统筹规划。为Web准备信息的工作通常需要多人来完成。许多网站设立文本管理员、Web管理员、内容管理员和其它职务,以流水线方式完成信息的收集、转换、发布和维护等工作。

3.3 网站主页和页面的特色设计

如何把握网站的整体风格,使网站呈现的形式能很好地为内容服务,是一个需要反复思考的问题。

1)依据内容确定网页风格

无论是什么类型的网站,必然有它的主题内容,网站的风格必须与它的主题相符合,同时还应考虑到浏览人群的性格特征。教学类的网站比较多的采用简明大方、温暖亲切的风格。

2)合理安排网页内容元素的位置

网页内容元素的位置安排也就是对网页的排版。一个网站往往由各个网页组成,而每个网页又由一些元素组成。对这些网页内容元素进行合理的排版设计目标是使每一网页都能重点突出、层次分明、错落有致、井井有条。

在主页中应有制作小组或单位的标志物,能让浏览者一眼就能判别出是谁的主页。网站的所有内容都能在主页中找到其链接。网页的设计应以醒目为上,一目了然为本。

3)网站网页色彩的运用

网页的色彩要为主题内容服务,一个网站应该而且只能有一种主色调。由于色彩富于感情性,因此会对浏览者产生一定的心理效应。

除了主色调之外,一个网站的颜色一般最多不宜超过5种(不包括图片的颜色)。除了颜色的心理效应之外,在进行网页设计时还应注意的是颜色的可读性,要确保挑选的颜色在通用颜色调色板中存在,同时确保浏览者在阅读时不会感到吃力。

4)网页中图片的运用

在网页中插入图片可以令网页生色不少,但图片也不能用得太多,以免让人觉得累赘,而且影响网页的下载速度。所以网站中的图片既要美观、符合网站的内容,又要少而精,放在最需要的地方,起到画龙点睛的效果,增加网站的吸引力。

注意在保证质量的前提下要尽可能地减少图片的大小。这里的“大小”不是指尺寸的大小,而是指字节数的大小。图片减肥有利于下载速度的提高。

网页中合理的运用动画会使网页更加增添生气。常见的动画格式有GIF动画和Flash动画。同样,动画图片在一个网站中也不宜出现太多。

5)网页中的背景音乐

多媒体的应用对网页的多姿多彩起了相当重要的作用,在个人网站中,应用背景音乐的网站较多。但对于一般教育类网站的主页来说,背景音乐建议少用。

3.4 网站设计基础语言

1)HTML语言

HTML(HyperText Markup Language,超文本标注语言)是WWW上的专用语言。HTML文件是简单的纯文本文件(全ASCII文件),其主要特征是在文本中有HTML标注符。HTML语言的优点是标注简单明了,功能强大。HTML语言也有一定的局限。

2)XML语言

XML(eXtensible Markup Language,可扩展置标语言)是SGML(Standard Generalized Markup Language)的优化子集,是国际组织W3C(World Wide Web Consortium)为适应WWW的应用,将SGML标准进行简化形成的标记语言,形式上类似于HTML。XML作为一种可用来制定具体应用语言的元语言,既具有强大的描述能力,又具有适合网络应用的简洁性。

相对于HTML,XML具有以下特点:

(1)可扩展性。

(2)灵活性。

(3)自描述性。

(4)简明性。

3)Java与JavaScript语言

Java语言是由SunMicrosystems公司于1995年推出的程序设计语言。Java语言吸收了smalltalk语言和C++语言的优点,并增加了其他特性,Java与与平台无关,可用来创建安全的、可移植的、面向对象的、多线程的和交互式的程序。

Java程序有两种形式:独立运行程序和Java Applet。

JavaScript是一种介于Java与HTML之间、基于对象的编程语言。它无须编译,是一种比Java简单得多的描述性语言。

3.5 网页制作常用工具

想要制作出一个美观、实用的主页,必须使用专业的主页编辑软件。

1)入门工具

微软公司的Word 2000和网景公司的Netscape,不过,它们不能完全实现“所见即所得”。

2)提高工具

微软的Frontpage 2000和美国MACROMEDIA公司开发的Dreamweaver。它们能实现“所见即所得”。Dreamweaver4.0版本包括了所有用于创建专业化网站的功能。

3)专业工具

Adobe Photoshop是目前最流行的平面图形设计软件之一。Fireworks是一个强大的网页图形设计工具。Flash是一种交互式矢量多媒体技术。

4 具体实现过程

我们的C++教学网站包括首页、信息区、留言版三部分。我所负责的是信息区的建设,包括在线学习,在线测试两部分。

在线学习是把C++课程的全部内容分成十一章,所有授课的教程都做成HTML页面存放在服务器中,通过powerpoint课件形式在网上展现,浏览者可以通过点击链接进行任意的浏览。

在线测试系统的构思:如果是一般来访者的身份只能进行在线学习,如果是拥有学号的学生则可以在线考试并提交给机器评分。

5 在线学习课件编写

5.1 课件编写要求

因为课件不仅包含了将要在计算机上显示的大量的教学信息,更重要的是如何通过计算机为学生构建一个良好的学习环境,使学生在与这样的环境的互动中,促进学习的发生.这就要求课件提供的教学信息以及这些教学信息的展示和交互过程应能较好的体现一定的学习理论,应能充分发挥计算机的优势。课件编写应遵循如下基本原则:

1)明确教学目的和各教学单元的教学目标;

2)根据教学目标,使用的教学内容应准确无误;

3)根据教学目标和教学内容,选择适当的教学方法(CAI模式)和传递教学信息的媒体。

4)学习理论的应用。无论采用什么样的模式,都必须注意学习理论的应用,以提高软件的教学效果。

5)应考虑计算机的输出和显示能力。

6)使用的格式应该规范。课件可以使用不同的格式,但必须规范,而且便于对脚本各项内容的表达,这些内容包括:

(1)显示信息。指屏幕上将要显示的教学信息,反馈信息和操作信息。

(2)注释信息。说明显示信息呈现的时间、位置和条件以及连接要求。

(3)逻辑编号。显示信息常常是以屏幕为单位来表述的,为了说明它们之间的连接关系,每一个显示单位应有一个逻辑编号,以便说明连接时使用。

(4)媒体、交互信息和“热字”的表示。为了清楚地表示教学信息中使用的不同媒体(文字、声音、图形或图象等)、教学信息中的“热字”以及交互过程中呈现的各种信息,脚本中常用不同的符号表示它们。

6 测试系统程序实现

测试系统的程序结构包括以下几个部分:

1)TEST.MDB:考试系统的数据库文件(Access2000/XP格式)。

2)Login.asp:考试系统的登录界面。

3)Test.asp:考试系统的考试界面。

4)Score.asp:考试系统的评分界面。

在线测试系统的设计与开发,它所要实现的主要功能是在线考试和客观题的自动评分,实现了教师学生之间面对面的交流,使学生的学习、教师的工作不再受时间、空间的限制。它主要是有用户登录、在线测试和评分系统几个部分组成。

7 测试系统代码说明

首先进入的是登录程序,其界面如图1所示。

登录程序主要用于密码的验证,检查登录的用户是否在考试系统的用户表中,如果在而且还没有参加过本科目的考试则可以进入考试。

如果考生还没有参加考试,转到test.asp文件,利用Request.QueryString将浏览器地址栏的参数全部读取并传递到test.asp。

考题有单选题和多选题,所有试题都是从该科目的题库中读取的,利用语句“〈INPUT Type=“Hidden”Name=”Lesson”Value=<%=Lesson%>>”将考生的信息保存起来,当考生提交表单时,信息同时被提交。

当用户提交时,系统会调用Score.asp文件来对考生进行自动判分,并考生的考试信息显示出来,如图2所示。

如果考生按“返回”按扭再重新答卷的话,系统会显示考过的信息。

8 小结

信息技术的迅猛发展对现代远程教育的开展起到了极大的促进作用,设计和开发优质的网络课程是当今远程教育中面临的一个重大课题。《Visual C++程序设计》网络课程就是为适应学习者利用网络进行远程学习而设计的。该网络课程与传统的课程内容不同,它作为现代远程教育的重要教学资源,充分利用优质教学资源,为信息技术和网络技术的发展提供技术支持,创造轻松、活泼、自主的学习环境,提高教学质量和教学效益。另外,网络课程的设计也不可能一步到位,需要在网络课程的运行过程中,不断收集教师和学生的反馈意见,以及实际的教学数据,根据这些数据再对网络课程的设计做进一步修订。

参考文献

[1]鲍嘉,卢坚.Dreamweaver MX 2004完美网页设计[M].北京:中国青年出版社,2004.

[2]石志国,王忠良,薛为民.ASP精解案例教程[M].北京:清华大学出版社,2003.

[3]李雁翎.Access2000基础与应用[M].北京:清华大学出版社,2002.

上一篇:给朋友的重阳节祝福短信下一篇:执纪为民