报告1:
实验目的:设计一个三角形类
实验内容:
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:三角形类的运用
* 作 者: 张传新
* 完成日期:2012 年 11月 15日
* 版 本 号: 1
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:……
* 算法设计:……
*/
#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
void Setabc(float x,float y,float z);//置三边的值,注意要能成三角形
void Getabc(float *x,float *y,float *z);//取三边的值
float Perimeter(void);//计算三角形的周长
float Area(void);//计算并返回三角形的面积
private:
float a,b,c;//三边为私有成员数据
};
void main(void)
{
Triangle Tri1;//定义三角形类的一个实例(对象)
Tri1.Setabc(4,5,6);//为三边置初值
float x,y,z;
Tri1.Getabc(&x,&y,&z);//将三边的值为x,y,z赋值
cout<<"三条边为:"<<x<<'\t'<<y<<'\t'<<z<<endl;
cout<< "三角形的周长为:" << Tri1.Perimeter() << '\t' << "面积为:" << Tri1.Area() << endl;
}
void Triangle::Setabc(float x, float y, float z)
{
if (x + y > z && x + z > y && y + z > x && x > 0 && y > 0 && z > 0)
{
a = x, b = y, c = z;
}
else
{
cout << "您输入的数不能构成三角形!" << endl;
exit(0);//exit()默认值为0,表示正常退出。-1(或非0)表示异常退出。
}
}
void Triangle::Getabc(float *x, float *y, float *z)
{
*x = a;
*y = b;
*z = c;
}
float Triangle::Perimeter(void)
{
return (a+b+c);
}
float Triangle::Area(void)
{
float p,sqr;
p = (a + b +c) / 2;
sqr=sqrt(p * (p - a) * (p - b) * (p - c));
return sqr;
}
运行结果:
经验积累:
1.exit(0);//exit()默认值为0,表示正常退出。-1(或非0)表示异常退出。
2.定义各函数时注意要用“~~::”来限定所定义的函数
3.
上机感言:昨天上陈亮老师的课,对于指针有了飞跃性的提高,甚是高兴。
指针可以说就是地址,一般情况是通过变量名称进行数据访问,但指针是通过变量地址进行访问。其中“&”意为去变量地址,
“*”为取地址的内容。一般方法,形参的改变是影响不到实参的,但通过对地址的访问可以改变两个变量的值。不知自己的表
述有没有错误,希望贺老师纠正。还有正如贺老师所说,我很想学,但无法使自己投入到学习中去,不知该怎样。。。。。
茫然。。。。