当前位置:文档之家› VC++程序设计练习题

VC++程序设计练习题

VC++程序设计练习题
VC++程序设计练习题

南京工业大学继续教育学院

《VC++程序设计》练习题

2010学年第一学期使用班级:H工升本/HY交升本/H自升本

一、选择题(每小题2分,共计40分)

(1)下列关于栈的叙述正确的是

A)栈是非线性结构B)栈是一种树状结构

C)栈具有先进先出的特征D)栈具有后进先出的特征

(2)结构化程序设计所规定的三种基本控制结构是

A)输入、处理、输出B)树形、网形、环形

C)顺序、选择、循环D)主程序、子程序、函数

(3)结构化程序设计的一种基本方法是

A)筛选法B)递归法C)归纳法D)逐步求精法

(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:

A)选择B)投影C)连接D)并

(5)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()

A)面向过程B)面向对象C)安全性D)复用性

(6)C++语言的跳转语句中,对于break和continue说法正确的是()

A)break语句只应用与循环体中

B)continue语句只应用于循环体中

C)break是无条件跳转语句,continue不是

D)break和continue的跳转范围不够明确,容易产生问题

(7)for(int x=0,y=o;!x& &y<=5;y++)语句执行循环的次数是()

A)0B)5C)6D)无次数

(8)考虑函数原型void test(int a,int

b=7,char="*"),下面的函数调用中,属于不合法调用的是()

A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0."*");

(9)下面有关重载函数的说法中正确的是()

A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同;

C)重载函数必须有不同的形参列表D)重载函数名可以不同;

(10)下列关于构造函数的描述中,错误的是()

A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行

C)构造函数可以是内联函数;D)构造函数不可以重载

(11)下面描述中,表达错误的是()

A)公有继承时基类中的public成员在派生类中仍是public的

B)公有继承是基类中的private成员在派生类中仍是private的

C)公有继承时基类中的protected成员在派生类中仍是protected的

D)私有继承时基类中的public成员在派生类中是private的

(14)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(B)

A)fail B)eof C)bad D)good

(15). ( D )能用作用户自定义标识符

A friend B-var C 3xyz D Float

(16). 指针可以用来表示数组元素,int a[3][7],表示错误的是___A___

A.*(a+1)[5] B.*(*a+b)

C.*(*(a+1))

D.*(a[0][0]+2)

(17).有如下定义,int a[5],*p;p=a;则下列错误的是___B__

A.表达式p=p+1合法

B.表达式a=a+1合法

C.表达式p-a合法

D.表达式a+2合法

(18).下列函数中___C___不是类的成员函数

A.构造

B.析构

C.友元

D.拷贝构造

(19).下面_C__保留字不能作为函数的返回类型

A.void

B.int

C.new

D.long

(20).设a是一个整形数组,则元素a[4]字节地址为__C__

A.a+4

B.a+8

C.a+16

D.a+32

二、填空题1分每题,合计20分

1.对于输入为N个数进行快速排序算法的平均时间复杂度是(O(Nlog2N) )

2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是(功能模型)

3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试(软件外部功能)

4.关系型数据库管理系统中存储与管理数据的基本形式是(二维表)

5.一个类的析构函数是___唯一的__

6.拷贝构造函数的形参是__类的对象的引用_________

7.在每个C++程序中都必须包含这样一个函数__main___

8.假定AB作为一个类,则执行AB a(4),b[3],*p[2],自动调用该类型析构函数的次数为__4__

9. 执行“cout<

10. 关系表达式x+y>5的相反表达式:_____x+y<=5_____

11. 假定一个一维数组定义为”char*a[8],则该数组所含元素个数为__8__,所占存储空间的字节数___32_____

12. 变量分全局和局部;___局部变量___没有赋初值,其值是不确定

13. 假定a是一个二维数组,则a[i][j]的指针访问方式为____ *(_*(a+i)+j)

14. 假定一个结构类型定义为”struct D {int a;union{int b;double c;};D*d[2];};”则该类型的大小为__20__字节

15. C++使用cin和cout进行输入输出操作的程序必须包含头文件_iostream.h______,其语句形式___#include____

16. 假定AB为一个类,则执行”AB,a[10];”时,系统自动调用类的析构函数的次数___10___

17. 假定类AB中有一个公用属性的静态数据成员bb,在类外不能通过对象名访问该成员bb的写法为____AB::bb__________

