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();pr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

例题:

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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170997.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • STM8S之STVD问题解决47 can’t openfile crtsi0.sm8「建议收藏」

    STM8S之STVD问题解决47 can’t openfile crtsi0.sm8「建议收藏」用STVD+COSMIC编译工程时出现以下错误(加载的别人的工程):#errorclnkDebug\demo.lkf:47can’topenfilecrtsi0.sm8#errorclnkDebug\demo.lkf:60can’topenfilelibis0.sm8#errorclnkDebug\demo.lkf:61can’topenfilelibm0.sm…

    2022年9月23日
    3
  • 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个—员工管理源代码分享

    使用Jquery+EasyUI进行框架项目开发案例解说之中的一个—员工管理源代码分享

    2021年11月13日
    37
  • 曼昆经济学原理_第五版[1].txt.doc

    曼昆经济学原理_第五版[1].txt.doc第一章经济学十大原理在本章中你将——知道经济学研究稀缺性资源配置考察人们面临的一些交替关系知道机会成本的含义懂得在作出决策时如何运用边际推理讨论激励如何影响人们的行为考虑为什么人们或国家之间的交易可以使各方面受益-9经济学原理第五版 讨论为什么市场是一种良好的、但并不是完善的资源配置方式了解是什么因

    2025年8月2日
    2
  • 模型评估之混淆矩阵

    模型评估之混淆矩阵在前面的文章中我们讲到了回归模型和分类模型的评估指标,区分了准确率和精确率的区别,并且比较了精确率和召回率内在的联系。本篇文章我们再来学习另外一个评估方法,即混淆矩阵(confusion_matrix)。在讲矩阵之前,我们先复习下之前在讲分类评估指标中定义的一些符号含义,如下:TP(TruePositive):将正类预测为正类数,真实为0,预测也为0 FN(FalseNegative):将正类预测为负类数,真实为0,预测为1 FP(FalsePositive):将负类预测为正类数,真实为

    2022年5月14日
    39
  • linux文本编辑的几种退出方法「建议收藏」

    linux文本编辑的几种退出方法「建议收藏」1.使用Vim的时候便捷方式:(1)ctrl+z退出,fg进入(2)正常模式下输入“:sh”进入linux环境,离开Linuxe环境进入Vim使用exit参考:https://blog.csdn.net/A632189007/article/details/78263459一般方式:输入“:wq”然后回车就退出了,表示先保存再退出按“:q”退出:在任何情况先按键盘上面…

    2022年7月26日
    15
  • 处理Simulink的代数环的方法为逐个添加一阶惯性环节

    处理Simulink的代数环的方法为逐个添加一阶惯性环节处理Simulink的代数环的方法为逐个添加一阶惯性环节。代数环实际上是微分方程的输入在第一步没有值,而如果串联一个积分器的话就可以有初值,从而避免。通过增加一个一个时步的惯性环节,实现在基本不改变输出的情况下避免代数环。测试是可行的。…

    2022年10月5日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号