实验一熟悉VisualStudio开发环境.docx
《实验一熟悉VisualStudio开发环境.docx》由会员分享,可在线阅读,更多相关《实验一熟悉VisualStudio开发环境.docx(10页珍藏版)》请在冰豆网上搜索。
实验一熟悉VisualStudio开发环境
实验一-熟悉Visual-Studio
发环境
本科实验报告
课程名称:
C++面向对象程序设计
实验项目:
实验地点:
明向校区
专业班级:
软件1419学号:
2014006061
学生姓名:
刘国鑫
指导教师:
王丽娟
2015年5月10日
实验名称
实验一
熟悉VisualStudio开发环境
实验目的
1.了解和使用VisualStudio集成开发环境;
2.熟悉VisualStudio环境的基本命令和功能
键;
3.了解面向对象程序设计方法的基本原理及主要特点——抽象、封装、继承和多态;
4.学习完整的C+■程序开发过程。
实验要求
1.完善、编写程序,并调试程序。
要给出邪恶是数据和实验结果;
2.整理上机步骤,总结经验和体会;
3.完成实验报告和上交程序。
实验内容
1.编写重载函数area()和perime(),分别计算圆、长方形、正方形的面积和周长,并在主函数中测试;
2.完善程序,并上机运行;
3.定义一个复数类Complex,复数的实部Real
与虚部Image定义为私有数据成员。
用复数
类定义复数对象cl、c2、c3,用默认构造函数将cl初始化为c仁20+40i,将c2初始化为c2=0+0i,用拷贝函数将c3初始化为c3=20+40i。
用公有成员函数Display()显示复数cl、c2和c3的内容;
4.定义一个矩形类Rectangle,矩形的左上角
(Left,Top)与右下角坐标(Right,Bottom)定义为保护数据成员。
用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线的长度。
在主函数中用new
运算符动态建立矩形对象r1,初值为(10,10,20,20)。
然后调用Show()显示矩形左上角与右下角坐标及对角巷长度。
最后用delete运算符回收为矩形动态分配的存储空间。
主要仪器设备
台式或笔记本电脑
实验记录(1,3,
4写出代码及运行结果,2补全代码并写出运行结果)
1.#include"iostream"
#includeusingnamespacestd;#definepi3.141592
doubleArea(doubleR);
doubleArea(doublea,doubleb);
doublePerim(doubleR);
doublePerim(doublea,doubleb);
intmain()
{doubler;
doublem;
doublen;
cout«"请输入圆的半径:
"<cin>>r;
coutvv"圆的面积为:
"<
"<coutvv"请输入长方形的边长:
"<cin>>m>>n;
coutvv"长方形的面积为:
"<
"<coutvv"请输入正方形的边长:
"<>m;
coutvv"正方形的面积为:
"vvArea(m,m)vv""vv"正方形的周长为:
"vvPerim(m,m)vvendl;
system("pause");
return0;}
doubleArea(doubleR)
{
doubles;s=pi*R*R;returns;
}
doubleArea(doublea,doubleb)
{
doubles;s=a*b;returns;
}
doublePerim(doubleR)
{
doublep;p=2*pi*R;returnp;
}
doublePerim(doublea,doubleb)
{
doublep;p=2*(a+b);returnp;
}
运行结果:
2.#include
usingnamespacestd;
classRectangle
{public:
Rectangle(doublel,double
w):
len(l),wid(w){}
doublearea()
{
doublearea;area=len*wid;return
area;
}
private:
doublelen,wid;
};
classSquare
{public:
Square(doublel):
len(l){}
doublearea()
{
doublearea;area=len*len;return
area;
}
private:
doublelen;
};
classCircle
{public:
Circle(doubler):
radius(r){}
doublearea()
{
double
area;area=3.14*radius*radius;return
area;
}
private:
doubleradius;
};
intmain()
{cout«"lnputshape:
"«endl;
cout«"ifcircleinputc,ifrectangleinputr,ifsquareinputs"<charshape;
cin>>shape;
switch(shape)
{
case'c':
{doubler;
cout«"inputradius"<>r;
Circlerl(r);
cout<<"circle
area="<and
{doublelen,wid;
cout«"inputlengthwidth"«endl;
cin>>len>>wid;
Rectangler(len,wid);cout<<"rectanglearea="vvr.area()vsystem("pause");
break;}
case's':
{doublelen;
cout«"inputlengh"<>len;
Squares(len);cout«"squarearea="<system("pause");
break;}
default:
cout«"inputerror!
"<break;
}
getchar();
return0;
}
运行结果:
rG脸\匸十片\实強一I2I百侯验一'2).ew
Iliput^liajpc-
ifcii^clcinputc,ifrcctariglcioputr,if^虫出厲严©input3i
inputlontflzhAndwidth
67
vcctangloarojl-42
诲按任意慈世皴-…
3.#include"iostream"
usingnamespacestd;
classComplex
{
private:
floatReal,lmage;
public:
Complex(floatr,floati)
{Real=r;Image=i;}Complex(Complex&c)
{Real=c.Real;Image=c」mage;}
Complex。
{Real=0;lmage=0;}voidDisplay。
{
cout<}
};
voidmain()
{
Complexc1(20,40),c2,c3(c1);
c1.Display();
c2.Display();
c3.Display();system("pause");
}
运行结果:
4.#inelude
#inelude
usingnamespaeestd;classRectangle
{public:
Rectangle(floatl,floatt,floatr,
floatb):
left(l),top(t),right(r),bottom(b){}
floatDiagonal()
{returnsqrt((top-bottom)*(top
-bottom)+(left-right)*(leftright));}
voidShow(Rectanglerec)
{cout<private:
floatleft;
floattop;
floatright;
floatbottom;
};
intmain()
{
Rectangle*re=newRectangle(10,10,20,20);
re->Show(*re);
deletere;
system("pause");
}
运行结果:
实验中遇到的问题和解决办法
1.经常出现运行成功不了,编辑程序时出现问题,少“;”,通过认真检查程序改正;
2.出现得不到问题正确的答案,通过重新检查程序,重新编辑程序改正;
心得体会
C+H程序编辑任务多,苦重,更多需要耐心和认真,一点的错误都使程序无法进行下一步,无法运行,得出自己想要的结果。