18. 若Queen是一个类,a Queen是它的一个对象,而且该类中定义了一个静态成员函数show(),则在类外对该成员函数运行调用方式为___Queen::show()或a.show()_

19. 现有基类的构造函数,成员对象的构造函数,派生类本身的构造函数,则对于派生类的构造函数,在定义对象时该三种类型的构造函数执行顺序,1.__ 基类的构造函数___2.__ 成员对象的构造函数__3.____ 派生类本身的构造函数___

20. 任何类中允许有三种类型数据__私有_____,___公有____,_保护______

三、简答题(每小题5分,共计25分)

(1)下面程序的打印结果是[ 1 2 5 11 21 ]

#incude

int f(int);

int main()

{ int i;

for(i=0;i<5;i++)

cout<

return0;

}

int f(int i)

{ static int k=1;

for(;i>0;i- -)

k + = i;

return k;

}

(2)已知intDBL(int n){return n + n;}和longDBL(long n){return n +n;}是一个函数模板的两个实例,则该函数模板的定义是

[templateT DBL(T n){return n+n;} ]

(3).void main()

int x=1,y=0,a=0,b=0;

switch()

{

case 1:

switch(y)

{ case 0:a++,break;

case 1:b++,break;

}

case 2:

a++;b++,break;

}

Cout<

}

答案:2,1

(4)应在下列程序划线处填入的正确语句是(C )

#include

class Base

{ public:

void fun(){cout<<"Base::fun"<

};

class Derived:public Base

{ void fun()

{_____________ //显示调用基类的函数fun()

cout<<"Derived::fun"<

}

};

A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();

(5)有如下程序: A

#include

class BASE{

char c;

public:

BASE(char n):c(n){}

virtual~BASE(){cout<

};

class DERIVED:public BASE{

char c;

public:

DERIVED(char n):BASE(n+1),c(n){}

~DERIVED(){cout<

};

int main()

{ DERIVED("X");

return 0;

}

执行上面的程序将输出()

A)XY B)YX C)X D)Y

五应用题15分

建立一个ARRAY类,秋一维数组中各元素的最大值、最小值和平均值,要求:(1)私有成员:

.int data[10]:数组名称

.int max :元素最大值

.int min

.float average

(2)公有成员

.构造函数ARRAY(int a[10]):初始成员函数

.void process()

.void print()

答案:

#include

using namespace std;

class ARRAY

{

public:

ARRAY(int a[10]);

Void process()

Void print();

Private:

int data[10];

int max,min;

float average;

};

ARRAY::ARRAY(int a[10]) {

for(i=0;i<10;i++)

data[i]=a[i];

}

void ARRAY::process()

