| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 657 人关注过本帖
标题:辛苦编写的关于三角形面积的一个程序
只看楼主 加入收藏
十八太保
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2011-6-15
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:5 
辛苦编写的关于三角形面积的一个程序
#include<iostream.h>
#include <math.h>
class tria
{
public:
    void setsides(float a,float b,float c);
    void print();
private:
    float x,y,z;
    float area;
};
void main()
{
    tria tr1;
    tr1.setsides(3,4,5);
        tr1.print();
}
void tria::setsides(float a,float b,float c)
    {
        if (a+b>c&&a+c>b&&b+c>a)
        {
            x=a;y=b;z=c;
            float t=(a+b+c)/2;
            area=sqrt(t*(t-a)*(t-b)*(t-c));
        }
        else
            x=y=z=area=0;
    }
void tria::print()
    {
        cout<<"三角形的三条边长分别是:"<<endl;
        cout<<x<<"\t"<<y<<"\t"<<z<<endl;
        cout<<"三角形面积为:"<<endl;
        cout<<area<<endl;   
    }
搜索更多相关主题的帖子: 纯种 
2011-07-24 22:33
吴辉
Rank: 3Rank: 3
来 自:湖南
等 级:论坛游侠
帖 子:52
专家分:199
注 册:2011-3-27
收藏
得分:10 
小修改了一下
#include<iostream.h>
#include <math.h>
class tria
{
public:
    void setsides(float a,float b,float c);
    void print();
private:
    float x,y,z;
    float area;
};
 
void main()
{       float x,y,z;
        cin>>x;cin>>y;cin>>z;     
        tria tr1;
        tr1.setsides(x,y,z);
        tr1.print();
}
 
void tria::setsides(float a,float b,float c)
    {
        if (a+b>c&&a+c>b&&b+c>a)
        {
            x=a;y=b;z=c;
            float t=(a+b+c)/2;
            area=sqrt(t*(t-a)*(t-b)*(t-c));
        }
        else
        { cout<<"三边不能构成三角形!"<<endl;
          x=y=z=area=0;}
            
    }
void tria::print()
    {
        cout<<"三角形的三条边长分别是:"<<endl;
        cout<<x<<"\t"<<y<<"\t"<<z<<endl;
        cout<<"三角形面积为:"<<endl;
        cout<<area<<endl;   
    }
2011-07-25 09:06
langhuan
Rank: 2
等 级:论坛游民
帖 子:22
专家分:36
注 册:2011-7-17
收藏
得分:10 
程序这样比较好:
#include<iostream>
using namespace std;
#include <cmath>
class tria
{
public:
    void setsides(float a,float b,float c);
    void print();
 private:
    float x,y,z;
    float area;
};
void tria::setsides(float a,float b,float c)
{
    x=a;
    y=b;
    z=c;
    float t=(a+b+c)/2;
    area=sqrt(t*(t-a)*(t-b)*(t-c));
}
 void tria::print()
{
    cout<<"三角形的三条边长分别是:"<<endl;
    cout<<x<<"\t"<<y<<"\t"<<z<<endl;
    cout<<"三角形面积为:"<<endl;
    cout<<area<<endl;   
}
 void main()
{
     int a,b,c;
     while(1)
     {
         cout<<"请输入三角形的三边长:";
         cin>>a>>b>>c;
         if(a+b<c||b+c<a||a+c<b)
             cout<<"这三边组不成三角形,请重新输入!"<<endl;
         else
             break;
     }
     tria tr1;
     tr1.setsides(a,b,c);
     tr1.print();
}

不过,按照C++的编程思想程序应这样写更好:
#include<iostream>
using namespace std;
#include <cmath>
class tria
{
public:
    tria(double a,double b,double c);
    void jishu();
    void print();
 private:
    float x,y,z;
    float area;
};
tria::tria(double a,double b,double c)
{
    x=a;
    y=b;
    z=c;
}
void tria::jishu()
{
    float t=(x+y+z)/2;
    area=sqrt(t*(t-x)*(t-y)*(t-z));
}
 void tria::print()
{
    cout<<"三角形的三条边长分别是:"<<endl;
    cout<<x<<"\t"<<y<<"\t"<<z<<endl;
    cout<<"三角形面积为:"<<endl;
    cout<<area<<endl;   
}
 void main()
{
     int a,b,c;
     while(1)
     {
         cout<<"请输入三角形的三边长:";
         cin>>a>>b>>c;
         if(a+b<c||b+c<a||a+c<b)
             cout<<"这三边组不成三角形,请重新输入!"<<endl;
         else
             break;
     }
     tria tr1(a,b,c);
     tr1.jishu();
     tr1.print();
}
2011-07-26 12:45
xinshou1991
Rank: 2
等 级:论坛游民
帖 子:35
专家分:45
注 册:2011-7-25
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2011-08-07 09:24
xinshou1991
Rank: 2
等 级:论坛游民
帖 子:35
专家分:45
注 册:2011-7-25
收藏
得分:0 
不好意思搞错了!实在抱歉!
2011-08-07 09:25
AHUSPEED紫枫
Rank: 1
等 级:新手上路
帖 子:11
专家分:3
注 册:2011-2-3
收藏
得分:0 
程序没什么问题啊,挺不错的!
2011-08-07 20:57
快速回复:辛苦编写的关于三角形面积的一个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025756 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved