VC++实验指导书.docx

上传人:b****6 文档编号:7487948 上传时间:2023-01-24 格式:DOCX 页数:14 大小:27.39KB
下载 相关 举报
VC++实验指导书.docx_第1页
第1页 / 共14页
VC++实验指导书.docx_第2页
第2页 / 共14页
VC++实验指导书.docx_第3页
第3页 / 共14页
VC++实验指导书.docx_第4页
第4页 / 共14页
VC++实验指导书.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

VC++实验指导书.docx

《VC++实验指导书.docx》由会员分享,可在线阅读,更多相关《VC++实验指导书.docx(14页珍藏版)》请在冰豆网上搜索。

VC++实验指导书.docx

VC++实验指导书

VisualC++程序设计实验指导书

实验1认识VisualC++6.05中文版开发环境

实验内容

(1)熟悉VisualC++6.05的开发环境。

(2)操作工具栏和项目工作区窗口。

(3)用应用程序向导创建一个控制台应用项目Ex_Hello。

(4)输入并执行一个新的C++程序Ex_Simple。

实验准备和说明

(1)建议在本教材第一次上课时进行本次实验。

(2)熟悉Windows2000或XP操作系统的环境和基本操作。

(3)熟悉实验报告的书写格式,这里给出一下建议:

实验报告采用A4纸,封面一般包括实验目次.实验题目,班级,姓名,日前和机构名称。

报告内容一般包括实验目的和要求。

实验步骤,实验思考和总结。

需要指出的是,实验步骤不是书本内容的重复,而是自己结合实验内容进行探索的过程,教师也可根据具体情况提出新的实验报告格式和新的要求。

(4)阅读以下关于VisualC++的说明:

VisualC++是Microsoft公司推出的目前使用极为广泛的基于WINDOUWS平台的可视化编程环境。

是在以往的版本不断更新的基础上形成的,其功能强大,灵活性好,完全可以扩展以及具有强有力的Internet支持,在各种c++语言开发工具中脱颖而出,成为目前最为流行的C++语言集成开发环境。

VisualC++6.0分为标准版,企业版和专业版3种,但其基本功能是相同。

VisualC++6.5中文版是在VisualC++6.0基础上进行汉化的以一个版本,本书以此版本作为编程环境。

为统一起见,我们仍称之为VisualC++6.0。

实验步骤

1.打开计算机,启动windouws2000操作系统

2.建工作文件夹

3.启动VisualC++6.0

4.创建一个控制台应用项目

5.认识开发环境界面

6.认识工具栏

7.工具栏的显示和隐藏

8.工具栏的浮动与停泊

9.项目工作区窗口

10.修改代码,编译运行

11.输入一个新的C++程序

12.修正语法错误

13.退出VisualC++6.0

14.写出实验报告

思考与练习

(1)除工具栏可以浮动和停泊外,看看还有那些窗口可以这样操作?

(2)经过创建项目文件的实验,试总结创建一个控制台应用项目的一般方法。

实验2基本数据类型、表达式和基本语句

实验内容

(1)测试基本数据类型char,int,和short之间的相互转换。

(2)测试有自增自减运算符的表达式的结果和运行次序。

(3)程序Ex_Prime:

输出1~100的素数(用for语句编写)。

(4)程序Ex_CircleAndBall:

设园半径r=2.5,圆柱h=4,求园周长,圆面积,圆球体积,圆柱体积。

用cin输出要计算的项目,然后输出计算结果,输出,输入,输出时要有文字提示。

实验准备和说明

(1)在学习完第一章的“基础语句”内容之后进行本次实验。

(2)编写本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.创建应用程序项目Ex_Simple

3.修改并添加类型转换的测实代码

4.修改并添加复杂表达式的测实代码

5.输入并运行程序Ex_Prime.cpp

6.输入并运行程序Ex_CircleAndBall.cpp

7.退出VisualC++6.0

8.写出实验报告

思考与练习

(1)前缀或后缀的自增和自减运算符有什么不同?

在VisualC++中,多个自增和自减运算符与算术运算符混合运算时有什么规律?

(2)将Ex_Prime.cpp程序改用while和do……while循环语句重新编写。

(3)用sizeof运算符编写一个测实程序,用于测实本机中数据类型或字符串所占的字节数,并将其填写在下表中,然后分析结果。