{

int i;

float sum;

max=a[0];min=a[0];sum=a[0]; for(i=1;i<10;i++)

{

if(a[i]>max) max=a[i];

if(a[i]

sum+=a[i];

}

average=sum/10;

}

void ARRAY::print()

{

co ut<<”max=”<

cout<<”min=”<

cout<<”average=”<

void main()

{

int a[10],i ;

for(i=0;i<10;i++)

cin>>a[i];

ARRAY a(a[10]);

a. process();

a. print();

}

VC++实验报告书

一、设计方案及功能描述 图像平滑往往使图像中的边界、轮廓变的模糊,为了减少这类不利效果的影响,这就需要利用图像鋭化技术,使图像的边缘变的清晰。图像銳化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。 对图像f(x,y),在点(x,y)处的梯是一个矢量 G=[f(x,y)]=[?f ?x ,?f ?y ] 梯度的方向在函数f(x,y)最大变化率的方向上,梯度的幅度G M[ f(x,y)]可由下式给出: G M[ f(x,y)]=(?f ?x )2+(?f ?y )2 由上式可知,梯度的数值是f(x,y)在其最大变化率的方向上的单位距离所增加的量。 对数字图像,微分?f ?x 和?f ?y 可用差分近似。差分运算近似后的梯度表达式为 G M[ f(x,y)]=f x,y?f(x+1,y)2+f x,y?f(x,y+1)2 对于图像f(x,y),上式的计算量很大,因此在实际计算中常用绝对值代替平方和平方根运算,梯度模值近似为 运用双方向一次微分运算,算出梯度后用梯度值替代该点的灰度值。在图像的最后一行或最后一列无法计算像素梯度时,一般用前一行或前一列的梯度值近似代替。 为了在不破坏图像背景的前提下更好地增强边缘,也可以对上述直接用梯度值代替灰度值的方法进行改进,即利用门限判断梯度锐化方法。具体公式如下: G M[ f(x,y)]= G M f x,y+100, G M[ f(x,y)]≥T f x,y,其他 对于图像而言,物体与物体之间,背景和背景之间的梯度变化一般很小,灰度变化较大的地方一般集中在图像的边缘上,也就是物体和背景交界的地方,当设定一个合适的阈值T,G M[ f(x,y)]大于等于T就认为该像素点处于图像的边缘,对梯度值加上100,以使边缘变亮,而对于G M[ f(x,y)]小于T就认为像素点是同类像素点。这样就增加了物体的边界,又同时保留了图像的背景的原来的状态。

VC++程序设计大作业——熊武

武汉轻工大学VC++程序设计大作业 院系电气与电子工程学院 班级 学号1204 姓名 日期2013.11.22

1题目 编写MFC下的单文档程序,通过鼠标点击选择两个点,作为矩形左上角、右下角,然后绘制矩形。(对应12题) 2思路 首先点击鼠标,选中左上角,然后拖动鼠标,在右下角拿起,这样矩形就就可以实现了。 3程序实现过程 首先建立MFC单文档程序

然后建立类向导 添加鼠标事件

添加CPoint成员变量m_OrigPoint 4关键代码 // RectangleView.cpp : implementation of the CRectangleView class // #include "stdafx.h" #include "Rectangle.h" #include "RectangleDoc.h" #include "RectangleView.h"

#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CRectangleView IMPLEMENT_DYNCREATE(CRectangleView, CView) BEGIN_MESSAGE_MAP(CRectangleView, CView) //{{AFX_MSG_MAP(CRectangleView) ON_WM_LBUTTONDOWN() ON_WM_LBUTTONUP() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CRectangleView construction/destruction CRectangleView::CRectangleView() { // TODO: add construction code here } CRectangleView::~CRectangleView() { } BOOL CRectangleView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); }

VC++实验报告1

实验一、HelloWorld在VC上的实现 姓名:郭殷蓉学号:E10700102 班级:10数媒1班 1.1实验目的 ●掌握Windows程序基本的运行原理。 ●学会编写简单的Windows程序。 1.2实验平台 ●Windows XP professional操作系统。 ●VC6.0集成开发环境。 1.3实验内容 ●用Windows API(SDK)实现图形化HellowWorld程序。 ●用MFC类库实现图形化HellowWorld程序。 1.4实验原理 ●Windows操作介绍 Windows是一种基于图形界面的多任务操作系统。对于普通用户来说,Windows图形化界面友好、操作简单,用户不需要花费长时间学习如何使用计算机和新程序,因为所有的Windows应用程序都具相近的外观和感觉;对于程序员来说,标准化的图形用户界面来自于Windows构造菜单和对话框的内置程序,这些工作由Windows处理,与应用程序无关,使程序员可以编写出易于用户操作的程序。 ●Windows编程模型 Windows程序采用如下图所示的事件驱动编程模型,应用程序通过处理操作系统发送出来的消息来响应事件。消息处理是所有Windows应用程序的的核心。Windows程序的进入点是WinMain函数,但大多时候操作是在成为窗口过程的函数中进行的。窗口过程函数处理发送给窗口的消息。WinMain创建该窗口并进入消息循环,即获取消息或将其调度给窗口过程。消息被检索之前处于消息队列中等待。 Windows定义了成百上千个不同的消息类型。大多数消息的开始字符为“WM”并带有下划线; 操作系统是通过消息机制(Message)来实现将事件传递给应用程序的。操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序(详见MSDN)。 操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应 用程序编程的接口(Application Programming Interface),简称Windows API(C函数)。

VC程序设计 课程设计报告书

VC程序设计课程设计 报告书 设计题目:简单绘图软件 院系:信息工程学院 班级:软件1101 组别:第二十二组 学号: 1110024130 姓名: 方锦 起止日期:2012年12月10日~2012年12月20日指导教师:张顺利

目录 绪论 -------------------------------------------------------------------------------- 3一概要设计 -------------------------------------------------------------------- 5 1.主要功能---------------------------------------------------------------------- 5 2.设计的概要设计功能模型框架图---------------------------------------- 5 二设计的详细设计------------------------------------------------------------- 5 1工具栏的编辑---------------------------------------------------------------- 6 2状态栏的编辑 --------------------------------------------------------------- 6 四编码和测试---------------------------------------------------------------- 9五设计总结 ------------------------------------------------------------------ 10 1.过程分析-------------------------------------------------------------------- 10 2.经验教训及分析 -----------------------------------------------------------11 3程序维护 --------------------------------------------------------------------11 六参考文献-------------------------------------------------------------------- 12

如何写vc实验报告

如何写vc实验报告 篇一:VC++实验报告(2) VC++实验报告 班号:0904101 学号:090410123 姓名:仲维祎 实验一VC++开发环境的熟悉和C++基础知识实验 一、实验目的 1. 掌握C++语言的特点。 2. 掌握C++的各种数据类型及基本运算。 3. 掌握C++各种控制结构及使用技巧。 4. 掌握C++的函数、数组、指针的相关概念和使用方法。 5. 灵活运用C++相关基础知识进行综合程序设计。 6. 回顾面向过程程序设计方法。

7. 熟悉Visual C++的开发环境 8.掌握用应用程序向导创建一个控制台应用项目的方法。 9.掌握源代码文件的新建、打开、保存和关闭等基本操作。 10.掌握Visual C++项目的编译、连接和执行。 11.掌握代码简单语法错误修正和调试的一般过程。 二、实验知识点概念 注意C++中同C的不同之处,包括数据类型,输入输出等相关的差异。 三、实验题目 1. 采用插入排序法,输入10个整数按升序排序后输出。要求编写一个通用的插入排序函数,它带有三个参数,第一个参数是含有n个元素的数组,这n个元素已按升序排序;第二个参数给出当前数组中元素个数;第三个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数,要求每一行输出5个元素。 2. 有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩,数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数实现。

3. 对程序加入断点简单调试。 四、程序思路 五、程序源代码 1:代码如下 #include using namespace std; void (char iArray,int nCount,int nNumber) { int i=nCount-1,j=0; char *iArray2; iArray2=iArray; *(iArray2+nCount)=nNumber;//多分配一个空间给传入数据for(i;i=0;i--) { if(nCount==1) *iArray=nNumber; if (*(iArray2+i)*(iArray+i+1))

最新vc++程序设计

3.25设计一个类CRectangle,除了有相关的数据成员,该类要求包含下述成员1 函数:矩形从一个位置移动到另一个位置的Move()函数;改变矩形大小的Size 2 ()函数;返回矩形左上角的坐标坐标值的Where()函数;计算矩形面积的Area 3 ()函数。 4 代码如下:#include 5 #include 6 class CRectangle 7 { 8 private: double X; 9 double Y; 10 double Length; 11 double Width; 12 public: 13 CRectangle(double s, double m, double L, double W) 14 { 15 X=s; 16 Y=m; 17 Length=L; 18 Width=W; 19

} 20 ~CRectangle() 21 {} 22 void Move(double , double); 23 void Size(double ,double); 24 void Where(); 25 void Area(); 26 }; 27 void CRectangle::Move(double x, double y) 28 { 29 cout<<"矩形按向量("<

VC实现贪吃蛇的实验报告

题目:利用VC++实现贪吃蛇小游戏

一、题目:利用VC++实现贪吃蛇小游戏 利用VC++实现的贪吃蛇小游戏更加注重可视化。一条蛇在封闭的围墙内,在围墙内会随机出现一个食物,通过键盘上的W S A D四个键控制它向上,下,左,右四个方向移动。当蛇头撞到食物时表示将食物吃掉,这时蛇身增长一节,得分加一。接着随机生成食物,等待被蛇吃掉。如果在移动过程中撞到墙壁或者自己的身体,则游戏结束。游戏过程中,可以在菜单中选择暂停或者结束游戏,对游戏进行暂停或者退出。

二、编程要点(或基本思路、算法分析与说明): 本次游戏设计包含两大模块,一个模块是贪吃蛇游戏本身算法的设计,完成了贪吃蛇的食物产生,获取食物,蛇的移动等功能。另一个模块是利用MFC完成贪吃蛇的可视化显示,产生了一个对话框,在对话框可以控制游戏及游戏的显示。 1.贪吃蛇游戏算法设计包括: <1>果实出现的设计思路: (1)采用随机数生成果实出现坐标 (2)判断当前生成的果实是否在贪吃蛇身体范围内。 (3)如果在,重新生成直到不在为止。如果不在,则把坐标位置返回给调用对象。 <2>贪吃蛇更新的算法设计 (1)接收玩家按下的方向键消息,并保存到方向变量中。 (2)定义一个时间定时器,用来控制蛇运动的速度。 (3)当每次时间间隔到达时,则根据方向变量来更新贪吃蛇curr(即贪吃蛇身体)向量。 (4)判断curr向量的第一个元素中的坐标数据是否碰到边界或者蛇身,如果有,则游戏结束。否则,进行下一步。 (5)判断curr向量的第一个元素中的坐标数据是否与当前果实重合,如果有,表示贪吃蛇已经吃到果实。这时就向贪吃蛇curr向量添加一个元素,并重新生成一个果实。 (6)吃到食物后,得分会同步增加。 2.利用MFC完成贪吃蛇的可视化显示: 首先初始对话框,完成游戏的整体框架的显示。然后游戏玩家在菜单栏里选择开始,暂停,结束等,控制游戏状态。游戏开始后,玩家通过键盘上的消息控制蛇的运动。在函数DrawSnake(CDC *pDC,Snake snake),和DrawFood(CDC *pDC,SnakeFood f)完成对蛇和食物的重绘,从而显示出蛇的运动和对食物的获取。在OnPaint()函数中完成得分和游戏操作提示的显示。 本次游戏设计的主要功能函数如下: OnGameStart()(游戏开始函数), OnGamePauseStart()(游戏暂停函

VC++程序设计练习题

南京工业大学继续教育学院 《VC++程序设计》练习题 2010学年第一学期使用班级:H工升本/HY交升本/H自升本 一、选择题(每小题2分,共计40分) (1)下列关于栈的叙述正确的是 A)栈是非线性结构B)栈是一种树状结构 C)栈具有先进先出的特征D)栈具有后进先出的特征 (2)结构化程序设计所规定的三种基本控制结构是 A)输入、处理、输出B)树形、网形、环形 C)顺序、选择、循环D)主程序、子程序、函数 (3)结构化程序设计的一种基本方法是 A)筛选法B)递归法C)归纳法D)逐步求精法 (4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是: A)选择B)投影C)连接D)并 (5)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是() A)面向过程B)面向对象C)安全性D)复用性 (6)C++语言的跳转语句中,对于break和continue说法正确的是() A)break语句只应用与循环体中 B)continue语句只应用于循环体中 C)break是无条件跳转语句,continue不是 D)break和continue的跳转范围不够明确,容易产生问题 (7)for(int x=0,y=o;!x& &y<=5;y++)语句执行循环的次数是() A)0B)5C)6D)无次数 (8)考虑函数原型void test(int a,int

b=7,char="*"),下面的函数调用中,属于不合法调用的是() A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0."*"); (9)下面有关重载函数的说法中正确的是() A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同; C)重载函数必须有不同的形参列表D)重载函数名可以不同; (10)下列关于构造函数的描述中,错误的是() A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行 C)构造函数可以是内联函数;D)构造函数不可以重载 (11)下面描述中,表达错误的是() A)公有继承时基类中的public成员在派生类中仍是public的 B)公有继承是基类中的private成员在派生类中仍是private的 C)公有继承时基类中的protected成员在派生类中仍是protected的 D)私有继承时基类中的public成员在派生类中是private的 (14)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(B) A)fail B)eof C)bad D)good (15). ( D )能用作用户自定义标识符 A friend B-var C 3xyz D Float (16). 指针可以用来表示数组元素,int a[3][7],表示错误的是___A___ A.*(a+1)[5] B.*(*a+b) C.*(*(a+1)) D.*(a[0][0]+2)

