第一篇:可视化程序设计
1Visual C++、C++概述不断问世,是一个可视化软件开发工具。
2001年推出Visual C++.NET(即1993Visual C++ 7.0年Microsoft)公司推出,它只适用于Visual C++ 1.0Windows 2000 / XP,新版本/ NT 4.0 了解它的集成开发环境。Visual C++开发环境。已成为专业程序员进行软件开发的首选工具。
Visual C++集成开发环境中的程序开发工具很多,要真正掌握它们要使用 Visual C++编程,首先要必须结合具体的编程内容。本章只简单介绍 Visual C++集成开发环境的一般特点、界面风格和简单工具的使用,使我们对Visual C++有一个感性的认识。2源程序用、Visual C++C++的特点语言编写,支持面向对象设计方法,使用功能强大的微软基础类库
MFC(Microsoft Foundation Class)。
开发出来的软件稳定性好、可移植性强。可以编制各种各样Windows应用程序,包括对话框程序、文档 / 视图程序和组合界面程序。作为Visual Studio可视化组件家族中最重要的一个成员,与其它可视化开发工具如Visual J++发,乃至一个系统软件的设计。、Visual Basic及Visual C#紧密地集成在一起,适用于特殊、复杂和综合软件项目的开
联机帮助系统MSDN(Microsoft Developer Network Library)功能强大。它既能与集成开发环境有机地结合在一起,使得用户在编程时随机查询需要的内容信息,又能脱离集成开发环境而独立地运行。3Visual C++ IDE、C++的组成和Help等9个主菜单组成,每个主菜单又由多个菜单项和子菜单组成。菜单项提供的功能中的菜单栏由File、Edit、View、Insert、Project、Build(Debug)、Tools、Window几乎可以完成所有的Developer Studio功能。
除了主菜单,在Visual C++ IDE中窗口的不同地方单击鼠标右键还可弹出相应的快捷菜单。1.ClassView类视图2.ResourceView文件到项目中,在工作区窗口中将显示被添加的文件与其它文件之间的关系。若要删除项可通过File菜单和Project菜单中的有关命令添加资源视图3.FileViewC++文件视图源文件、资源文件和其它
目中的某个文件,选中要删除的文件,然后按Delete键即可。菜单栏的组成4Window、Visual C++ IDE中的菜单栏由File、Edit、View、Insert、Project、Build(Debug)、Tools供的功能几乎可以完成所有的和Help等9个主菜单组成,每个主菜单又由多个菜单项和子菜单组成。菜单项提、Developer Studio功能。
5来越受到重视并得到广泛的应用。、C++语言是由贝尔实验室的BjarneStroustrup 在1980年创建的。自90年代后,C++越6C++、C++和数据类型、结构化的程序设计方法、高效的机器代码、良好的可移植性。是由的主要特点C扩充而来,因此,除了与
C兼容,C++还继承了C的以下特点:丰富的运算符 支持面向对象程序设计的方法。
C++C++的错误检查机制强,提供了专门的机制检查类和异常处理功能。的Borland C++有很多成熟的编译器:和IBM的VisualAge C++Visual C++、Inprise。(被Borland兼并)的C++ Builder、Borland7(、1C++)C++程序与程序与C程序的比较:C程序的结构完全相同。
(2)C源程序文件的扩展名为C,C++源程序文件的扩展名为CPP。
(3)C注释使用符号“/*”和“*/”,表示符号“/*”和“*/”之间的内容都是注释;C++除了支持这种注释,还提供了一个双斜线“//”注释符,表示“//”之后的本行内容是注释,注释在行尾自动结束。
(4)C程序所包含的标准输入、输出的头文件是stdio.h,输入、输出通常通过调用函数来完成;而C++程序可以包含标准输入、输出流的头文件iostream.h,输入、输出可以通过使用标准输入、输出流对象来完成。8(、1)当函数定义放在函数调用之后时,C++对C的一般扩充
C程序函数原形(function prototype)有时可省略,而C++函数原形(声明)必不可少。一个不带参数的C函数原形必须使用void,而C++可以使用空参数列表。C++还要求函数所有参数在函数原形的圆括号中声明。
(2)在C语言中,函数和语句块(花括号“{}”之间的代码)的所有变量声明语句必须放在所有执行语句之前。而C++中变量声明语句不要求放在函数和语句块的开始位置,可以把变量声明放在首次使用变量的附近位置,这样可提高程序的可读性。
(3)C++用new和delete运算符取代C的内存分配和释放函数malloc()和free()。(4)标准C++提供了字符串类,可以替代C函数库中的字符数组处理函数。
(5)进行输入、输出操作时,C++用控制台输入、输出流对象(在头文件iostream.h中进行了类的声明)替代C的stdio函数库,利用“>>”流提取运算符或“<<”流插入运算符,分别将数据对象从输入流提取出来或插入到输出流,从而完成数据的输入和输出。
9(、利用使用1)启动Visual C++C++面向流的输入、输出方式提高了程序的可读性,减少了错误的发生。Visual C++编制和运行,执行“FileC++|New…”程序
菜单命令,在New对话框的Projects页面左侧项目类型列表中选择Win32 Console Application项,在对话框右侧的Location和Project Name框中分别输入路径和项目名称,单击OK按钮。(2)进入Win32 Console Application step-1 of 1对话框,选择An Empty Project项,单击Finish按钮。最后在New Project Information对话框单击OK按钮完成项目的建立。
(3)建立和编辑C++源程序文件。执行“Project|Add to Project|New…”菜单命令,在New对话框的File页面选择C++ Source File项,在File框中填入C++源文件名,确认选择Add to project4,单击OK按钮将打开文本编辑器。输入并编辑C++源程序代码。
程序有语法错误,则在屏幕下方的输出窗口中显示错误信息。)建立可执行程序。执行“Build|Build…”菜单命令(快捷键F7)即可建立可执行程序,若(5)执行“Build|Execute…”菜单命令即可在伪DOS状态下运行程序,也可进入DOS状态后运行已建立的程序。
注意不能在Windows中直接运行一个控制台程序。
菜单命令直接创建一个也可采用另一种简单的方法编写C++源文件,在执行C++Build程序,即执行命令时再建立项目工作区。“File|New|Files|C++
Source File”10和表达式等。、C++程序基本要素: C++程序基本要素主要包括标识符、关键字、常量、变量、运算符11标识符是程序员或系统定义的符号,用以标识变量、函数、对象等。、标识符
标识符由字母、数字和下划线组成,它必须以字母或下划线开始。
为标识符取名时,尽量使用能够反映其用途的单词或缩写,这样可提高程序的可读性。12关键字是、关键字C++
编译器预定义的、具有固定含义的保留字,在程序中它们不能被作为一般的标识符使用。
C++13增加了C不具有的关键字,并且不同C++编译器含有不同的关键字。在程序中使用的数据有常量和变量两种形式;、常量和变量
常量是不能被程序改变的固定值; 变量是可以被程序改变的数据。
常量和变量的主要区别在于:常量不占内存空间,不能为常量赋值;而变量需要占内存空间,可以给变量赋不同的值。
不管常量还是变量,程序中使用的每一个数据都属于一种特定的数据类型。在使用变量之前,必须先利用标识符声明变量 14个表达式由常量、变量、函数调用和运算符组成,每个表达式都将产生一个值,并且具有、运算符和表达式
某种类型(称为该表达式的类型)。
15构造类型包括数组、结构和枚举等类型。、C++数据类型:C++中的数据类型分为:基本数据类型、指针类型和构造类型三大类。
16型、整数型、实型(单精度和双精度)和无值型。、基本数据类型:基本数据类型是C++预定义的数据类型,C++的基本数据类型包括字符17下标进行越界检查,程序运行时系统也不会提出越界警告。因此在对数组元素进行操作时、数组:在编译C++源程序时,为了保证程序编译和运行的效率,C++编译系统不对数组应格外注意,以免破坏其它存储单元的数据,否则可能造成不可预料的后果。
18地址的变量。每一个指针变量都有相应的数据类型,该类型用以说明指针所指内存单元中、指针:任何变量都有一个内存地址,这种地址称为指针,而指针变量是一种存放内存存放的数据的类型。指针与数组:
指针与数组关系密切,编程时可以用指针代替下标引用数组元素,指针使数组的使用更为灵活、有效;
当声明一个数组后,编译程序会按照数组的类型和长度为它分配内存空间,数组名表示数组在内存中的首地址;
当用一个指针变量存储数组首地址时,该指针就指向这个数组,就可以通过指针运算间接访问数组的元素。20C++、字符串:
字符串末尾必须加上一个字符串结束符语言没有提供字符串类型,字符串变量是作为一维字符数组来处理。“ ”,但“ ”不是字符串的有效字符,求字符串的长
度时不能将它计算在内。21结构(、结构structure)属于构造类型,它是由多种类型的数据成分组成的数据类型。例如,一个职员的信息由ID号、姓名、性别、出生日期和工资等数据项组成,可采用结构类型来表示。区别以前所介绍过的数据类型,结构的具体构成需要用户自己定义,即定义一个结构类型。结构中的每个数据项称为成员,成员的类型可以是基本数据类型,也可以是一个诸如结构这样的构造类型。
22的数据类型。、枚举:枚举类型(enum)也是程序员定义的类型,它是一种允许用符号常量代表数据23 24值传递:单向、参数传递方式:按地址传递:双向
引用传递:双向
右,如果只省略前面的实参,编译器将无法区分随后的实参与哪个形参相对应。因此,在、含有多个参数默认值的函数调用:当编译器将实参与形参相联系时,其顺序是从左到调用函数时,如果省略某个实参,则该实参右边的所有实参都必须省略。25C++、内联函数 提供了实现上述嵌入功能的函数,这种函数称为内联(inline句时,需要将该内联函数的函数体替换调用语句。当然,这样将会加大代码占用内存的空定义一个内联函数只需在函数头前加入关键字inline。当编译程序遇到内联函数调用语)函数。
间开销,因此,内联函数一般适用于代码较短的函数。
引用:引用(reference)是为一个已声明的变量起一个别名。声明一个引用时需要在其名称前加符号“&”,并同时对引用进行初始化,即指定它所引用的对象(是哪一个变量的别名)。26引用作为一般变量使用几乎没有什么意义,它的最大用处莫过于将其作为函数参数。在前、引用作为函数参数
面学习了按值传递和按地址传递两种参数传递方式,而引用传递与按地址传递在功能上很相象,可以在被调函数中通过改变形参来改变主调函数中的实参,但引用传递比按地址传递更简捷直观,也更好理解。
般变量作为实参。采用引用传递方式,只需在函数定义时使用引用作为形参,在函数调用时直接使用一 当引用被用作函数参数时,被调函数任何对引用的修改都将影响主调函数中的实参,被调函数对引用的操作即是通过实参的别名对实参进行操作。27程序运行时,系统为不同存储属性的变量分配不同类型的内存空间,决定了变量的作用域、存储类型
和生存期。变量(C++)有以下三种内存分配方式:静态分配、自动分配和动态分配。动态内存分配方法:在存储类型说明了变量在内存中的存储方式,而存储方式决定了变量的作用域和生存期。C中动态内存分配是通过调用标准库函数malloc()和free()实现的。在C++中最常用的方法是利用new和delete运算符进行动态内存的分配和释放,使用这种方法能够检测内存漏洞。
动态分配是指利用一个被称为堆的内存块为变量分配内存空间,堆使用了静态存储区和栈之外的部分内存。动态分配是一种完全由程序本身控制内存的使用的分配方式。对于动态分配内存空间的变量,程序运行后,利用new运算符分配内存,利用delete运算符或程序结束运行释放内存。
301.#include、编译预处理指令主要包括:31向对象程序设计、C++程序特点:与传统的面向过程的程序设计语言相比,文件包含指令2.#define
宏定义指令 3.条件编译指令
OOP(Object Oriented Programming),它引入了类、继承、多态和重载等C++语言的最大特征是支持面面向对象的新机制。
32是一种自上而下、逐步细化的模块化程序设计方法。、结构化程序设计的特点:
Wirth N是一种面向过程程序设计方法,即一个程序是由多个过程(在的观点:算法 + 数据结构 = 程序
C++中为函数)模块组成,过程之间通过函数参数和全局变量进行相互联系。
与非结构化程序相比,结构化程序在调试、可读性和可维护性等方面都有很大的改进。代码重用性不高:以过程为中心设计新系统,除了一些标准函数,大部分代码都必须重新编写。
由于软、硬件技术的不断发展和用户需求的变化,按照功能划分设计的系统模块容易发生变化,使得开发出来的模块的可维护性欠佳。
面向过程模式将数据与过程分离,若对某一数据结构做了修改,所有处理数据的过程都必须重新修订,这样就增加了很多的编程工作量。33抽象:、面向对象程序设计方法具有四个基本特征:抽象是指对具体问题(对象)进行概括,抽出一类对象的公共属性和行为并加以描述的过程
封装:封装是把每个对象的数据(属性)和操作(行为)包装在一个类中 继承:继承是指一个新类可以从现有的类派生而来
多态性:多态性是指类中具有相似功能的不同函数使用同一个名称来实现,并允许不同类的对象对同一消息作出的响应不相同。34C++、类的定义与实现
数据成员又称成员变量,成员函数又称为方法。类将对象的属性抽象为数据成员,将对象的行为抽象为成员函数,并对它们进行封装。
C++制权限。对象只能访问所属类的公有成员,而类的私有成员只能在类的成员函数中被访问。类在形式上类似于C语言中用户自定义的结构类型,但定义类时规定了成员的访问控 35为了支持面向对象程序设计,、C++类:
C++在C语言结构(struct)数据类型的基础上引入了类这种抽象数据类型。
C++象,才能通过对象使用定义的成员。面向对象编程实质上就是面向类编程,只有定义和实现了类,才能声明属于这个类的对传统C程序员把编程重点放在函数的编写上,而C++程序员把重点放在类的定义和实现上 36类的定义由关键字、C++类
class开始,其后为用户定义的类名,花括号括起来的部分称为类体。关键字private、public和protected称为访问权限控制符,用来设置数据成员和成员函数的访问属性,其默认值为private。
37动态创建)系统自动调用的成员函数。、什么是构造函数:构造函数是一种特殊的成员函数,它是在创建对象时(声明或
new38自动调用的成员函数。、什么是析构函数:析构函数也是一种特殊的成员函数,它是在对象生存期结束时系统
39静态成员函数也与一个类相关联,而不只与一个特定的对象相关联。、静态成员函数:成员函数也可以是静态的,其声明方式与静态成员变量类似
区别非静态成员函数,静态成员函数没有this指针,因为类的静态成员函数只有一个运行实例。
成员函数一般是公有属性,可以通过对象、类名和作用域限定符、在成员函数中三种方式调用静态成员函数。
40成员。因为当通过类名和运算符、静态成员函数只能访问类的静态成员(成员变量和成员函数)“::”调用一个静态成员函数时,不能确定函数中所访问的非,而不能访问类的非静态静态成员属于哪一个对象。解决方法:将对象作为静态成员函数的参数,然后在静态成员函数中通过对象访问它的非静态成员。
友元函数:
友元关系是单方向的,不具有交换性和传递性。
使用友元虽然简化了编程,并可避免调用成员函数的开销,但破坏了类的封装性,建议谨慎使用 42和、protected派生方式决定了基类的成员在派生类中的访问权限。(缺省值为private)。
派生方式共有三种:public、private基类构造函数的调用方式 :隐式调用和显式调用两种方式 43多态性也是面向对象程序设计方法的一个重要特征,它主要表现在函数调用时实现、何谓多态性?
“一种接口、多种方法”。
两种多态性:编译时多态性和运行时多态性。
编译时多态性:在函数名或运算符相同的情况下,编译器在编译阶段就能够根据函数参数类型的不同来确定要调用的函数 —— 通过重载实现。
运行时多态性:在函数名、函数参数和返回类型都相同的情况下,只能在程序运行时才能确定要调用的函数 —— 通过虚函数实现。
函数重载:指一组功能类似但函数参数类型(个数)不同的函数可以共用一个函数名。
当C++编译器遇到重载函数的调用语句时,它能够根据不同的参数类型或不同的参数个数选择一个合适的函数。
运算符重载:指对于不同数据类型的操作数,同一个运算符所代表的运算功能可以不同。46抽象类是类的一些行为(成员函数)没有给出具体定义的类,即纯粹的一种抽象。、何谓抽象类
抽象类只能用于类的继承,其本身不能用来创建对象,抽象类又称为抽象基类。
抽象基类只提供了一个框架,仅仅起着一个统一接口的作用,而很多具体的功能由派生出来的类去实现。
虽然不能声明抽象类的对象,但可以声明指向抽象类的指针。47在可视化开发环境下,生成一个应用程序要做的工作主要包括编写源代码、添加资源和设、向导的功能
置编译方式。向导实质上是一个源代码生成器,利用应用程序向导可以快速创建各种风格的应用程序框架,自动生成程序通用的源代码,这样大大减轻了手工编写代码的工作量。即使不非常熟悉Visual C++编程,也可以利用它的应用程序向导一个简单的应用程序 48根据应用程序特性在、编写一个实现具体功能的MFC AppWizard[exe]MFC应用程序的步骤应用程序向导各步骤对话框中进行选择,创建一
个应用程序的框架。
利用资源编辑器为程序编辑或添加资源,如编辑菜单、添加对话框等。利用ClassWizard类向导或手工添加类、成员变量和成员函数的声明。根据需要编写具体的函数代码。
编译、链接程序。如果程序有语法错误,需要修改源程序。直到没有编译、链接错误,才能得到可执行程序。
测试应用程序各项功能,如果程序没有实现程序设计所要求的功能,启动Debug调试器进行调试,找出并修改程序设计中的逻辑错误。
49序。文档和视图完成了程序的大部分功能,它们是、文档与视图结构是MFC应用程序最基本的程序结构,适用于大多数MFC应用程序的核心。文档与视图结构Windows应用程是MFC的基石,掌握文档与视图结构对于利用MFC编程有着至关重要的意义。
50的一系列数据,包括文本、图形、图象和表格数据。、文档的概念在MFC应用程序中的适用范围很广,一般说来,文档是能够被逻辑地组合51通过视图来改变文档,视图充当了文档与用户之间的媒介物。、视图是文档在屏幕上的一个映像,它就像一个观景器,用户通过视图看到文档,也是 52视图负责显示和编辑文档数据,但不负责存储。用户对数据的编辑需要依靠窗口上的鼠标、视图和文档的功能:
与键盘操作才得以完成,这些消息都是由视图类接收后进行处理或通知文档类,如收到窗口刷新消息时调用视图类的成员函数OnDraw()显示文档内容。
视图还可在打印机上输出。文档负责数据的读写操作,数据通常被保存在文档类的成员变量中,文档类通过一个称为序列化的成员函数将成员变量的数据保存到磁盘文件中。MFC应用程序为数据的序列化提供了默认支持。52把数据处理类从用户界面处理类中分离出来,使得每一个类都能集中地执行一项工作。、文档/视图结构的优点:
把Windows程序通常要做的工作分成若干定义好的类,这样有助于应用程序的模块化,程序也易于扩展,编程时只需修改所涉及的类。
虽然文档/视图结构牵涉到许多类,其中的也关系比较复杂,但MFC AppWizard向导建立的MFC已确定。应用程序框架已经把程序的主要结构完成了,模块间的消息传递以及各函数的功能都
MFC响应分别分布在文档类和视图类中。应用程序框架起到了穿针引线的作用,按照消息处理函数功能的不同,将不同消息的
第二篇:可视化程序设计试卷A
★编号:(学信息2009-2010-2)考字第()号第 1 页 20 09 /20 10 学年第 2 学期考试试卷(A)卷
课程名称:可视化程序设计适用专业/年级:
选课课号:(2009-2010-2)-1405070-600035-2抽(命)题人:
本卷共1页,考试方式:机试,考试时间: 180 分钟
上机考试题
1. 题目
利用BCB的常用组件及串口通讯组件MSComm实现一个简单的文件传输程序,程序的功能应包括以下几个部分:(60分)
1)程序在构造函数中进行必要的初始化操作,包括串口初始化、显示区清空等;(5分)
2)程序在析构函数中进行串口关闭操作;(5分)
3)程序能选择文件进行发送,发送功能用菜单实现;(15分)
4)接收到发送的文件后,应能在程序中进行显示,并能选择文件名将接收到的文本进行保
存,保存功能用菜单实现;(15分)
5)菜单中应包括程序关闭的功能;(5分)
6)可以编辑并清空显示区和接收区的文本,清空功能用按钮实现;(5分)
7)在程序的主界面上显示姓名、学号和专业班级,并可方便地显示和隐藏该部分信息。(10
分)
(提示:显示区、接收区及文件的操作可用Memo组件实现,串口的接收端和发送端短接以实现程序自收自发,选择文件名进行打开或保存可用Dialog组件实现)
2. 基本要求(40分)
1)软件界面(20分)
2)程序代码中必要的注释(10分)
3)程序是否能正常运行(10分)界面布局提示:
3. 结果提交
最终结果全部保存到文件夹下,文件夹命名规则:自应本08-01-2008440001-姓名班级学号
第三篇:可视化程序设计复习题范文
一、填空题
1.解决方案文件的扩展名为
2.设置断点的方式有
3.要想使用联机帮助,除了正确安装VC++2005之外,还需要安装。
4.使用应用程序向导可以生成的MFC项目类型有
和。
5.Windows应用程序运行的核心工作机制,消息往往用一个结构体来表示。
6.Windows操作系统下的Windows应用程序采用的程序设计,与DOS操作系统下的的程序设计有着明显的不同。
7.所有的Windows应用程序必须包含两个基本函数和。
类和MFC应用程序最基本的两个类,所有的MFC应用程序都必须包含这两个类。
9.在MFC应用程序中,消息分为消息、消息和
消息三种类型。
10.每当创建一个新的资源对象时,系统就会为其提供一个默认的,并赋一个整数值,该定义保存在文件中。
11.在一个Windows应用程序中,菜单的组成分成两大类:菜单和菜单。
12.在菜单项属性Caption文本框中,输入“版本(&V)tCtrl+F12”,其中,“(&V)”是指,“Ctrl+F12”是指。
13.一个状态栏由个窗格组成,每个窗格对应一个命令ID,外部数组管理一组与窗格对应的命令ID,决定着窗格在状态栏的位置。
14.对话框分为两种。
15.一种对话框对象包括
16.Windows系统通过Windows程序的所有图形输出,包括、、。
17.应用程序可以使用GDI创建3种类型的图形输出:
和。
18.CDC类封装了,包含一个的创建和初始化,及通用对象的操作。
时要用到该类。
20.绘图前必须准备好设备上下文。在一个MFC应用程序 中获得DC的常用方法有两种:一种是,另一种是。
21.Windows系统提供的标准控件主要包括及等。
22.按钮控件的类型丰富,其中主要有
等。
23.对于要从若干数据项中进行选择的场合,一个方便的方法是。它存在两种样式:
和。
24.在通常情况下,视图通过函数获取指向文档对象的指针,并通过该指针访问。
25.MFC提供了两种独立地面向用户的数据库访问系统,一种是,另一种是。
二、简答题
1、面向对象中继承的作用是什么?C++如何支持集成机制?
2、构造函数和析构函数的作用是什么?有哪些特殊之处?
3、什么Windows程序设计?
4、什么是可视化程序设计?
5、什么是面向对象程序设计?
6、简述消息驱动机制及MFC的消息处理方法。
7、为什么不能在文档类定义一个键盘消息的处理函数,而通常在视图?
8、简介创建和使用对话框的主要步骤。
9、模式对话框与无模式对话框有何区别,在编程上有何不同?
10、列出模式对话框从初始化到结束过程中所调用函数的顺序。11、10、什么DC?什么是CDC类?
12、图形工具对象(画笔、画刷和字体等)的使用步骤?
13、什么是Doc/View结构?它们的工作机制是什么?
14、应用程序类的主要功能是什么?它有哪些重要函数?各有什么作用?
15、文档模板类的主要功能是什么?
16、框架窗口类的主要功能是什么?它有哪些重要函数?各有什么作用?
17、文档类的主要功能是什么?它有哪些重要函数?各有什么作用?
18、视图类的主要功能是什么?它有哪些重要函数?各有什么作用?
19、SDI应用程序与MDI应用程序的主要差别是什么?
20、在文档类的成员函数中和视图类的成员函数中都能够修改文档对象的数据,但若要更新视图对文档数据的显示,两者的处理有何不同?
21、文档、视图和窗口之间如何通信?各调用哪些函数实现互访?
22、文档数据串行化的意义是什么?怎样实现它的序列化?
23、ADO模型有哪些对象?它们的作用如何?如何遍历一个记录集?
三、设计题
1、为单文档应用的主菜单添加一个弹出式菜单、并将其作为视图的快捷菜单、在工具栏添加相应的按钮、添加相应的加速键,当其菜单项被选中时为其添加复选标记。
2、创建单文档应用,建立鼠标右键单击消息处理函数,每单击一次在状态栏上显示单击的坐标。
3、创建单文档应用,记录鼠标左键单击次数,若是是7的倍数,弹出消息框,显示当前单击了多少次。
4、创建对话框应用,程序运行时,通过编辑框输入被减数与减数的值,单击“计算”按钮,将显示这两个数的差。
5、创建单文档应用,编程实现在视图中央显示尺寸由小到大逐渐变化的文字动画。
6、创建单文档应用,在客户区的中央绘制三色交通灯(或奥运五环旗)。
7、创建对话框应用,将用户在编辑框中输入的字符串用CFile写到一个文本文件中。
8、创建单文档应用,添加一个基于MFC的CStudent类,包括学号、姓名、语文、数学、外语五个数据成员和一个求总分的成员函数,在文档类中添加以CStudent为元素的CArray,添加一个“录入”菜单,调用对话框,将用户输入的学生数据放到数组中。
第四篇:《可视化程序设计》优质课程
申报院级优质课程的主要理由
一、课程内容具备的特点
(1)课程内容Delphi语言的优势
Delphi是第四代编程语言,该语言集可视化、丰富的VCL组件、面向对象、高速编译器,数据库支持的解决方案、网络分布式应用开发模式等优势于一身,且Object Pascal不失Pascal语言严谨的优良传统风格。Delphi提供了多种开发工具,包括集成环境、图像编辑、及数据库开发应用程序。在Delphi众多的优势当中,数据库方面的特长尤显突出:适应于多种数据库结构:从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。
Delphi自1995年问世以来已推出至Delphi 2006,随着新版本的推出,该语言不断添加新的功能,不断提高使用性能,从而使之越来越强大。
(2)对Delphi语言的评价
“真正的程序员用C,聪明的程序员用Delphi”,这是对Delphi最经典、最形象地一句赞美。它具有简单、实用、高效、功能强大的特点,与其他第四代语言相比,Delphi更简单、更易于掌握,而在功能上却毫不逊色。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。Delphi的出现打破了V型可视化编程一统天下的局面。该语言深入浅出,易学、易上手、易应用,在国内得到广泛的应用,深受使用者欢迎。Delphi发展至今,发展迅速,功能日益增强,应用领域不断扩大。在竞争激烈的语言描述型开发工具市场中独树一帜,是广大软件开发人员进行程序设计的高效工具,成为当今软件界主力描述工具之一。有人预测Delphi将会成为可视化编程的主流开发环境。可以想见,其今后的发展依然方兴未艾。由于其具有良好诱人的市场应用发展前景,业已成为各高校竞相开设的专业课程。
二、适应办学理念,加速人才培养
培养既具有一定理论基础知识又有较强动手能力的实用型人才、学以致用、提高学生就业率是高等职业院校的办学宗旨。由于近年来国内软件的快速发展,急需大量Delphi专业技术人员。为满足市场对Delphi实用专业技术人员日益增长的需求,更快更好地为国家、社会提供高素质人才,进一步适应我校办学理念,体现我校的办学宗旨和教学特点,加大人才的培养力度,以适应不断变化的市场需求。我系应在Delphi原有教学已取得的成效基础之上,在相关专业中进一步扩大该课程的授课规模,努力改善教学环境,采用不同教学手段,探索多种教学模式,改进原有教学方法,不断提高教学质量,使之成为我校教学中计算机语言的主流课程、优质课程、精品课程。使学生通过学习,在获得一定理论基础知识的同时,具备较强的实际应用能力,提高学生就业能力,充分体现素质教育优势,以彰显我校办学特色。
三、课程专业培养目标
程序设计语言是整个计算机基础教育中的重点,也是衡量大学生计算机素质的重要标志.它的最终目标是培养学生使用计算机结合本专业解决实际中的各类问题。因此,程序设计课程的教学不仅要让学生学习程序设计的基本概念和方法,掌握编程的技术,更重要的是培养学生逻辑思维和逻辑推理的能力,自学能力,动手能力,分析问题能力,创新意识和创新能力。此外,在学习或实际开发较大程序时,还可以培养他们的团队协作精神。
该课程是一门技术基础课,教学目的是使学生掌握可视化应用程序开发工具的基本使用方法,掌握程序设计的基本方法及获得相应的训练,为以后有关课程的学习和一些实践环节做好必要准备,并为将来在本专业领域中开发和维护应用程序打下基础。要求本专业的学生能在今后的工作中具备扎实的编程能力。对不同专业的学生,我们有不同的要求和目标,对计算机软件专业类学生开设的是96学时课程,要求学生能熟练掌握Delphi的编程技术,具备相应独立编程能力,具有一定的算法分析能力,能完成具有一定实用功能的程序,以此打下扎实的专业基础;对于其他专业学生,则开设72学时课程,目标定位于了解编程技术,深化计算机应用能力,培养学生科学严谨的思维方式。
该课程在一个学期内不少于48个学时的专业理论知识学习后,特别注重学生动手能力,实际应用能力的培养,该课程现在已经成为我系计算机专业的主干课程,这为申办优质课程打下了良好的基础。
为了适应计算机技术发展速度,学生的技术知识水平差异和不同的兴趣爱好,且社会需求越来越高的形势,教研室与时俱进地开设一些层次较高的程序设计相关公选课程供学生选择学习。
四、本课程的主要特色
(1)应用为本的教学内容本课程定位于应用型人才的培养,以实用为原则,重在解决实际问题,因此在教学上舍去了实际应用中较少涉及的理论内容。
(2)双师型队伍作为保障经过多年的锻炼本课程的教学队伍中的教师具有丰富的现场实际工作经验和教学实践能力,有助于指导学生学用结合。
(3)学用结合的教学手段通过案例贯穿不同章节的内容,使学生融会贯通教学内容,循序渐进、螺旋式上升。此外,在数据库应用开发等后续课程中继续强化应用,较好地解决了基础教学与实际应用的脱节问题。
五、课程建设现状
我系于2001年开始在2000级计算机应用(学历专业)开设《可视化程序设计》专业课程,从开始单一专业的11个班近700个学生,发展到涉及计算机应用、可视化程序设计、计算机网络技术、计算机软件技术、计算机信息管理五个自考和高职专业。到2006年7月止,共培养具备该专业知识的毕业生近3000名,且就业率为100%。
由于我系《可视化程序设计》教史长久,且经多年的锻炼和提高,我系已培养和造就了一批讲授《可视化程序设计》的专业教师人才,形成了一个具有较高素质的、由17名教师组成的Delphi专业团队,这支团队人员充足、队伍稳定,学历结构、年龄结构配备相对合理,师资配置整齐。团队中教授1名,副教授2名,讲师6名,助教8名。其中 80 %讲授《可视化程序设计》超过3年以上,有4名获得学校优秀教师称号。
我系《可视化程序设计》经过多年的教学实践和不断的总结,教学水平不断提高,教学经验不断丰富,已形成一定的专业教学技术知识的积累:
六、教学方法、作业、考试等教学配套措施
(1)改革课堂教学的传统形式,强调课内、课外学习相结合。此外,在教学时,教学内容面向实际应用,用案例贯穿教学过程,具有科学性、应用性和可操作性,与高职高专的培养目标相适应。对知识点的介绍采用螺旋渐进、逐步深入的方法,让学生从易到难逐步掌握。
(2)对作业不局限于批改,要发挥讲评的作用。我们在课堂上对完成较好的作业和有创意的作业进行点名展示和讲评,鼓励学生主动思考、大胆实践,激发学生的潜能;但是,对有问题的学生作业则进行不指名的分析与更正,充分保护学生的学习热情。
(3)考核方式从传统的笔试向“笔试+操作”转化,不仅考察学生对理论知识的掌握程度,更重要的是考察学生运用知识解决问题的能力。对于在课程实验中有突出表现或平时能积极进取的学生,可免考操作。
(4)把教案按章节和讲次精心研制成演示幻灯片并上网。幻灯片要规范而不单调,在大教室范围里文字要清晰。对每个要讲的重点问题和各关键点都在演示幻灯片中明确标示。
(5)从传统的“粉笔+黑板”模式过渡到“计算机+大屏幕”为主的授课模,.授课的电子教案用形象的动画在大屏幕上展示各种抽象算法的执行过程,辅之以板书交流,增加了教师和学生的信息交互。有助于学生从感性到理性的理解与相关知识的掌握。
(6)学生在可视化的教学方式下,感到理解容易,又得到大量的信息,配合相应的辅助教学,弥补了课堂教学的相对不足,也为学生提供了自主学习的自由空间,加上课后答疑,学习效果普遍反映较好。
七、实践教学的设计思想与效果
(1)实践教学的设计
实践性教学体现在平时的上机实验和后一学期的集中课程设计中。学生在上机过程中能把当时所学的本章节内容加以巩固,而通过课程设计可以将一学期所学内容结合实际项目的完成来巩固,达到融会贯通的效果。
课程中的实践性教学在计算机房进行,课程后期的课程设计放在“一周实训”集中进行,通过一周五天的集中设计,完成一个比较完整的项目,加深巩固所学知识,并锻炼学生整体考虑问题的能力,为以后的学习和工作打下基础。课程设计一般要求每个学生独立完成一个有一定实用价值的应用程序,项目有一定的难度(含程序编写),要求调试通过,并撰写一份书面的课程设计报告,从用户需求、模块设计、详细设计及编码调试等角度分析、总结所做项目,以期在理论和实践环节巩固所学内容,进而培养学生分析问题和解决问题的能力。
(2)配套实验教材的效果
我们在教材每章的后面都给出了数量较多的练习题,包含实验题,基本能满足教学的需求。此外,教师在教学中,还可以根据学生的具体情况给出相应的补充练习。为了满足优秀学生的需求,我们还配合本教材编写了相应的实训指导供学生参考。该书从简单到复杂给出6个实训项目:Web浏览器的开发、音乐播放器、图片浏览器、基于文件的剧场订票系统、Rave报表设计和基于数据库的机房收费管理系统。每个实训项目含实训要求、实训基础和实训指导。其中,“实训基础”包含完成本实训需掌握的概念和理论知识,实训指导只给出完成本项目的提示。该实验材料还可用于课程设计。通过集中实训,学生可进一步了解并掌握Delphi应用系统的开发过程,提高分析问题和解决问题的能力。几年来的实践证明,用
课程设计巩固所学内容是很有帮助的,也有助于他们完成以后的毕业设计工作。
附件目录:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
合编教材1本、自编教材1本 相关论文6篇 教学课件(多媒体)1套 教学辅导材料(实验资料)、习题汇编1套 学院优秀教案2本 教师队伍的组成和基本情况 学生相关的实习成果及毕业论文 教学计划、实验计划、实习计划 关于本课程的听课记录及评价
第五篇:可视化程序设计课程设计指导书
可视化程序设计课程设计指导书
一、课程设计的目的与要求:
1.掌握C++语言中面向对象的概念,并能在程序中熟练运用。
2.了解面向对象程序设计(C++)的基本概念以及运用面向对象技术进行程序设计的基本思想。
3.能正确编写和调试C++程序。
4.了解在Visual C++环境下进行MFC程序设计的基本思想和方法。
二、设计内容
2.1 项目一:项目描述与设计要点
1.一个有关银行业务运作的应用程序---银行储蓄系统,用菜单选择并实现: 动态创建帐户,帐户分储蓄帐户和结算帐户两类,帐户结点包括帐号、储蓄金额等,帐号由程序自动给出。存款业务。取款业务。所有帐户取款时需有6位密码验证。结算帐户取款应收取手续费:电汇(7%)、信汇(5%)、其它(2%)。所有帐户的信息输出到数据库中。
2.在Visual C++环境下,将上述银行储蓄系统设计成基于Windows的应用程序。
3.设计思路:
(1)界面设计
1)界面1分2个区域,新建账户区和已有账户登陆区
2)当新建账户并电击确定后弹出相关信息的界面
3)当已有账户登陆成功后到取款,存款操作的界面
4)每种操作后最右边都会显示操作后都弹出当前账户的相关信息界面
(2)代码设计
1)设计3个存储账户的类,SavAccount存储储蓄账户的信息,包括类型,帐号,密码,存款余额。CheAccount存储结算帐户信息,包括类型,帐号,密码,存款余额。NowAccount存储当前操作账户的帐户类型和帐号。
2)定义类的操作函数。
3)设计数据库,使用ODBC连接。
4)完成1中的各项功能。
4.实验步骤(包括操作方法、数据处理)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)为账户建立类 创建基本的操作函数 为此系统设计数据库内容。为界面中的控件定义变量 开帐户代码 开帐户后弹出的确认界面代码 帐户操作界面的存款操作代码 帐户操作界面的取款操作代码
2.2 项目二:项目描述与设计要点
1.一个简易的图书管理系统。综合运用开发管理信息系统的相关知识,从中小型图书馆的实
际需求出发,进行设计和具体的实现。主要的功能有:管理员的权限验证;用户信息的管理,包括操作人员的增删和密码的修改;图书的接环流通管理;读者信息的维护管理;图书信息的维护管理,包括图书信息的增删和检索;查看历史记录。
2.在Visual C++环境下,将上述图书管理系统设计成基于Windows的应用程序。
3.设计思路:
(1)界面设计
5)主体框架,基于单文档的应用程序框架。
6)菜单
(2)代码设计
1)权限验证模块和用户信息管理模块的开发。
2)书库管理模块和读者管理模块的开发。
3)借阅图书和还书模块的开发。
4)历史查看模块。
(3)数据库的建立和连接
使用MFC ODBC连接数据库。
4.实验步骤(包括操作方法、数据处理)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
设计数据库连接数据库。为程序声明全局变量。为界面中的控件定义变量 权限验证模块和用户信息管理模块的代码。书库管理模块和读者管理模块的代码。借阅图书和还书模块的代码。历史查看模块的代码。
2.3 项目三:项目描述与设计要点
1.一个简易的学生成绩管理系统。综合运用开发管理信息系统的相关知识,进行设计和具体的实现。主要的功能有:学生成绩的录入、修改、删除;学生成绩的查询;学生成绩的排序。
2.在Visual C++环境下,将上述学生成绩管理系统设计成基于Windows的应用程序。
3.设计思路:
(1)界面设计
1)主体框架,基于单文档的应用程序框架或者是基于对话框的应用程序。
2)菜单
(2)代码设计
1)学生成绩录入和修改模块的开发。
2)查询模块的开发。
3)排序模块的实现。
(3)数据库的建立和连接
使用MFC ODBC连接数据库。
实验步骤(包括操作方法、数据处理)
(1)设计数据库连接数据库。
(2)为程序声明全局变量。
(3)为界面中的控件定义变量
(4)权限验证模块的代码。
(5)成绩录入和修改模块的代码。
(6)成绩查询模块的代码。
(7)成绩排序模块的代码。
2.4 项目四:项目描述与设计要点
1.一个通讯录管理系统。综合运用开发管理信息系统的相关知识,进行设计和具体的实现。
主要的功能有:管理员权限管理;通讯录的录入、修改、删除;通讯录的查询;日志博客的撰写;邮件的发送。
2.在Visual C++环境下,将上述通讯录管理系统设计成基于Windows的应用程序。
3.设计思路:
(1)界面设计
1)主体框架,基于单文档的应用程序框架。
2)菜单
(2)代码设计
1)管理员权限管理模块的开发。
2)通讯录的录入、修改、删除
3)查询模块的开发。
4)日志博客的撰写。
5)邮件的发送
(3)数据库的建立和连接
使用MFC ODBC连接数据库。
4.实验步骤(包括操作方法、数据处理)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
设计数据库连接数据库。为程序声明全局变量。为界面中的控件定义变量 管理员权限模块的代码。通讯录的录入、修改、删除模块的代码。查询模块的代码。日志博客撰写代码。邮件的发送代码。
1.制作一个网页连连看的外挂程序,游戏网页为
3.编写鼠标单击绘制棋子的相关程序。
4.不要求编写电脑AI,只要求能够完成两个玩家的游戏即可。
5.要求设计数据结构,使游戏能判断输赢。
1.设计一个壁球游戏,游戏下方绘制一块板和一个球,当球碰撞到板时随机上弹。
2.设计球碰到游戏边框时的反弹,若球触底则游戏结束。
3.需要设计球的运动轨迹以及触碰到板的逻辑判断。
4.考虑设置游戏难度控制,可考虑通过变换难度设置球移动的速度。
三、设计验收指标
以上七题任选一题完成。
1.2.3.4.可运行的符合题目要求的系统。一对一现场答辩。符合要求的设计报告。包含所有开发文档、程数据的光盘。