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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux下载安装yum(ubuntu安装yum工具)

    自动搜索最快镜像插件:yuminstallyum-fastestmirror安装yum图形窗口插件:yuminstallyumex1、安装yuminstall全部安装yuminstallpackage1安装指定的安装包package1yumgroupinsallgroup1安装程序组group12、更新和升级yumupdate全部更新yumupdatepackage1更新指定程序包package1yumcheck-update

    2022年4月15日
    53
  • django和drf_类的序列化

    django和drf_类的序列化前言上一篇文章我们讲述了序列化,这篇就带大家一起来实现以下序列化Serializer我们使用序列化类Serializer,我们来看下源码结构,这里推荐使用pycharm左边导航栏的Structu

    2022年7月30日
    8
  • java深拷贝的实现方式_接口可以创建对象吗

    java深拷贝的实现方式_接口可以创建对象吗Cloneable接口与Serializable接口都是定义接口而没有任何的方法。Cloneable可以实现对象的克隆复制,Serializable主要是对象序列化的接口定义。很多时候我们涉及到对象的复制,我们不可能都去使用setter去实现,这样编写代码的效率太低。JDK提供的Cloneable接口正是为了解决对象复制的问题而存在。Cloneable结合Serializable接口可以实现JVM对象的深度复制。

    2022年10月14日
    4
  • Pytest(17)运行未提交的git(pytest-picked)

    Pytest(17)运行未提交的git(pytest-picked)前言我们每天写完自动化用例后都会提交到git仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交git仓库的用例。pytest-picked插件可以

    2022年7月29日
    7
  • 宽度学习与深度学习中的时空转化问题

    宽度学习与深度学习中的时空转化问题ž在自然界中运动是绝对的,静止是相对的。这句话也说明了深度学习过去、现在、未来。由于我发现山东大学有个组和澳门大学陈俊龙团队的宽度学习、极限学习等。目前由于神经网络是黑盒研究、所以很多人利用反卷积和卷积可视化来解释这种微分和积分的编程,由于冗余和稀疏特性使用微积分或者差分求导数和偏导是必然。宽度学习文章和代码研究地址:http://www.broadlearning.ai在深度学习上目…

    2022年5月21日
    43
  • vscode直接运行html_用vscode搭建前端环境

    vscode直接运行html_用vscode搭建前端环境1.本地新建一个空的文件夹2.点击新建一个index.html文件3.输入!4.点击第一个自动生成html模板文件5.右击html文件,在浏览器中运行

    2022年8月22日
    6

发表回复

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

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