VC++实验报告(1,2,3)

VC++实验报告 班号:________ 学号:________ 姓名:________

实验1 VC++开发环境的熟悉和Windows编程基础 一、实验目的 1.熟悉Visual C++的开发环境 2. 掌握用应用程序向导创建一个控制台应用项目的方法。 3. 掌握源代码文件的新建、打开、保存和关闭等基本操作。 4.掌握用应用程序向导创建一个Windows应用项目的方法 5. 掌握Visual C++项目的编译、连接和执行 6. 掌握代码简单语法错误修正和调试的一般过程 7.掌握Windows程序运行基本原理。 8. 掌握使用SDK(Windows API)方式编写Windows应用程序方法。 9. 掌握用应用程序向导创建一个Windows应用项目的方法。 二、实验知识点概念 Visual C++是Microsoft公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境。由于其功能强大、灵活性好、完全可扩展以及具有强有力的Internet支持,在各种C++语言开发工具中脱颖而出,成为目前较为流行的C++语言集成开发环境。 Windows程序设计不同于DOS下的程序设计,它是一种事件驱动的程序设计模式,主要是基于消息的。Windows SDK编程主要采用C++/C语言和Windows API进行Windows 应用程序设计。 三、实验题目 1. 控制台应用程序编写 术语:“控制台应用程序”是一个在仿DOS窗口(控制台窗口)中运行的基于字符的程序,控制台窗口将成为其标准输入和输出装置。由于这种模式的应用程序比Windows程序简单,我们先选择利用Visual C++来建立这样一个应用,这样使得我们可以将精力先投入到学习使用C++编程语言,而不需要把过多的精力投入到学习复杂的Windows编程中去。 创建一个控制台应用,输入以下代码: #include class Vehicle { public: Vehicle(float speed,int total) { speed = speed; total = total; cout<<”constructor is called!” <