基本数据类型

所占字节数

基本数据类型/字符串

所占字节数

char

float

short

double

int

longdouble

long

“\nCh\t\v\0ina”

实验3函数和预处理

实验内容

(1)程序EX_AreaFunc:

已知三角形的三边a、b、c,则三角形的面积为:

其中s=(a+b+c)/2。

需要说明的是,三角形的三边的边长由cin输入,需要判断这三边是否构成一个三角形,若是,则计算其面积并输出,否则输出“错误:

不能构成三角形!

”。

编写一个完整的程序,其中需要两个函数,一个函数用于判断,令一个函数用于计算三角形的面积。

(2)在上述内容的基础上,改用带参数的宏编写程序EX_AreaMacro来求三角形的面积。

(3)程序EX_NumToStr:

用递归发奖一个正数n转换成字符串,例如输入1234,应输入字符串“1234”.n的为数不确定,可以是任意位数的整数。

实验准备和说明

在学习完第一章的“函数和预处理”内容之后进行本次实验。

编写本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.输入并运行程序EX_AreaFunc.cpp

3.输入并运行程序EX_AreaMacro.cpp

4.输入并运行程序EX_NumToStr.cpp

5.退出VisualC++6.0

6.写出实验报告

思考与练习

比较带参宏和一般函数的区别。

又返回值和无返回值得递归函数的运行过程有没有区别?

如果有,则有哪些区别?

实验4构造类型、指针和引用

实验内容

(1)程序Ex_Sort:

采用插入排序的方法,输入10个整数按升序排序后输出。

要求写一个通用的插入排序函数InsertSort,它有3个参数:

第1个参数是含有n个元素的数组,这n个元素已按升序排序;第2个参数给出当前数组中的元素个数;第3个参数是要插入的整数。

该函数的功能是将一个整数插入到数组中,然后进行排序。

另外还需要一个用于输出数组元素的函数Print,要求每一行输出5个元素。

(2)程序Ex_Student:

有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩、数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。

要求各个功能用函数来实现,例如(设计学生数据结构体类型名为STUDENT):

STUDENTInputData();//输入学生数据,返回此结构体类型数据

voidCalAverages(STUDENT*data,intnNum);//计算总平均分

voidPrintData(STUDENT*data,intnNum);//将学生数据输出

实验准备和说明

在学习完第1章内容之后进行本次实验。

编写本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.输入并运行程序Ex_Sort.cpp

3.输入并运行程序Ex_Student.cpp

4.退出VisualC++6.0

5.写出实验报告

思考与练习

在Ex_Student程序中,若学生的人数不定,则程序应如何修改?

在Ex_Student程序中,若一个函数SortPrintData用于对学生数据按平均分的高低进行排序并输出,则该函数应如何实现?

实验5类和对象,继承和派生

实验内容

程序EX_Class:

定义一个人员类CPerson,包括数据成员:

姓名,编号,性别和用于输入,输出的成员函数。

