VC++实验指导书_第1页
VC++实验指导书_第2页
VC++实验指导书_第3页
VC++实验指导书_第4页
VC++实验指导书_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual C+程序设计实验指导书实验1 认识Visual C+6.05中文版开发环境实验内容(1)熟悉VisualC+6.05的开发环境。(2)操作工具栏和项目工作区窗口。(3)用应用程序向导创建一个控制台应用项目Ex_Hello。(4)输入并执行一个新的C程序Ex_Simple。实验准备和说明(1)建议在本教材第一次上课时进行本次实验。(2)熟悉Windows 2000或XP操作系统的环境和基本操作。(3)熟悉实验报告的书写格式,这里给出一下建议:实验报告采用A4纸,封面一般包括实验目次.实验题目,班级,姓名,日前和机构名称。报告内容一般包括实验目的和要求。实验步骤,实验思考和总结。需要

2、指出的是,实验步骤不是书本内容的重复,而是自己结合实验内容进行探索的过程,教师也可根据具体情况提出新的实验报告格式和新的要求。(4)阅读以下关于VisualC+的说明:Visual C+是Microsoft公司推出的目前使用极为广泛的基于WINDOUWS平台的可视化编程环境。是在以往的版本不断更新的基础上形成的,其功能强大,灵活性好,完全可以扩展以及具有强有力的Internet支持,在各种c语言开发工具中脱颖而出,成为目前最为流行的C+语言集成开发环境。Visual C+6.0分为标准版,企业版和专业版3种,但其基本功能是相同。Visual C+6.5中文版是在Visual C+6.0基础上进

3、行汉化的以一个版本,本书以此版本作为编程环境。为统一起见,我们仍称之为Visual C+6.0。实验步骤1.打开计算机,启动windouws2000操作系统2.建工作文件夹3.启动Visual C+6.04.创建一个控制台应用项目5.认识开发环境界面6.认识工具栏7.工具栏的显示和隐藏8.工具栏的浮动与停泊9.项目工作区窗口10.修改代码,编译运行11.输入一个新的C+程序12.修正语法错误13.退出Visual C+6.014.写出实验报告思考与练习(1)除工具栏可以浮动和停泊外,看看还有那些窗口可以这样操作?(2)经过创建项目文件的实验,试总结创建一个控制台应用项目的一般方法。实验2 基本

4、数据类型、表达式和基本语句实验内容(1)测试基本数据类型char,int,和short之间的相互转换。(2)测试有自增自减运算符的表达式的结果和运行次序。(3)程序Ex_Prime:输出1100的素数(用for语句编写)。(4)程序Ex_CircleAndBall:设园半径r=2.5,圆柱h=4,求园周长,圆面积,圆球体积,圆柱体积。用cin输出要计算的项目,然后输出计算结果,输出,输入,输出时要有文字提示。实验准备和说明(1)在学习完第一章的“基础语句”内容之后进行本次实验。(2)编写本次上机所需要的程序。实验步骤1.创建工作文件夹2.创建应用程序项目Ex_Simple3.修改并添加类型转换

5、的测实代码4.修改并添加复杂表达式的测实代码5.输入并运行程序Ex_Prime.cpp6.输入并运行程序Ex_CircleAndBall.cpp7.退出Visual C+6.08.写出实验报告思考与练习(1)前缀或后缀的自增和自减运算符有什么不同?在Visual C+中,多个自增和自减运算符与算术运算符混合运算时有什么规律?(2)将 Ex_Prime.cpp程序改用while和dowhile循环语句重新编写。(3)用sizeof运算符编写一个测实程序,用于测实本机中数据类型或字符串所占的字节数,并将其填写在下表中,然后分析结果。基本数据类型所占字节数基本数据类型/字符串所占字节数charflo

6、atshortdoubleintlong double long“nChtv0ina”实验3 函数和预处理实验内容(1)程序EX_AreaFunc:已知三角形的三边a、b、c,则三角形的面积为:其中s=(a+b+c)/2。需要说明的是,三角形的三边的边长由cin输入,需要判断这三边是否构成一个三角形,若是,则计算其面积并输出,否则输出“错误:不能构成三角形!”。编写一个完整的程序,其中需要两个函数,一个函数用于判断,令一个函数用于计算三角形的面积。(2)在上述内容的基础上,改用带参数的宏编写程序EX_AreaMacro来求三角形的面积。(3)程序EX_NumToStr:用递归发奖一个正数n转换