VC++可视化程序设计入门

烟台南山学院计算机系《可视化程序设计Visual C++》作业 2016-2017学年第二学期 班级:计科1401 姓名:毛宗磊 学号:201422031026 专业:计算机科学与技术 指导教师:王玉健

1、创建计算器 1、打开vc6.0编译环境,选择file新建选项,选择工程,选择MFC APPWIZARD(exe),设置工程名字和位置,选择建立对话框,完成基本设置。 2、添加静态文本、编辑框以及按钮,修改基本属性,如图所示 3、创建类向导,在members variables中添加代码,如图所示 4、点击求和按钮,函数的代码如下

5、点击归零按钮,设置代码如下 6、实验结果如下

2、设置背景颜色 1、在文件视图中找到Onpaint()函数,设置代码如下: CRect rect; GetClientRect(rect); CPaintDC dc(this); dc.FillSolidRect(rect,RGB(10,20,180)); CDialog::OnPaint(); 2、设置完成后效果如下:

3、设置变色按钮功能 1、添加一个按钮,设置其基本属性 2、在头文件里定义几个控制颜色的变量 int m_nred; int m_ngreen; int m_nblue; 3、在变色按钮函数内添加如下代码: CColorDialog dlg; if(dlg.DoModal()==IDOK) { COLORREF color=dlg.GetColor(); m_nred=GetRValue(color); m_ngreen=GetGValue(color); m_nblue=GetBValue(color); Invalidate(); } 4、在绘图函数中修改几个变量的值 dc.FillSolidRect(rect,RGB(m_nred,m_ngreen,m_nblue)); 5、效果图如下 4、设置随机色 1、添加一个随机色按钮,设置基本属性

