第16周上机实践项目1——平方根中的异常

编写一个程序,求输入数的平方根。设置异常处理,当输入负数时采用异常处理机制给出提示。

代码

#include <iostream>
#include <cmath>
using namespace std;
double sqrt1(double n)
{
    if(n<0)
        throw n;
    else
        return sqrt(n);
}
int main()
{
    double n,m;
    cin>>n;
    try
    {
        m=sqrt1(n);
        cout<<m;
    }
    catch(double)
    {
        cout<<"n不能为负数!";
    }
    return 0;
}

运行结果:

时间: 2024-08-07 00:12:27

第16周上机实践项目1——平方根中的异常的相关文章

第16周上机实践项目1--逆序输出数组

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014 年 12 月 14 日 * 版 本 号:v1.0 * * 问题描述:采用指针访问的方式,从键盘给数组a[N]输入n个数据(n小于100),然后对元素值按逆序存放后输出.: * 输入描述:共n+1个整数,先输入n值,再输入n个整数: * 程序输出:与输入顺序正好相反的n个整数. #include <iostre

第16周上机实践项目2——有些数的阶乘不算了

求n!的函数,当用户的输入为负数,以及输入数太大时(例如大于12),使用异常处理机制予以拒绝,并给出恰当的提示. 代码 #include <iostream> #include <cmath> using namespace std; int fun(int n) { int i,sum=1; if(n<0||n>12) throw n; else { for(i=1;i<=n;++i) sum*=i; } return sum; } int main() { i

第16周上机实践项目3——max带来的冲突

分析下面程序出现的编译错误,给出解决的方案. #include<iostream> using namespace std; //定义函数模板 template<class T> T max(T a, T b) { return (a>b)?a:b; } int main() { int x=2,y=6; double x1=9.123,y1=12.6543; cout<<"把T实例化为int:"<<max(x,y)<<

第12周上机实践项目4——点、园的关系(1)

(1)先建立一个Point(点)类,包含数据成员x,y(坐标点): (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员(半径),基类的成员表示圆心: (3)编写上述两类中的构造.析构函数及必要运算符重载函数(本项目主要是输入输出): (4)定义友元函数int locate,判断点p与圆的位置关系(返回值<0圆内,==0圆上,>0 圆外): 代码 #include <iostream> #include <cmath> using namespace

第八周上机实践项目1——实现复数类中的运算符重载(3)

定义一个定义完整的类(是可以当作独立的产品发布,成为众多项目中的"基础工程").这样的类在(2)的基础上,扩展+.-.*./运算符的功能,使之能与double型数据进行运算.设Complex c; double d; c+d和d+c的结果为"将d视为实部为d的复数同c相加",其他-.*./运算符类似. 问题及代码 /* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作

第九周上机实践项目 项目2-我的数组类

问题及代码: [项目-我的数组类] 阅读程序,请完成成员函数的定义,因为存在指针型的数据成员,注意需要深复制的构造函数. #include<iostream> using namespace std; class MyArray { private: int *arrayAddr; //保存一个有len个整型元素的数组的首地址 int len; //记录动态数组的长度 int max; //动态数组中的最大值(并非动态数组中必须要的数据成员) public: MyArray(int *a, i

第12周上机实践项目3——日期时间类

定义一个日期类Date,数据成员包括年.月.日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期:再定义一个时间类Time,数据成员包括时.分.秒,SetTime(int h,int m,int s)和PrintTime()函数分别用于设置时间和显示时间,在此基础上再定义一个日期时间类TimeDate,充分利用已有的两个类中提供的方法,实现日期和时间的设置和显示.请实现类TimeDate. 代码 #include <iostream>

第九周上机实践项目 项目3-人数不定的工资类

问题及代码: [项目-人数不定的工资类] 设计一个工资类(Salary),其中的数据成员包括职工人数(number,人数不定)和number个职工的工资salary,要求输入职工工资并逐个输出. 提示:用固定大小的数组存储number个职工的工资,可能造成空间的浪费,也可能会由于空间不够而不能处理职工人数过多的应用.将salary声明为指针类型的成员,通过动态分配空间,分配正好大小的空间存储数据. class Salary { public: Salary(int n); //n为职工人数,初始

第14周上机实践项目1——折腾二维数组(1)

问题及代码 /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * 完成日期:2014年 11 月 27 日 * 版 本 号:v1.0 * * 问题描述: 按行序优先输出数组元素. * 输入描述:后两列元素. * 程序输出:数组元素: */ #include <iostream> using namespace std; int main() { int i,x,y; int a[