7、成字符串,例如输入1234,应输入字符串“1234”.n的为数不确定,可以是任意位数的整数。实验准备和说明在学习完第一章的“函数和预处理”内容之后进行本次实验。编写本次上机所需要的程序。实验步骤1. 创建工作文件夹2. 输入并运行程序EX_AreaFunc.cpp3. 输入并运行程序EX_AreaMacro.cpp4. 输入并运行程序EX_NumToStr.cpp5. 退出VisualC+6.06. 写出实验报告思考与练习比较带参宏和一般函数的区别。又返回值和无返回值得递归函数的运行过程有没有区别?如果有,则有哪些区别?实验4 构造类型、指针和引用实验内容(1)程序Ex_Sort: 采用插入排

8、序的方法,输入10个整数按升序排序后输出。要求写一个通用的插入排序函数InsertSort,它有3个参数:第1个参数是含有n个元素的数组,这n个元素已按升序排序;第2个参数给出当前数组中的元素个数;第3个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数Print,要求每一行输出5个元素。(2)程序Ex_Student:有5个学生,每个学生的数据结构包括学号、姓名、年龄、C+成绩、数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数来实现,例如(设

9、计学生数据结构体类型名为STUDENT):STUDENT InputData( );/输入学生数据,返回此结构体类型数据void CalAverages(STUDENT *data,int nNum);/计算总平均分void PrintData(STUDENT *data,int nNum);/将学生数据输出 实验准备和说明在学习完第1章内容之后进行本次实验。编写本次上机所需要的程序。实验步骤1. 创建工作文件夹2. 输入并运行程序Ex_Sort.cpp3. 输入并运行程序Ex_Student.cpp4. 退出Visual C+6.05. 写出实验报告思考与练习在Ex_Student程序中,若

10、学生的人数不定,则程序应如何修改?在Ex_Student 程序中,若一个函数SortPrintData 用于对学生数据按平均分的高低进行排序并输出,则该函数应如何实现?实验5 类和对象,继承和派生实验内容程序EX_Class:定义一个人员类CPerson,包括数据成员:姓名,编号,性别和用于输入,输出的成员函数。在此基础上派生出学生类CStudent(增加成绩)和教师类CTeacher(增加教龄),并实现对学生和教师信息的输入,输出。编写一个完整的测实程序,并将Ex_Class所有的类定义保存爱Ex_Class.h,将类的成员函数实现代码保存在Ex_Class.cpp中。实验准备和说明(1)在

11、学习完第二章的“继承和派生类”内容之后进行本次实验。(2)编写本次上机所需要的程序。实验步骤1.创建工作文件夹2.输入程序Ex_Class.h思考与练习(1)主函数main中的第一条语句是: CStudent stu(“liming”,“21010211”);分析它的构造过程。(2)下面两条语句都是调用基类的getName函数,它们的结果相同吗?为什么? coutstu.getName()endl; coutstu.stuent.getName()endl;(3)CStudent和CTeacher类有什么不同?为什么要把CStudent中的数据成员student定义为public,若改为pri

12、vate会有什么不同?(4)若将基类CPerson中的私有数据成员pName和pID变成: char*pName; char*pID;则这个程序应如何修改?实验6 多态和须函数、运算符重载实验内容(1)程序EX_shape:定义一个抽象类CShape,包含纯虚函数Area(用于计算面积)和SetData(用于重设形状大小),然后派生出三角形CTriangle类、矩形CRect类、圆CCircle类,分别求其面积。最后定义一个CArea类,计算这几个形状的面积之和,各形状的数据通过CArea类构造函数或成员函数来设置,编写一个完整的程序。(2)程序Ex_Complex:定义一个复数类CCompl