VC 程序设计

一、填空题:(每小题2分,共20分) 1.工程名称为kkk的单文档应用程序,默认情况下其文档类名称为() 2.切分窗口有两种类型:()切分和()切分。 3.ActiveX控件有三个属性集:()、()和方法。 4.Windows操作系统支持两种形式的多任务:基于()的多任务和基于()的多任务 5.Windows提供了四种同步对象:()创建或打开一个命名的或匿名的事件对象)、(把指定的事件对象设置为有信号状态)、(把指定的事件对象设置为无信号状态/)、(请求事件对象)事件对象、和临界区。 6.在Windows系统中,消息有数百种之多,可以大致分为以下三类:()、()和命令消息 7.套接字的数据结构中包含的信息应该有:()、()和协议 8.ActiveX控件的二进制文件的扩展名为(CAB)。9.若从扩展动态链接库中导出类,需在定义该类时添加关键字()10.画刷共有三种基本类型:()、()和图案画刷。 二、选择题:(每小题2分,共40分) 1.下列()函数用于弹出模式对话框? (A)OnInitDialog(B)DoModal(C)OnOK(D)OnCancel 2.()函数用于设置注册数据库,注册文档模板等初始化工作。 (A)I nitInstance(B)OnDraw(C)OnOK(D)OnCancel 3.()函数作用是初始化一个新文档。 (A)GetDocument(B)DeleteContent(C)OnNewDocument(D)Dump 4.自动化客户可以通过自动化服务器的()来控制自动化服务器。 (A)过程(B)属性(C)事件(D)方法 5.所有的标准Windows消息都以WM_为前缀,标准Windows消息应该由相应的窗口类和视图类进行处理,它又分为以下几类:() (A)鼠标消息(B)控件消息(C)键盘消息(D)命令消息(E)窗口消息 6.下列哪些属于文档与视图之间相互作用的函数?() (A)Serialize(B)OnUpdate(C)GetDocument(D)GetNextView 7.对于SDI应用程序,命令传递顺序为:() (A)文档->视图->SDI主框架窗口->应用程序 (B)视图->文档->SDI主框架窗口->应用程序 (C)应用程序->文档->视图->SDI主框架窗口 (D)应用程序->视图->文档->SDI主框架窗口 得分评卷人 得分评卷人

