VC++实验指导书Word格式文档下载.docx
- 文档编号:19591849
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:14
- 大小:27.53KB
VC++实验指导书Word格式文档下载.docx
《VC++实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VC++实验指导书Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
6。
认识工具栏
7。
工具栏的显示和隐藏
8.工具栏的浮动与停泊
9。
项目工作区窗口
10。
修改代码,编译运行
11。
输入一个新的C++程序
12。
修正语法错误
13.退出VisualC++6。
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.创建工作文件夹
创建应用程序项目Ex_Simple
修改并添加类型转换的测实代码
修改并添加复杂表达式的测实代码
5.输入并运行程序Ex_Prime。
cpp
输入并运行程序Ex_CircleAndBall。
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的为数不确定,可以是任意位数的整数.
在学习完第一章的“函数和预处理”内容之后进行本次实验。
编写本次上机所需要的程序。
2.输入并运行程序EX_AreaFunc。
3.输入并运行程序EX_AreaMacro。
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章内容之后进行本次实验。
2.输入并运行程序Ex_Sort。
3.输入并运行程序Ex_Student.cpp
4.退出VisualC++6。
5.写出实验报告
在Ex_Student程序中,若学生的人数不定,则程序应如何修改?
在Ex_Student程序中,若一个函数SortPrintData用于对学生数据按平均分的高低进行排序并输出,则该函数应如何实现?
实验5类和对象,继承和派生
程序EX_Class:
定义一个人员类CPerson,包括数据成员:
姓名,编号,性别和用于输入,输出的成员函数.在此基础上派生出学生类CStudent(增加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入,输出。
编写一个完整的测实程序,并将Ex_Class所有的类定义保存爱Ex_Class。
h,将类的成员函数实现代码保存在Ex_Class。
cpp中。
(1)在学习完第二章的“继承和派生类"
内容之后进行本次实验.
(2)编写本次上机所需要的程序。
输入程序Ex_Class.h
(1)主函数main中的第一条语句是:
CStudentstu(“liming”,“21010211"
);
分析它的构造过程。
(2)下面两条语句都是调用基类的getName函数,它们的结果相同吗?
为什么?
cout〈<
stu.getName()〈<
endl;
cout〈〈stu.stuent.getName()〈<
endl;
(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章的“运算符重载”内容之后进行本次实验.
2.输入并运行程序Ex_Shape。
3.输入并运行程序Ex_Complex.cpp
4.退出VisualC++6.0
(1)在程序Ex_Shape中,若基类CShape中没有纯虚函数SetData(),则编译肯定会有错误,这是为什么?
(2)用友元函数和成员函数运行运算符重载的区别是什么?
实验7输入/输出流库
程序EX_fILE:
用文件来实现一个学生纪律的添加,查找等操作.
学生纪律用类CStudentRec表示,它的数据成员有;
姓名,学号,3门课的成绩以及平均分,成员函数记录显示Print,记录键盘输入Input和数据校验Validate以及”〈<
”"
〉>
”运算符重载等。
文件操作用CStuFile类定义,成员函数有数据的添加Add,查找SEEK,显示List等.
(1)在学习完第2章内容之后进行本次实验。
2.创建控制台应用程序项目Ex_File
添加Ex_File.h文件
4.添加Ex_File。
cpp文件,测实CStudentRec类
5.添加CStuFile类代码
添加CStuFile类的测实代码
退出VisualC++6.0
8.写出实验报告
若CStuFile类还能实现记录的修改,删除,排序功能(按平均分高低),则应该如何编程?
(提示:
对于删除来说,由于文件中的记录删除需要移动大量数据,因此为避免这种情况发生,删除时只需将文件中要删除的记录的标志成员chFlag变成’N'
即可。
)
实验8MFC基本应用程序的建立
在一个默认的的单文档应用程序Ex_SDJ中通过映射计时器消息实现这样的功能:
无论在Ex_SDJ应用程序窗口的客户区中单击鼠标左键或右键,都会弹出“消息"
对话框,显示鼠标左键或右键的单击次数。
使用调实器对上述程序的流程和鼠标单击次数进行调实.
在学习完第三章内容之后进行本次实验。
构思本次上机所需要的程序。
调实为本书新增的内容,要学会掌握其调实过程。
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小时”.当回答问题后,单击“确定”按钮,弹出“上网问卷调查”对话框,显示用户选择的内容。
在学习完第四章“静态控件和按钮”内容之后进行本次实验。
复习“对话框的使用"
和“控件的创建和使用方法"
。
2.创建单文档应用程序Ex_Research
3.设计“上网问卷调查”对话框
4.修改代码
5.编译运行并测试
(1)在本实验中,当单击消息对话框的“确定”按钮后,对话框全部消失.若要使“上网问卷调查”对话框一直显示,直到单击“"
按钮,则应该如何设计和编程?
(提示:
可在对话框中另添加一个按钮控件,当单击该按钮后,弹出一个消息对话框,显示用户选择的内容)
(2)若向一个类添加成员函数,则应如何进行?
实验10编辑框、列表框和组合框
设计一个学生成绩管理对话框应用程序Ex_Input,其运行结果如图T10.1所示,单击“添加"
按钮后,学生成绩记录添加到列表框中,在列表框中单击写生成绩记录,则记录内容显示在左边的相关控件中,单击“删除”按钮,则删除该记录。
许说明的是,当列表框没有记录活没有选定的记录项,则“删除”按钮是灰显的。
在教程第四章讲授“组合框”后进行本次实验。
构思本次上机所需的程序。
2.设计“学生成绩”对话框
3.添加CStudentRec类代码
4.添加控件变量及初始代码
5.完善代码
若在Ex_Input中还需要对添加的学生成绩记录进行修改,即在列表框中选中某记录项时,单击“修改”按钮,修改当前记录。
则这样的功能应如何实现?
提示:
可先将原来的记录项删除,然后再添加。
如在Ex_Input中还需对添加的学生记录进行重复判断,即判断添加的记录的学生姓名是否与已添加的记录重名,若是,则不添加,并弹出相应的消息对话框。
则上述的代码应如何修改?
实验11进展条,滚动条和滑动条
设计一个对话框应用程序Ex_Color,其运行结果如图T11。
1所示。
操作滚动条,滑动条和进展条控件可以调整RGB颜色的三个颜色分量,R(红色分量),G(绿色分量)和B(蓝色分量),并根据用户指定的颜色填充控件。
在学习完第4章内容之后进行本次实验。
1.创建工作文件夹
设计对话框
添加成员函数Draw
添加初始化代码
完善代码
写出实验报告
在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章全部讲授后进行本实验。
参照教程内容,构思本次上机所需要的程序。
2.添加用于学生记录输入的对话框
3.添加一个CStudent类并使该类可序列化
4.添加并处理菜单项
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应用编程”讲授后进行本次实验。
复习教程相关内容。
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实现数据库表的添加和修改功能,构思本次上机所需要的程序。
3.添加用于学生信息添加和修改的对话框
4.添加对ADO的支持及其他代码
5.学生信息记录的添加和修改
6.列表信息的排序
若在Ex_ADO中还需要对学生信息记录进行删除和查询,则这样的功能应如何实现?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)