C++程序设计实践指导书4Word格式文档下载.docx
《C++程序设计实践指导书4Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++程序设计实践指导书4Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
6)在实践中具备一定的创新思想,能够主动与指导教师探讨。
(5分)
7)加大实践工作量,主动完成实践指导书中的选做题目。
8)掌握程序调试的方法,认真完成程序调试工作,使程序能够运行(10分)。
上机四函数
(二)
一、目的
(1)熟悉VisualC++集成开发环境;
(2)完成C++函数的设计和编码;
(3)初步了解面向对象的设计与编程;
(4)学会建立和调试多文件程序。
二、要求:
1.在上课之前,每一个同学必须将题目、程序编写完毕,做好充分的准备。
2.所有环节均由每位同学独立完成,严禁抄袭他人结果。
三、步骤和内容
要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
1、输入下列简单C++程序,完成编译、连接、运行,熟悉C++程序函数默认参数的开发过程。
2、输入下列简单C++程序,完成编译、连接、运行,熟悉C++程序函数重载的开发过程。
3、编写程序,上机调试。
(1)编写一个函数abs,使用函数重载分别实现对不同参数类型(如int、float及double)求取绝对值,并在主函数中分别调用。
要求:
在对应函数中分别输出“intabs”、“floatabs”、“doubleabs”。
(2)利用函数重载,编写函数myMax,实现求3个数中最大的数(分别考虑,整数、双精度数、长整数3种情况),并在主函数测试。
3、根据给定代码,调试程序,理解引用的应用含义,解释输出结果。
四、思考题
思考:
可否使用重载函数完成三种形状的求面积操作
五、结果分析
1.
2.
#include<
iostream>
usingnamespacestd;
constdoublePi=3.;
doubleArea(doubleradius);
doubleArea(doubleradius,doubleheight);
intmain(){
cout<
<
"
EnterzforCylinder,cforCircle:
;
charuserSelection='
z'
cin>
>
userSelection;
Enterradius:
doubleradius=0;
radius;
if(userSelection=='
){
Enterheight:
doubleheight=0;
height;
Areaofcylinderis:
Area(radius,height)<
endl;
}
else
Area(radius)<
return0;
}
doubleArea(doubleradius){
returnPi*radius*radius;
doubleArea(doubleradius,doubleheight){
return2*Area(radius)+2*Pi*radius*radius;
3.
(1)
intabs(intx);
floatabs(floatx);
doubleabs(doublex);
intx;
floaty;
doublez;
请输入一个数:
x;
输入的数的数的绝对值是:
abs(x)<
y;
abs(y)<
z;
abs(z)<
intabs(intx){
if(x<
0)
return-1*x;
returnx;
floatabs(floatx){
doubleabs(doublex){
(2)
intmyMax(inta,intb,intc);
longmyMax(longa,longb,longc);
doublemyMax(doublea,doubleb,doublec);
inti1,i2,i3,i;
longl1,l2,l3,l;
doubled1,d2,d3,d;
请输入int的三个数:
i1>
i2>
i3;
i=myMax(i1,i2,i3);
int型最大的数是:
i<
请输入long的三个数:
l1>
l2>
l3;
l=myMax(l1,l2,l3);
long型最大的数是:
l<
请输入double的三个数:
d1>
d2>
d3;
d=myMax(d1,d2,d3);
double型最大的数是:
d<
intmyMax(inta,intb,intc){
if(b>
a)a=b;
if(c>
a)a=c;
returna;
longmyMax(longa,longb,longc){
doublemyMax(doublea,doubleb,doublec){
3.
六、指导教师评阅成绩