VC实验报告

黑龙江大学 实验报告 黑龙江大学教务处

实验名称:菜单、工具栏和状态栏的使用 实验目的 1 熟悉VC++编程环境 2 熟悉VC++框架程序 3 掌握基本程序调试技术 实验类型 // 设计型 实验环境 // 编程环境:Visual C++ .net // 运行环境:Windows XP等 实验要求 1.掌握菜单栏的使用,包括命令函数和命令更新函数的使用。 2.掌握快捷菜单的使用 3.掌握工具栏和状态栏的使用 4.在框架菜单栏上添加菜单项,并在其下拉菜单中定义下级子菜单。子菜单包括性别(男、女)、课目(数学、语文、英语)和成绩(优、良、中、及格和不及格)。 5.单击显示菜单项,可将上述菜单选项内容显示出来。 实验步骤 int Grade1; //成绩等级的变量 bool Math; //数学项的变量 bool English; //英语项的变量 bool Chinese; //语文项的变量 TCHAR sex[5]; //性别项的变量 CString str; 1、设计

先定义属性,性别,姓名,成绩单选,学科多选,显示进行图标设置和关联,右键事件菜单注释,进行新的菜单,关联并编辑。 2、编码 void CMy20156660yzn3View::OnContextMenu(CWnd* /* pWnd */, CPoint point) { //#ifndef SHARED_HANDLERS //theApp.GetContextMenuManager()->ShowPopupMenu(IDR_POPUP_EDIT, point.x, point.y, this, TRUE); //#endif CMenu menu; menu.LoadMenu(IDR_MENU1); menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this); } void CMy20156660yzn3View::OnContextMenu(CWnd* /* pWnd */, CPoint point) { //#ifndef SHARED_HANDLERS //theApp.GetContextMenuManager()->ShowPopupMenu(IDR_POPUP_EDIT, point.x, point.y, this, TRUE); //#endif CMenu menu; menu.LoadMenu(IDR_MENU1); menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this); } 右键事件菜单 void CMy20156660yzn3View::OnShow() { // TODO: 在此添加命令处理程序代码 str = _T(""); str = str + name; str = str + _T(",性别为"); str = str + sex; str = str + _T(","); if (Math == true) str = str + _T("数学"); if (Chinese == true) str = str + _T("语文"); if (English == true) str = str + _T("英语");

VC++程序设计说明书---计算器

目录 目录 ......................................................................................................................................... I 摘要 ....................................................................................................................................... II 1 设计目的 (1) 2 设计要求 (2) 3 设计内容 (3) 3.1 系统分析 (3) 3.2项目创建 (3) 3.3界面设计 (5) 3.4 代码实现 (8) 3.5 方案分析总结 (17) 总结与致谢 (20) 参考文献 (21) 附件 (22)

摘要 GPA英语全称是grade point average,意思就是平均分。GPA的精确度往往达到小数点后1到2位,如:3.0,3.45。GPA的标准计算方法是将大学成绩的加权平均数乘以4,再除以100,得出平均分。美国的GPA满分是4分,即A=4,B=3,C=2,D=1。一般来讲,百分制中的90分以上可视为4分,80分以上为3分,70分以上为2分,60分以上为1分,五分制中的5分为4分,4分为3分,3分为2分,2分为1分。 这次课程设计完成了一个简单的GPA计算器。本次设计系统具有良好的界面,必要的交互信息和较好的健壮性,使我们能快捷简单地进行操作,即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。 关键词:GPA;VC++6.0;MFC;控件;

HP-VC-FlexFabric实验报告

HP VC FlexFabric应用于VMware vSphere 4.1环境的基本配置实验 说明:本实验仅是VC FlexFabric用于VMware的功能测试,包括FCoE和Boot From SAN,不包含复杂网络配置。关于VC FlexFabric配置请参考其cookbook,链接如下: Hardware:BLc7000 一个(2OA +4PS +10FAN) BL460c G7一个(1P+6G+300G HDD) HP VC FlexFabric 10Gb/24-port Module一个 Brocade 8/12 SAN SW for HP BLc 一个 Cisco 3020 for HP BLc 一个 HP EVA4400 一个 OS:VMware vSphere 4.1 Firmware:OA—3.21 VCM—3.15 ILO 3—1.15 Topology:

1.关于HP VC FlexFabric模块: 要使用CAN网卡和配置VC FlexFabric需要先了解下面3个图的意思:

2.实验过程: 注意-----在进行实验之前需要将先后将OA、VC FlexFabric的firmware升级: OA要升级为3.0以上;VC FlexFabric必须为3.15,否则不具备配置FcoE的功能。 首先检查VC FlexFabric的firmware版本: VCM对浏览器的版本有一定要求,如果版本不符合要求有可能无法进行配置:

接下来看一下在OA里面BL460 G7的有关情况: 下图是未对VC FlexFabric配置前,刀片的上面有一个叹号 注意未配置VC FlexFabric前,网卡的信息:

(画图vc程序设计)

西安科技大学 《VC++程序设计》 实验报告 题目画图 院、系(部)计算机科学与技术学院专业及班级 学号 姓名:szgkb 日期 2014.6.2

1 题目要求 建立一个通过“画图”程序,它是基于MFC的多文档应用程序,并且应用程序的风格样式具有Office视觉样式的Ribbon风格。在实现程序的过程中,要创建具有Office视觉样式的项目,再为应用程序的Ribbon功能区添加相应的绘图命令。在实现绘图中,能够很好地使用CDC类中的绘图函数,以实现直线、矩形、圆弧、椭圆等的绘制。了解MFC中设备环境类和坐标映射方式,并且了解常用的GDI对象。扩展“画图”程序实现图形的绘制、保存、滚动等功能。 2 功能需求 选择“绘图”选项卡后,将会展开一些绘图工具。选择某个绘图工具后,便可以在客户区中绘制相应的图形,还可以点击面板上的“画笔颜色”和“填充颜色”按钮,利用弹出的颜色对话框分别设置绘图的颜色及填充的颜色,而且单击“文本”按钮还可以在客户区中输入文本内容,在文本输入中,涉及到文本的颜色、插入符的位置、字体、退格、回车、文本字符等的正确处理。 3 总体设计 建立一个MFC的基于对话框的应用程序,取名为MyPaint1。接下来创建Ribbon 功能区,创建了“工具”、“颜色”两个面板。新建绘图类CDrawShape用以封装自由线、直线、矩形、椭圆、圆的绘制过程。在CMyPaint1View中响应绘图命令并通过添加鼠标左键按下以及移动的消息响应函数(OnLButtonDown、OnMouseMovehe、 OnLButtonup)来实现图形绘制。另外设置插入符、文本内容、文本颜色,来实现文本的输出。最后进行对绘图光标的修改。 3.1 系统模块 3.2 系统业务处理流程运行“画图”程序“绘图”菜单 工具面板 客户区绘图 颜色面板 保存图形

VC++程序设计课内实验报告

实验报告 课程名称 VC++程序设计 专业班级电子0942 姓名 学号 电气与信息学院 和谐勤奋求是创新 实验教学考核和成绩评定办法 1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。 2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。3.实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为、、;原则上根据上述三个方面进行综合评定。学生未取得1)和2)项成绩时,第3)项成绩无效。 4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。实验成绩在教师手册中有记载。 实验报告主要内容 一.实验目的 二.实验仪器及设备 三.实验原理 四.实验步骤 五.实验记录及原始记录 六.数据处理及结论 七.实验体会(可选项) 注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。 2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。 3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事 实、概念或理论)的实验。 4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。 5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。

一、实验目的 1.进一步加深对类和对象的理解。 2.掌握类的构造函数和析构函数的概念、意义和使用方法。 3.掌握重载构造函数的含义和使用。 4.编写一个较为复杂的类和对象的应用程序。 二、实验内容 1.设计一个程序,定义一个矩形类,包括数据成员和函数成员。要求有构造函数、析构函数,还有一个成员函数area( )用来计算并显示矩形的面积,并编写main函数进行测试。程序:# include<> # include<> class Rect { public: Rect(int l, int w); ~Rect(); int Area(); private: int nLength; int nWidth; }; Rect::Rect(int l, int w) {cout<<"executing constructor..."<

相关主题
文本预览
相关文档 最新文档