当前位置:首页 > 面向对象程序设计实验指导书讲解
面向对象程序设计实验指导书
实验一、C++开发环境应用入门(2学时)(选做)
1、实验目的
(1)了解C++开发工具的特点 (2)熟悉C++开发环境
(3)学习用C++编写标准的C++程序 2、实验任务
使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序: #include
cout<<”Hello!\\n”;
cout<<”Welcome to C++!\\n”; }
3、实验步骤
(1) 启动Visual C++或C++Builder开发环境 (2) 创建一个项目
A) 单击File菜单中的New选项,显示示新建对话框 B) 选择Console Wizard(C++Builder) 或Win32 Console Application(VC++)。 C) 选择项目所在路径及输入项目的名称 D) 依次按‘下一步’直至完成为止。
(3) 至此,C++Builder已经建立好工程相关的文件(请不要随意更改其自动生成的文件),在生成的
main函数中写入必要的内容即可。
(4) 对于VC,请继续下面的步骤:
A) 建立C++源程序文件
a)选选菜单命令Project|Add to Project|New,弹出New对话框
b)在New对话框的Files选项卡中选择C++ Source File,并填入文件名称,单击OK按钮,完成新建C++源程序文件 B) 编辑C++源程序文件
a) 在文件编辑窗口中输入代码
b) 完成后,选择菜单File|Save保存这个文件 C) 建立并运行可执行程序
a) 选择菜单命令Build,建立可执行程序
如果你正确输入了源程序,此时便成功地生成了可执行程序。
如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令Build建立可执行程序。 b) 选择菜单命令Run,运行程序,观察屏幕显示内容。 D) 关闭工作空间
选择菜单命令File|Colse WorkSpace关闭工作空间。
1
实验二、简单程序设计(2~4学时)
1、实验目的:
(1) 学会编写简单的C++程序。 (2) 练习使用简单的输入输出。 (3) 观察头文件的作用。
(4) 学会使用VC++ 6.0的DEBUG调试程序。
2、实验任务:
(1)输入并运行教材《C++语言程序设计》中的例题2-7,即:用do-while语句编程,求自然数1~10之和。程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。 (2) do-while语句用for语句代替,完成相同的功能。
(3) 程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的
类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积后将其显示出来。
a) 使用debug调试功能观察程序运行中变量值的变化情况。
b) 定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、
日、小时、分、秒的值,然后完整地显示出来。
3、实验步骤
(1) 建立一个控制台应用程序项目lab2_1,向其中添加一个C++源文件lab2_1.cpp,输入教材《C++
语言程序设计》中例2-7的代码,检查一下确认没有输入错误,选择菜单命令编译源程序,再选择Execute运行程序,观察输出是否与教材中的答案一致。
(2) 程序正确运行之后,在源程序第一行”#include
重新编译,观察编译的结果。
(3) 另建立一个项目lab2_2,包含一个C++源程序lab2_2.cpp,将do-while语句用for语句代替,完
成与实验任务1相同的功能。
(4) 建立项目lab2_3,计算图形面积。圆形的面积计算公式为S=PI*r*r,长方形的面积计算公式为
S=a*b,正方形的面积市场计算公式为S=a*a。程序中定义一个整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的型,用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来。最后编译运行程序。
(5) 学习简单的debug调试功能,参考程序如下: //lab2_3.cpp
#include
int iType;
float radius,a,b,area;
cout<<”图形的类型?(1为圆形,2为长方形,3为正方形):”; cin>>iType; switch(iType) {
case 1:
cout << “圆的半径为:”; cin>>radius;
area=PI*radius*radius;
cout<<”面积为”<
2
break;
case 2:
cout<<”矩形的长为:”; cin>>a;
cout<<”矩形的宽为:”; cin>>b; area=a*b;
cout<<”面积为:”<
cout<<”正方形的边长为:”; cin>>a; area=a*a;
cout<<”面积为:”<
default:
cout<<”不是合法的输入值!”< } } A) 选在第10行处设置调试断点。用鼠标左键单击源程序第10行左边的空白处,出现一个菜单。 B) 择Insert|Remove Breakpoint选项,可看到左边的边框上出现一个褐色的圆点,这代表已经在这里设置 了一个断点。 C) 后选择菜单命令Build|Start Debug|Go,系统统进入Debug状态,程序开发运行,并停在断点处。 D) 单步执行,并观察程序中相应变量的变化情况。 3 实验三、函数的应用(2学时)(选做) 1、实验目的: a) 掌握函数的定义和调用方法。 b) 练习重载函数使用。 c) 练习函数模板的使用 d) 练习使用系统函数。 2、实验任务: c) 编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。 d) 编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。 e) 使用重函数模板重新实现上小题中的函数Max1。 f) 使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。 g) 用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。 3、实验步骤 1) 编写函数float Convert(float TempFer),参数的返回值都为float类型,实现算法C=(F-32)*5/9,在main() 函数中实现输入、输出。程序名为lab3_1.cpp. 2) 分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:lab3_2.cpp。 3) 使用函数模板实现求任意类型数的最大值,针对不同的参数个数,编写两个同名函数模板max1,其参 数个数不同,实现函数重载,在main()函数中测试函数的功能。和序名:lab3_3.cpp。 4) 在main()函数中提示输入两个整数x,y,使用cin语句得到x,y的值,调用pow(x,y)函数计算x的y次幂 的结果,再显示出来。程序名:lab3_4.cpp。 5) 编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为 fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3_5.cpp。 6) 使用debug中的Step Info追踪到函数的内部,观察函数的调用过程,参考程序如下: //lab3_5 #include int n,answer; cout<<”Enter number:”; cin>>n; cout <<”\\n\\n”; answer=fib(n); cout< int fib(int n) { if(n<3) return 1; else return fib(n-2)+fib(n-1); } 7)调试操作步骤如下: i. 选择菜单命令Build|Start Debug |Step In,系统进入单步执行状态,程序开始运行,并出现一个DOS 窗口,此时光标停在main()函数的入口处。 4
共分享92篇相关文档