【C++ Primer Plus习题】15.2

devtools/2024/9/23 15:23:27/

大家好,这里是国中之林!
❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看←

问题:

这里是引用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解答:
main.cpp

#include <iostream>
#include <cmath>
#include "exc_mean.h"
using namespace std;double hmean(double a, double b);
double gmean(double a, double b);int main()
{double x, y, z,m;cout << "请输入两个数字: ";while (cin >> x >> y){try{z = hmean(x, y);m = gmean(x, y);cout << x << "和" << y << "的调和平均数为" << z << endl;cout << x << "和" << y << "的几何平均数为" << m << endl;cout << "输入下一组数据,按q结束:" << endl;}catch (bad_hmean&bg){cout<<bg.what();cout << "Try again\n";continue;}catch (bad_gmean& hg){cout << hg.what();//cout << "Values used: " << hg.v1 << "," << hg.v2 << endl;cout << "Sorry, you don't get to play any more.\n";break;}}cout << "Bye" << endl;return 0;
}double hmean(double a, double b)
{if (a == -b)throw bad_hmean();return 2.0 * a * b / (a + b);
}
double gmean(double a, double b)
{if (a < 0 || b < 0)throw bad_gmean();return sqrt(a * b);
}

exc_mean.h

#pragma once
#include <iostream>
#include <stdexcept>
using namespace std;class bad_hmean:public logic_error
{
private:/*double v1;double v2;*/
public:bad_hmean(const string what_arg = "HMean,Invalid argument ") :logic_error(what_arg){}//void mesg();
};//inline void bad_hmean::mesg()
//{
//	cout << "hmean(" << v1 << ", " << v2 << "):" << "invalid arguments: a= -b\n";
//}class bad_gmean:public logic_error
{
public://double v1;//double v2;bad_gmean(const string what_arg="GMean,Invalid argument") :logic_error(what_arg){}//const char* mesg();
};//inline const char* bad_gmean::mesg()
//{
//	return "gmean() arguments should be >= 0\n";
//}

运行结果:
在这里插入图片描述

考查点:

  • 异常

注意:

  • 异常标准头文件
    在这里插入图片描述
  • 初始化错误信息
    在这里插入图片描述
  • 抛出异常对象
    在这里插入图片描述
  • 接受异常
    在这里插入图片描述

2024年9月11日20:08:42


http://www.ppmy.cn/devtools/110746.html

相关文章

CSS-2

1.像素 2.颜色 rgba --- (255,255,255,0) --- a是透明度 hexa --- #ff00aabb -- a是透明度 hsla --- hsla(色相&#xff0c;饱和度&#xff0c;亮度&#xff0c;透明度) --- a依旧 3.字体 4.文本 5.列表相关属性 6.边框相关…

怎么利用XML发送物流快递通知短信

现如今短信平台越来越普遍了&#xff0c;而短信通知也分很多种&#xff0c;例如服务通知、订单通知、交易短信通知、会议通知等。而短信平台在物流行业通知这一块作用也很大。在家时:我们平时快递到了&#xff0c;如果电话联系不到本人&#xff0c;就会放到代收点&#xff0c;然…

【软考】安全威胁

目录 1. 说明2. 典型的安全威胁2.1 授权侵犯2.2 拒绝服务2.3 窃听2.3 信息泄露2.4 截获/修改2.5 假冒2.6 否认2.7 非法使用2.8 人员疏忽2.9 完整性破坏2.10 媒体清理2.11 物理入侵2.12 资源耗尽 3. 例题3.1 例题1 1. 说明 1.随着信息交换的激增&#xff0c;安全威胁所造成的危…

计网简简单单复习一下

文章目录 基础体系结构(分层模型)为什么要分层?OSI 七层模型?每一层的作用?TCP/IP 四层模型是什么?每一层的作用是什么?五层体系结构以及对应的协议每一层常见协议有哪些?从输入 URL 到页面展示到底发生了什么?URI和URL的区别;forward和redirect的区别DNS作用是什么?D…

uniapp 携带网址跳转webview页面报错解决

然后红框中的代码正常执行的 解决方案&#xff1a; 向webview页面携带参数时做以下处理&#xff1a; 接参后做以下处理&#xff1a; 效果展示&#xff1a;

鸿蒙界面开发——组件(7):组件导航 页面路由

组件导航 (Navigation)(推荐) Navigation() Navigation(pathInfos: NavPathStack)Navigation是路由容器组件&#xff0c;一般作为首页的根容器&#xff0c;包括单栏(Stack)、分栏(Split)和自适应(Auto)三种显示模式。Navigation组件适用于模块内和跨模块的路由切换&#xff0c…

【Python】Python 中的文件

一、文件的概念 变量是把数据保存到内存中. 如果程序重启/主机重启, 内存中的数据就会丢失. 要想能让数据被持久化存储, 就可以把数据存储到硬盘中. 也就是在 文件 中保存 通过文件的后缀名, 可以看到文件的类型. 常见的文件的类型如下: 文本文件 (txt)可执行文件 (exe, dll…

计算2的100次方

#include <stdio.h>int main() {int a[100] {0};a[0] 1;for(int i 0;i < 100;i)//乘100次2{for(int j 0; j < 100;j)//乘以每一位{a[j] * 2;//每一位都*2}for(int k 0;k < 99;k){if(a[k] > 10)//判断进位{a[k 1];a[k] - 10;}}}//找到第一个不为0的数&a…