C++实验.docx
- 文档编号:5970601
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:25
- 大小:138.87KB
C++实验.docx
《C++实验.docx》由会员分享,可在线阅读,更多相关《C++实验.docx(25页珍藏版)》请在冰豆网上搜索。
C++实验
实验一C++的初步知识
(一)
一、实验目的
1.了解和使用VC集成开发环境;
2.熟悉VC环境的基本命令和功能键;
3.熟悉常用的功能菜单命令;
4.学习使用VC++环境的帮助;
5.学习完整的C++程序开发过程;
6.理解简单的C++程序结构;
7.掌握函数重载
二、实验要求
1.掌握VisualC++6.0的开发环境的使用方法;
2.独立完成程序的编辑、编译、调试及运行;
3.对于程序编译及运行中出现的错误,能够进行改正;
4.完成实验报告。
三、实验内容
1.分析下面程序运行的结果。
请先阅读程序写出程序运行时应输出的结果,然后上机运行程序,验证自己分析的结果是否正确。
#include
usingnamespacestd;
intmain()
{
inta,b,c;
intf(intx,inty,intz);
cin>>a>>b>>c;
c=f(a,b,c);
cout< return0; } intf(intx,inty,intz) { intm; if(x elsem=y; if(z return(m); } 2.在你所用的C++系统上,输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。 intmain(); { inta,b; c=a+b; cout>>″a+b=″>>a+b; } 3.编写一个程序,求2个数或3个正整数中的最大数。 1)用不带默认参数的函数实现 2)用带有默认参数的函数实现 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0 五、实验步骤和方法 1.VisualC++6.0启动后的用户界面 选择菜单“开始/程序/MicrosoftVisualStudio6.0/MicrosoftVisualC++6.0”,得到VisualC++6.0启动后的用户界面,如图1-1所示。 图1-1VisualC++6.0用户界面 2.创建新工程 (1)单击菜单“文件/新建”,显示“新建: 对话框,如图1-2所示。 (2)在此对话框的列表栏中,选择“Win32ConsoleApplication”(Win32控制台应用程序”)。 在“工程”栏中输入一个工程名,如实验一。 在位置文本框中选择工程所在的路径,如图中所示H: \C++实验\实验一。 单击“确定”按钮。 图1-2“新建”对话框 (3)在强击的“Win32ConsolApplication-Step1of1”对话框中选择Anemptyproject单选项。 然后单击“Finish”按钮,如图1-3所示。 图1-3“Win32ConsolApplication-Step1of1”对话框 (4)在“新建工程信息”对话框中单击“确认”按钮,完成工程创建过程。 3.创建C++源程序文件 (1)编辑C++源程序编辑C++源程序时,选择“文件”菜单项,出现一个下拉式菜单,如图1-4所示,再选择该菜单中的“新建”选项(热键为Ctrl+N)。 打开“新建”窗口,在“新建”窗口。 图1-4“新建”窗口 (2)选择“文件”,在它的下拉列表框中选择“C++SourceFile”,如图1-4所示,再按击“确定”,出现编辑屏幕,如图1-5所示。 图1-5“C++”源程序编辑 (3)在“C++源程序编辑”窗口下编辑C++源程序。 在编辑窗口键入C++源程序。 如图1-6所示,键入如下源程序: 图1-6编辑C++源程序 4.编译连接和运行源程序 (1)选择菜单项“编译”,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译eg1-1.cpp”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕下方的“编译”窗口中。 所显示的错误信息中指出该错误所在行号和该错误的性质。 用户可根据这些错误信息进行修改。 上述程序的“编译”窗口,如图1-7所示。 图1-7“编辑”窗口 (2)编译无错误后,可进行连接生成可执行文件(.exe),这时选择“编译”下拉菜单中的“构件eg1-1.exe”选项。 “编译”窗口出现如图1-8所示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件(eg1-1.exe)。 图1-8编译连接信息 (3)执行可执行文件的方法是选择“编译”菜单项中“执行eg1-1.exe”选项。 这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图1-9所示。 图1-9运行C++程序结果 5.关闭打开工作区、打开工作区 单击菜单“文件→关闭工作区”,关闭工作区。 单击菜单“文件→打开工作区”,在弹出的对话框中选定“H: \C++实验\实验一\实验一.dsw”,单击“打开”按钮,则可打开工作区,对已建立的工程文件进行修改。 6.根据实验步骤1-5,建立、编译并运行实验程序2。 六、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 七、实验报告要求 1. 算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。 若最终未完成调试,要认真找出错误并分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验二C++的初步知识 (二) 一、实验目的 1.掌握变量的引用 2.掌握C++对字符串的操作 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直 到没有错误,然后进行连接和运行,分析运行结果。 #include usingnamespacestd; intmain() { inta,b; c=add(a,b) cout<<″a+b=″< return0; } intadd(intx,inty); { z=x+y; retrun(z); } 2.对3个变量按由小到大顺序排序,要求使用变量的引用。 3.输入一个字符串,把其中的字符按逆序输出。 如输入LIGHT,输出THGIL。 要求用string 方法。 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 六、实验报告要求 1.算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。 若最终未完成调试,要认真找出错误并分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验三类和对象 (一) 一、实验目的 1.掌握类的对象的声明方法; 2.理解类的成员的访问控制的含义,公有、私有和保护成员的区别; 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.按下列要求编程: (1)定义一个描述矩形的类Rectangle,包括的数据成员有宽(width)和长(length); (2)计算矩形周长; (3)计算矩形面积; (4)改变矩形大小。 通过实例验证其正确性。 2.有以下程序 #include usingnamespacestd; classTime {public: inthour; intminute; intsec; }; intmain() { Timet; cin>>t.hour; cin>>t.minute; cin>>t.sec; cout< ″< ″< return0; } 要求: (1)将数据成员改为私有的; (2)将输入和输出的功能改为由成员函数实现; (3)在类体内定义成员函数。 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 六、实验报告要求 1. 算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。 若最终未完成调试,要认真找出错误并分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验四类和对象 (二) 一、实验目的 1.掌握对象成员的引用; 2.掌握类声明和成员函数定义的分离。 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.创建一个employee类,该类中有姓名、城市、邮政编码等数据成员。 成员函数setValue设定对象数据,display函数输出对象数据。 具体要求如下: (1)数据成员设定成private (2)成员函数设定成public (3)建立指针对象,利用指针对象对成员进行引用 (4)将类声明和成员函数的定义分开,放到.h和.cpp中 2.创建student类,在main函数中输入3个学生数据,包括学号,姓名和成绩,要求只输出成绩在80~90分数段的学生数据。 具体要求如下: (1)数据成员设定成private (2)成员函数设定成public (3)将类声明和成员函数的定义分开,放到.h和.cpp中 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 六、实验报告要求 1. 算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。 若最终未完成调试,要认真找出错误并分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验五类和对象进一步讨论 (一) 一、实验目的 1.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。 能够根据给定的要求定义类并实现类的成员函数; 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.阅读下面程序,分析其执行过程,写出输出结果。 #include usingnamespacestd; classDate {public: Date(int,int,int); Date(int,int); Date(int); Date(); voiddisplay(); private: intmonth; intday; intyear; }; Date∷Date(intm,intd,inty): month(m),day(d),year(y) {} Date∷Date(intm,intd): month(m),day(d) {year=2005;} Date∷Date(intm): month(m) {day=1; year=2005; } Date∷Date() {month=1; day=1; year=2005; } voidDate∷display() {cout< intmain() { Dated1(10,13,2005); Dated2(12,30); Dated3(10); Dated4; d1.display(); d2.display(); d3.display(); d4.display(); return0; } 2.创建一个学生类,该类有姓名、学号、语文成绩数据成员。 构造函数初始化每一个数据成员,成员函数changeValue是改变该学生的语文成绩,然后利用display将数据输出出来。 程序要求: (1)对构造函数进行重载 (2)建立作用域不同的类对象,查看其析构函数的析构顺序。 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 六、实验报告要求 1. 算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验六类和对象进一步讨论 (二) 一、实验目的 1.掌握对象数组和对象指针的使用方法 2.掌握共用数据的保护 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。 2.建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 六、实验报告要求 1. 算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验七类和对象进一步讨论(三) 一、实验目的 1.掌握对象的动态建立和释放 2.掌握类的静态成员和类的友元 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.商店销售某一商品,商店每天公布统一的折扣(discount)。 同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。 现已知当天3名销货员的销售情况为: 销货员号(num)销货件数(quantity)销货单价(price) 101523.5 1021224.56 10310021.5 请编程序,计算出当日此商品的总销售款sum,以及每件商品的平均售价。 要求用静态数据成员和静态成员函数。 (提示: 将折扣discount、总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)。 2.类student,包含三个数据成员english,math,chinese,其中chinese是静态成员。 以及一个show函数,显示其数据成员的值 (1)建立student构造函数,对数据成员进行赋值 (2)动态创建对象,并利用delete释放 (3)建立友元函数disPrivate,用于在类外输出student类的数据成员 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 六、实验报告要求 1. 算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验八运算符重载 (一) 一、实验目的 1.进一步了解运算符重载的概念和使用方法 2.掌握不同形式的运算符重载 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。 参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。 例如: c1+c2,i+c1,c1+i均合法(设i为整数,c1,c2为复数)。 编程序,分别求两个复数之和、整数和复数之和。 2.有两个矩阵a和b,均为2行3列。 求两个矩阵之和。 重载运算符“+”,使之能用于矩阵相加。 如: c=a+b。 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)为止。 分析可能遇到的问题及解决的对策。 准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 六、实验报告要求 1. 算法说明。 要求用文字或流程图说明。 2.运行结果。 给出原始数据、相应的运行结果和必要的说明。 3.分析与思考。 调试过程及调试中遇到的问题及解决办法;写出心得与体会;找出错误分析原因等。 4.程序清单。 长春大学计算机科学技术学院实验报告 日期_______________地点______________指导教师_____________成绩 实验九运算符重载 (二) 一、实验目的 1.掌握转换构造函数的使用方法 2.了解在VisualC++6.0环境下进行运算符重载要注意的问题 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 3.完成实验报告。 三、实验内容 1.请编写程序,处理一个复数与一个double数相加的运算,结果存放在一个double型的变量d1中,输出d1的值,再以复数形式输出此值。 定义Complex(复数)类,在成员函数中包含重载类型转换运算符: operatordouble(){returnreal;} 2.定义一个Teacher(教师)类和一个Student(学生)类,二者有一部分数据成员是相同的,例如num(号码),name(姓名),sex(性别)。 编写程序,将一个Student对象(学生)转换为Teacher(教师)类,只将以上3个相同的数据成员移植过去。 可以设想为: 一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为其教师的数据的一部分。 四、实验环境 系统环境: Windows95/98/ME/NT4.0/2000/XP 开发环境: VisualC++6.0/CodeBlocks8.02 五、实验预习要求 根据问题,进行分析,选择适当算法并编写程序。 上机前一定要仔细检查程序(称为静态检查)直到找
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实验