10_86.cpp
上传用户:zipjojo
上传日期:2009-07-20
资源大小:70k
文件大小:1k
源码类别:

文章/文档

开发平台:

C/C++

  1. #include<iostream.h>
  2. #include<math.h>
  3. #include<iomanip.h>
  4. class Triangle
  5. {
  6. int x,y,z;
  7. double area;
  8. public:
  9. Triangle();
  10. double getarea()
  11. {
  12. return area;
  13. }
  14. void dispArea()
  15. {
  16. cout<<setiosflags(ios::fixed)<<setprecision(2)<<area<<endl;
  17. }
  18. friend double operator+(Triangle t1,Triangle t2)
  19. {
  20. return t1.area+t2.area;
  21. }
  22. friend double operator+(double a,Triangle t)
  23. {
  24. return  a+t.area;
  25. }
  26. friend bool operator>(Triangle t1,Triangle t2)
  27. {
  28. return t1.area>t2.area ?true:false;
  29. }
  30. };
  31. Triangle::Triangle()
  32. {
  33. int i,j,k;
  34. cout<<"请输入三角形的三边长:";
  35. cin>>i>>j>>k;
  36. if(i+j>k && i+k>j && j+k>i)
  37. {
  38. double s;
  39. x=i; y=j; z=k;
  40. s=(x+y+z)/2.0;
  41. area=sqrt(s*(s-x)*(s-y)*(s-z));
  42. }
  43. else
  44. {
  45. cout<<"错误!输入的三边长度不能构成三角形!"<<endl;
  46. area=x=y=z=0;
  47. }
  48. }
  49. void main()
  50. {
  51. Triangle t1,t2,t3;
  52. cout<<"三角形1面积:";t1.dispArea();
  53. cout<<"三角形2面积:";t2.dispArea();
  54. cout<<"三角形3面积:";t3.dispArea();
  55. if(t1>t2)
  56. cout<<"三角形1面积比三角形2大:"
  57. <<t1.getarea()-t2.getarea()<<endl;
  58. else
  59.     cout<<"三角形2面积比三角形1大:"
  60. <<t2.getarea()-t1.getarea()<<endl;
  61. cout<<"总面积:"<<t1+t2+t3<<endl;
  62. }