C++学习之路—— C++异常处理机制

简介: C++学习之路—— C++异常处理机制

例题:


1.设计一个程序,根据输入的三边求三角形面积。


2.要求设置异常处理机制,对不符合三角形条件提示错误信息,不做计算;


对输入非正数的边提示错误,并重新输入。


代码如下:

class S
{
public:
  double s;
  S(double x, double y, double z)
  {
    a = x;
    b = y;
    c = z;
  }
  void TryS();
private:
  double a, b, c;
};
void S::TryS()
{
  try
  {
    if (a + b < c || a + c < b || b + c < a)
    {
      throw(a);
    }
    else
    {
      double p = (a + b + c) / 2;
      s = sqrt(p*(p - a)*(p - b)*(p - c));
      cout << "该三角形的面积为" << s << endl;
    }
  }
  catch (double s)
  {
    cout << "输入的值不能构成三角形" << endl;
  }
}
int main()
{
  S s1(4.3, 2.2, 3.6);
  s1.TryS();
  S s2(1.0, 1.0, 3.0);
  s2.TryS();
  return 0;
}
相关文章
|
16天前
|
存储 C++ 容器
C++STL(标准模板库)处理学习应用案例
【4月更文挑战第8天】使用C++ STL,通过`std:vector`存储整数数组 `{5, 3, 1, 4, 2}`,然后利用`std::sort`进行排序,输出排序后序列:`std:vector<int> numbers; numbers = {5, 3, 1, 4, 2}; std:sort(numbers.begin(), numbers.end()); for (int number : numbers) { std::cout << number << " "; }`
19 2
|
26天前
|
存储 安全 编译器
C++学习过程中的一些值得注意的小点(1)
C++学习过程中的一些值得注意的小点(1)
|
27天前
|
存储 算法 数据库
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
104 0
|
28天前
|
安全 算法 程序员
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
31 0
|
30天前
|
安全 算法 C++
【C++ 异常 】深入了解C++ 异常机制中的 terminate()处理 避免不必要的错误(三)
【C++ 异常 】深入了解C++ 异常机制中的 terminate()处理 避免不必要的错误
47 0
|
20小时前
|
程序员 编译器 C语言
【C++高阶(七)】C++异常处理的方式
【C++高阶(七)】C++异常处理的方式
|
1天前
|
C语言 C++
c++的学习之路:4、入门(3)
c++的学习之路:4、入门(3)
14 0
|
1天前
|
编译器 C++
c++的学习之路:23、多态(2)
c++的学习之路:23、多态(2)
13 0
|
2天前
|
C++
c++的学习之路:7、类和对象(3)
c++的学习之路:7、类和对象(3)
16 0
|
2天前
|
存储 编译器 C语言
c++的学习之路:5、类和对象(1)
c++的学习之路:5、类和对象(1)
14 0

热门文章

最新文章