在此基础上派生出学生类CStudent(增加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入,输出。

编写一个完整的测实程序,并将Ex_Class所有的类定义保存爱Ex_Class.h,将类的成员函数实现代码保存在Ex_Class.cpp中。

实验准备和说明

(1)在学习完第二章的“继承和派生类”内容之后进行本次实验。

(2)编写本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.输入程序Ex_Class.h

思考与练习

(1)主函数main中的第一条语句是:

CStudentstu(“liming”,“21010211”);分析它的构造过程。

(2)下面两条语句都是调用基类的getName函数,它们的结果相同吗?

为什么?

cout<

cout<

(3)CStudent和CTeacher类有什么不同?

为什么要把CStudent中的数据成员student定义为public,若改为private会有什么不同?

(4)若将基类CPerson中的私有数据成员pName和pID变成:

char*pName;

char*pID;

则这个程序应如何修改?

实验6多态和须函数、运算符重载

实验内容

(1)程序EX_shape:

定义一个抽象类CShape,包含纯虚函数Area(用于计算面积)和SetData(用于重设形状大小),然后派生出三角形CTriangle类、矩形CRect类、圆CCircle类,分别求其面积。

最后定义一个CArea类,计算这几个形状的面积之和,各形状的数据通过CArea类构造函数或成员函数来设置,编写一个完整的程序。

(2)程序Ex_Complex:

定义一个复数类CComplex,通过重载运算符“*”和“/”,直接实现两个复数之间的乘除运算。

运算符“*”用成员函数实现重载,而运算符“/”用友元函数实现重载。

编写一个完整的程序(包括测实运算符的程序部分)。

提示:

两复数相乘的计算公式:

(a+bi)*(c+di)=(ac_bd)+(ad+bc)i,而两复数相除的计算公式为:

(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc_ad)/(c*c+d*d)i。

实验准备和说明

在学习完第2章的“运算符重载”内容之后进行本次实验。

编写本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.输入并运行程序Ex_Shape.cpp

3.输入并运行程序Ex_Complex.cpp

4.退出VisualC++6.0

5.写出实验报告

思考与练习

(1)在程序Ex_Shape中,若基类CShape中没有纯虚函数SetData(),则编译肯定会有错误,这是为什么?

(2)用友元函数和成员函数运行运算符重载的区别是什么?

实验7输入/输出流库

实验内容

程序EX_fILE:

用文件来实现一个学生纪律的添加,查找等操作.

提示:

学生纪律用类CStudentRec表示,它的数据成员有;姓名,学号,3门课的成绩以及平均分,成员函数记录显示Print,记录键盘输入Input和数据校验Validate以及"<<"">>"运算符重载等。

文件操作用CStuFile类定义,成员函数有数据的添加Add,查找SEEK,显示List等。

实验准备和说明

(1)在学习完第2章内容之后进行本次实验.

(2)编写本次上机所需要的程序.

实验步骤

1.创建工作文件夹

2.创建控制台应用程序项目Ex_File

3.添加Ex_File.h文件

4.添加Ex_File.cpp文件,测实CStudentRec类

5.添加CStuFile类代码

6.添加CStuFile类的测实代码

7.退出VisualC++6.0

8.写出实验报告

思考与练习

若CStuFile类还能实现记录的修改,删除,排序功能(按平均分高低),则应该如何编程?

(提示:

对于删除来说,由于文件中的记录删除需要移动大量数据,因此为避免这种情况发生,删除时只需将文件中要删除的记录的标志成员chFlag变成'N'即可.)

实验8MFC基本应用程序的建立

实验内容

在一个默认的的单文档应用程序Ex_SDJ中通过映射计时器消息实现这样的功能:

无论在Ex_SDJ应用程序窗口的客户区中单击鼠标左键或右键,都会弹出“消息”对话框,显示鼠标左键或右键的单击次数。

使用调实器对上述程序的流程和鼠标单击次数进行调实。

实验准备和说明

在学习完第三章内容之后进行本次实验。

构思本次上机所需要的程序。

调实为本书新增的内容,要学会掌握其调实过程。

实验步骤

1.创建工作文件夹

2.创建单文档应用程序Ex_SDJ

3.添加数据成员

4.添加消息映射

5.设置断点

6.控制程序运行

7.查看和修改变量的值

8.退出VisualC++6.0

9.写出实验报告

思考与练习

若向一个类添加成员函数,则应如何进行?

在Ex_SDJ中,若再在CMainFrame类添加WM—LBUTTOMDOWN消息映射,并在映射函数添加弹出“消息”对话框的代码。

这样,就在CMainFrame类和CE_SDIView中都有该消息的映射函数,测实一下,看看在CMainFrame类的这个消息映射函数会不会执行?

为什么?

用调实器调实其结果。

实验9对话框和按钮控件

实验内容

设计一个对话框,用于问卷调查,针对上网话题提出一个问题:

“你每天上网的平均时间”,该问题的备选答案是“<1小时”、“<2小时”、“<3小时”和“>3小时”。

当回答问题后,单击“确定”按钮,弹出“上网问卷调查”对话框,显示用户选择的内容。

实验准备和说明

在学习完第四章“静态控件和按钮”内容之后进行本次实验。

复习“对话框的使用”和“控件的创建和使用方法”。

实验步骤

1.创建工作文件夹

2.创建单文档应用程序Ex_Research

3.设计“上网问卷调查”对话框

4.修改代码

5.编译运行并测试

6.写出实验报告

思考与练习

(1)在本实验中,当单击消息对话框的“确定”按钮后,对话框全部消失。

若要使“上网问卷调查”对话框一直显示,直到单击“”按钮,则应该如何设计和编程?

(提示:

可在对话框中另添加一个按钮控件,当单击该按钮后,弹出一个消息对话框,显示用户选择的内容)

(2)若向一个类添加成员函数,则应如何进行?

实验10编辑框、列表框和组合框

实验内容

设计一个学生成绩管理对话框应用程序Ex_Input,其运行结果如图T10.1所示,单击“添加”按钮后,学生成绩记录添加到列表框中,在列表框中单击写生成绩记录,则记录内容显示在左边的相关控件中,单击“删除”按钮,则删除该记录。

许说明的是,当列表框没有记录活没有选定的记录项,则“删除”按钮是灰显的。

实验准备和说明

在教程第四章讲授“组合框”后进行本次实验。

构思本次上机所需的程序。

实验步骤

1.创建工作文件夹

2.设计“学生成绩”对话框

3.添加CStudentRec类代码

4.添加控件变量及初始代码

5.完善代码

6.写出实验报告

思考与练习

若在Ex_Input中还需要对添加的学生成绩记录进行修改,即在列表框中选中某记录项时,单击“修改”按钮,修改当前记录。

则这样的功能应如何实现?

提示:

可先将原来的记录项删除,然后再添加。

如在Ex_Input中还需对添加的学生记录进行重复判断,即判断添加的记录的学生姓名是否与已添加的记录重名,若是,则不添加,并弹出相应的消息对话框。

则上述的代码应如何修改?

实验11进展条,滚动条和滑动条

实验内容

设计一个对话框应用程序Ex_Color,其运行结果如图T11.1所示。

操作滚动条,滑动条和进展条控件可以调整RGB颜色的三个颜色分量,R(红色分量),G(绿色分量)和B(蓝色分量),并根据用户指定的颜色填充控件。

实验准备和说明

在学习完第4章内容之后进行本次实验。

构思本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.设计对话框

3.添加成员函数Draw

4.添加初始化代码

5.完善代码

6.写出实验报告

思考与练习

在Ex_Color的基础上,若添加设置对话框的背景色的功能,则应如何添加代码?

实述当单击旋转按钮控件的向上箭头时,程序流程是怎样的?

实验12菜单、工具栏和状态栏

实验内容

创建一个单文档应用程序EX_SDI,开始运行时主框架窗口的大小为屏幕的1/4大小,并移动到屏幕的右上角。

当单击工具栏上的圆圈按钮,该按钮呈按下状态,此时在窗口的客户区的光标为一个圆圈,双击鼠标,状态栏上的显示“你在(X,Y)处双击鼠标”(X,Y为鼠标在客户区的位置)。

若再单击工具栏上的圆圈按钮,该按钮呈正常状态,光标变成原来的箭形,双击鼠标,状态栏上不再显示任何文本。

如图T12.1所示是单击圆圈按钮时的程序界面。

实验准备说和说明

(1)再教程第5章全部讲授后进行本次实验。

(2)构思本次上机所需要的程序。

实验步骤

1创建工作文件夹

2改变运行时窗口的大小和位置

3添加并设计一个工具按钮

4添加并设计一个光标

5工具按钮的更新

6更改应用程序光标

7添加状态栏窗格

8映射鼠标双击消息

9完善代码

10写出实验报告

思考与练习

(1)在上述程序基础上,添加一个菜单项,使其和工具栏按钮ID_TEST联动,运行后,按下工具按钮ID_TEST,看看菜单项有什么变化?

(2)添加并设计一个图标,然后更改Ex_SDI应用程序的图标。

实验13框架窗口、文档和实图

实验内容

创建一个基于CListView实图的单文档应用程序Ex_Student,通过对话框来输入一个学生纪录,记录包括学生的姓名、学号和3门成绩。

然后将记录内容保存到一个对象数组集合类对象中,最后通过对文档序列化将记录保存到一个文件中。

当添加记录或打开一个记录文件时,还会将数据显示在文档窗口(即视图)中。

如图T13.1所示为Ex_Student运行结果。

实验准备和说明

在教程第6章全部讲授后进行本实验。

参照教程内容,构思本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.添加用于学生记录输入的对话框

3.添加一个CStudent类并使该类可序列化

4.添加并处理菜单项

5.完善代码

6.最后修改代码

7.写出实验报告

思考与练习

(1)经过上述实验后,说说对类的序列化和文档序列化的理解。

(2)当选择“学生纪录”→“添加”菜单,添加一个学生纪录后,说说程序运行过程。

(3)若在Ex_Student中还需要对添加的学生成绩记录进行重复性判断,即判断添加的纪录的学生姓名是否与已添加的纪录重名,若是,则不添加,并弹出相应的消息对话框。

则上述的代码应如何修改?

(4)在“学生纪录”顶层菜单中添加一个“修改(&E)”子菜单,开始时,该子菜单时禁用的,若当在列表控件中选中某纪录项时,“修改(&E)”子菜单变成可用,选择该菜单命令,弹出对话框,显示当前纪录内容,修改后,单击对话框的“确定”按钮,修改当前纪录项,则这样的功能应如何实现?

实验14图形、问题和位图

实验内容

上机练习教程第七章的【例Ex_Draw】、【例Ex_Icon】和例【Ex_Cursr】。

实验准备和说明

在教程第七章全部讲授后进行本次实验。

参照教程内容,构思上机所需要的程序。

实验步骤

1创建工作文件夹

打开机算机,“D:

\VisualC++程序\Liming”文件夹中创建一个新文件夹“实验14”。

2上机练习【例Ex_Draw】

上机练习【例Ex_Draw】的具体步骤如下:

启动VisualC++6.0.

用MFCAppWizard创建一个默认的单文档应用程序Ex_Draw.在“新建”对话框中将项目文件夹定为到“D:

\VisualC++程序\LiMing\实验14”。

余下步骤按教材【例Ex_Draw】进行。

3上机练习【例Ex_Icon】

按教材【例Ex_Icon】步骤进行。

4上机练习【例Ex_Cursor】

按教材【例Ex_Crursor】步骤进行。

5写出实验报告

分析上述进行结果以及思考与练习,写出实验报告。

思考与练习

若将【例Ex_Draw】中的数据用图T14.1表示,则应如何编程?

实验15ODBC数据库编程

实验内容

对于大量数据处理,采用数据库更为安全、便捷。

例如,对于学生管理系统,常常需要处理学生的基本信息、课程成绩以及学生相关院系、专业情况等,这些信息用数据库表的形式来描述更为清晰。

本次实验按教程来练习MFCODBC数据库编程过程。

实验准备和说明

在教案第八章“MFCODBC应用编程”讲授后进行本次实验。

复习教程相关内容。

实验步骤

1.创建工作文件夹

2.创建数据库和数据表

3.创建ODBC数据源

4.在MFCAppWizard中选择数据源

5.设计浏览记录界面

6.查询记录

7.编辑记录

8.写出实验报告

思考与练习

若在表单中添加一个列表控制件用于显示score记录,则应该如何添加?

代码应如何修改?

实验16ADO数据库编程

实验内容

创建一个基于CListView视图的单文档应用程序Ex_ADO,主要完成下列任务或实现下列功能。

用Access创建一个数据库student.mdb,添加数据表student,如表T16.1所示。

表中上部分是数据表的记录内容,下部分是数据表的结构内容。

在主菜单中添加“学生信息(&S)”顶层菜单,在该菜单添加“添加学生(&U)”子菜单。

当选择“添加学生(&U)”子菜单后,出现“学生信息”对话框,单击“添加”按钮后,记录添加到student表中,并自动更新列表视图的列表项。

在列表视图的列表项中,单击鼠标右键,弹出“学生信息”对话框,如图T16.1所示。

单击“修改”按钮,student表中相关记录被修改,同时更新列表视图的列表项。

若当单击列表视图的列表头(标题头)时,使得列表视图按该列的内容对列表项进行从小到大的排序。

实验准备和说明

在教程第8章全部讲授后进行本次实验。

用ADO实现数据库表的添加和修改功能,构思本次上机所需要的程序。

实验步骤

1.创建工作文件夹

2.创建数据库和数据表

3.添加用于学生信息添加和修改的对话框

4.添加对ADO的支持及其他代码

5.学生信息记录的添加和修改

6.列表信息的排序

7.写出实验报告

思考与练习

若在Ex_ADO中还需要对学生信息记录进行删除和查询,则这样的功能应如何实现?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1