13、ex,通过重载运算符“*”和“/”,直接实现两个复数之间的乘除运算。运算符“*”用成员函数实现重载,而运算符“/”用友元函数实现重载。编写一个完整的程序(包括测实运算符的程序部分)。提示:两复数相乘的计算公式:(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.cpp3. 输入并运行程序Ex_Compl

14、ex.cpp4. 退出VisualC+6.05. 写出实验报告思考与练习(1)在程序Ex_Shape中,若基类CShape中没有纯虚函数SetData(),则编译肯定会有错误,这是为什么?(2)用友元函数和成员函数运行运算符重载的区别是什么?实验7 输入/输出流库实验内容程序EX_fILE:用文件来实现一个学生纪律的添加,查找等操作.提示:学生纪律用类CStudentRec表示,它的数据成员有;姓名,学号,3门课的成绩以及平均分,成员函数记录显示 Print,记录键盘输入Input 和数据校验 Validate 以及运算符重载等。文件操作用 CStuFile 类定义,成员函数有数据的添加 Ad

15、d,查找SEEK,显示List 等。实验准备和说明(1)在学习完第2章内容之后进行本次实验.(2)编写本次上机所需要的程序.实验步骤1.创建工作文件夹2.创建控制台应用程序项目 Ex_File3.添加Ex_File.h文件4.添加Ex_File.cpp文件,测实CStudentRec类5.添加CStuFile类代码6.添加CStuFile类的测实代码7.退出 Visual C+ 6.0 8.写出实验报告 思考与练习若CStuFile 类还能实现记录的修改,删除,排序功能(按平均分高低),则应该如何编程?(提示:对于删除来说,由于文件中的记录删除需要移动大量数据,因此为避免这种情况发生,删除时只

16、需将文件中要删除的记录的标志成员 chFlag 变成N即可.)实验8 MFC基本应用程序的建立实验内容在一个默认的的单文档应用程序Ex_SDJ中通过映射计时器消息实现这样的功能:无论在Ex_SDJ应用程序窗口的客户区中单击鼠标左键或右键,都会弹出“消息”对话框,显示鼠标左键或右键的单击次数。使用调实器对上述程序的流程和鼠标单击次数进行调实。实验准备和说明在学习完第三章内容之后进行本次实验。构思本次上机所需要的程序。调实为本书新增的内容,要学会掌握其调实过程。实验步骤1. 创建工作文件夹2. 创建单文档应用程序Ex_SDJ3. 添加数据成员4. 添加消息映射5. 设置断点6. 控制程序运行7.

17、查看和修改变量的值8. 退出Visual C+6.09. 写出实验报告思考与练习若向一个类添加成员函数,则应如何进行?在Ex_SDJ中,若再在CMainFrame类添加WMLBUTTOMDOWN消息映射,并在映射函数添加弹出“消息”对话框的代码。这样,就在CMainFrame类和CE_SDIView中都有该消息的映射函数,测实一下,看看在CMainFrame类的这个消息映射函数会不会执行?为什么?用调实器调实其结果。实验9 对话框和按钮控件实验内容设计一个对话框,用于问卷调查,针对上网话题提出一个问题:“你每天上网的平均时间”,该问题的备选答案是“1小时”、“2小时”、“3小时”。当回答问题后

18、,单击“确定”按钮,弹出“上网问卷调查”对话框,显示用户选择的内容。实验准备和说明在学习完第四章“静态控件和按钮”内容之后进行本次实验。复习“对话框的使用”和“控件的创建和使用方法”。实验步骤1. 创建工作文件夹2. 创建单文档应用程序Ex_Research3. 设计“上网问卷调查”对话框4. 修改代码5. 编译运行并测试6. 写出实验报告思考与练习(1)在本实验中,当单击消息对话框的“确定”按钮后,对话框全部消失。若要使“上网问卷调查”对话框一直显示,直到单击“”按钮,则应该如何设计和编程?(提示:可在对话框中另添加一个按钮控件,当单击该按钮后,弹出一个消息对话框,显示用户选择的内容)(2)

19、若向一个类添加成员函数,则应如何进行?实验10 编辑框、列表框和组合框实验内容设计一个学生成绩管理对话框应用程序Ex_Input,其运行结果如图T10.1所示,单击“添加”按钮后,学生成绩记录添加到列表框中,在列表框中单击写生成绩记录,则记录内容显示在左边的相关控件中,单击“删除”按钮,则删除该记录。许说明的是,当列表框没有记录活没有选定的记录项,则“删除”按钮是灰显的。实验准备和说明在教程第四章讲授“组合框”后进行本次实验。构思本次上机所需的程序。实验步骤1. 创建工作文件夹2. 设计“学生成绩”对话框3. 添加CStudentRec类代码4. 添加控件变量及初始代码5. 完善代码6. 写出

20、实验报告思考与练习若在Ex_Input中还需要对添加的学生成绩记录进行修改,即在列表框中选中某记录项时,单击“修改”按钮,修改当前记录。则这样的功能应如何实现?提示:可先将原来的记录项删除,然后再添加。如在Ex_ Input中还需对添加的学生记录进行重复判断,即判断添加的记录的学生姓名是否与已添加的记录重名,若是,则不添加,并弹出相应的消息对话框。则上述的代码应如何修改?实验11 进展条,滚动条和滑动条实验内容设计一个对话框应用程序Ex_Color,其运行结果如图T11.1所示。操作滚动条,滑动条和进展条控件可以调整RGB颜色的三个颜色分量,R(红色分量),G(绿色分量)和B(蓝色分量),并根

21、据用户指定的颜色填充控件。实验准备和说明在学习完第4章内容之后进行本次实验。构思本次上机所需要的程序。实验步骤1. 创建工作文件夹2. 设计对话框3. 添加成员函数Draw4. 添加初始化代码5. 完善代码6. 写出实验报告思考与练习在Ex_Color的基础上,若添加设置对话框的背景色的功能,则应如何添加代码?实述当单击旋转按钮控件的向上箭头时,程序流程是怎样的?实验12 菜单、工具栏和状态栏实验内容创建一个单文档应用程序EX_SDI,开始运行时主框架窗口的大小为屏幕的1/4大小,并移动到屏幕的右上角。当单击工具栏上的圆圈按钮,该按钮呈按下状态,此时在窗口的客户区的光标为一个圆圈,双击鼠标,状

22、态栏上的显示“你在(X,Y)处双击鼠标”(X,Y 为鼠标在客户区的位置)。若再单击工具栏上的圆圈按钮,该按钮呈正常状态,光标变成原来的箭形,双击鼠标,状态栏上不再显示任何文本。如图T12.1所示是单击圆圈按钮时的程序界面。实验准备说和说明(1)再教程第5章全部讲授后进行本次实验。(2)构思本次上机所需要的程序。实验步骤1 创建工作文件夹2 改变运行时窗口的大小和位置3 添加并设计一个工具按钮4 添加并设计一个光标5 工具按钮的更新6 更改应用程序光标7 添加状态栏窗格8 映射鼠标双击消息9 完善代码10 写出实验报告思考与练习(1)在上述程序基础上,添加一个菜单项,使其和工具栏按钮ID_TES

23、T联动,运行后,按下工具按钮ID_TEST,看看菜单项有什么变化?(2)添加并设计一个图标,然后更改Ex_SDI应用程序的图标。实验13 框架窗口、文档和实图实验内容创建一个基于CListView实图的单文档应用程序Ex_Student,通过对话框来输入一个学生纪录,记录包括学生的姓名、学号和3门成绩。然后将记录内容保存到一个对象数组集合类对象中,最后通过对文档序列化将记录保存到一个文件中。当添加记录或打开一个记录文件时,还会将数据显示在文档窗口(即视图)中。如图T13.1所示为Ex_Student运行结果。实验准备和说明在教程第6章全部讲授后进行本实验。参照教程内容,构思本次上机所需要的程序

24、。实验步骤1. 创建工作文件夹2. 添加用于学生记录输入的对话框3. 添加一个CStudent类并使该类可序列化4. 添加并处理菜单项5. 完善代码6. 最后修改代码7. 写出实验报告思考与练习(1)经过上述实验后,说说对类的序列化和文档序列化的理解。(2)当选择“学生纪录”“添加”菜单,添加一个学生纪录后,说说程序运行过程。(3)若在Ex_Student中还需要对添加的学生成绩记录进行重复性判断,即判断添加的纪录的学生姓名是否与已添加的纪录重名,若是,则不添加,并弹出相应的消息对话框。则上述的代码应如何修改?(4)在“学生纪录”顶层菜单中添加一个“修改(&E)”子菜单,开始时,该子菜单时禁用

25、的,若当在列表控件中选中某纪录项时,“修改(&E)”子菜单变成可用,选择该菜单命令,弹出对话框,显示当前纪录内容,修改后,单击对话框的“确定”按钮,修改当前纪录项,则这样的功能应如何实现?实验14 图形、问题和位图实验内容上机练习教程第七章的【例Ex_Draw】、【例Ex_Icon】和例【Ex_Cursr】。实验准备和说明在教程第七章全部讲授后进行本次实验。参照教程内容,构思上机所需要的程序。实验步骤1创建工作文件夹打开机算机,“D:Visual C+程序Liming”文件夹中创建一个新文件夹“实验14”。2上机练习【例Ex_Draw】上机练习【例Ex_Draw】的具体步骤如下:启动Visual C+6.0.用MFC AppWizard 创建一个默认的单文档应用程序Ex_Draw.在“新建”对话框中将项目文件夹定为到“D:Visual C+程序LiMing实验14”。余下步骤按教材【例Ex_Draw】进行。3上机练习【例Ex_Icon】按教材【例Ex_Icon】步骤进行。4上机练习【例Ex_Cursor】按教材【例Ex_Crursor】步骤进行。5写出实验报告分析上述进行结果以及思考与练习,写出实验报告。思考与练习若将【例Ex_Draw】中的数据用图T14.1表示,则应如何编程?实验15 ODBC数据库编程实验内容对于大量数据处理,采用数据库更为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论