小甲鱼-C++快速入门笔记(31/32)之错误处理和调试
2019-03-23 16:57
447 查看
程序出错可以分为两大类:
1、编译时错误
2、运行时错误
让函数返回错误代码:
如果计算的值超出了计算机所能表达的最大整数可以采用climits头文件.
这个头文件从c的limits.h头文件应用过来的, 主要列出了各种数据类型在给定操作系统上的取值范围,并且把每种数据类型的最大可取值和最小可取值都分别定义为一个常量共我们比较。比如, SHORT_MAX代表短整数类型在给定系统上的最大可能值,SHORT_MIN代表短整数类型在给定操作系统上的最小可取值。USHORT_MAX代表无符号整数类型的最大可取值。比如在例子中,为了判断阶乘计算的结果没有超出一个无符号长整数的最大取值,我们可以使用ULONG_MAX来提前获得这个值进行比较。
[code]#include <iostream> #include <climits> using namespace std; class Factorial { public: Factorial(unsigned short num); unsigned long getFactorial(); bool inRange(); private: unsigned short num; }; Factorial::Factorial(unsigned short num) { this ->num = num; } unsigned long Factorial::getFactorial() { unsigned long sum = 1; for(int i=1; i<= num; i++) { sum *= i; } return sum; } bool Factorial::inRange() { unsigned long max = ULONG_MAX; for(int i=num; i>=1; --i) { max /= i; } if(max < 1) return false; else return true; } int main() { unsigned short num = 0; cout << "请输入一个整数: " ; cin >> num; Factorial fac(num); if(fac.inRange()) { cout << num << "的阶乘值是" << fac.getFactorial() << "\n\n"; } else { cout << "您输入的值太大!\n\n"; } return 0; }
相关文章推荐
- 错误处理和调试2 - C++快速入门31
- 错误处理和调试2 - C++快速入门31
- 快速入门C++ 11(虚继承、错误处理和调试)
- 错误处理和调试 - C++快速入门30
- 错误处理和调试 - C++快速入门30
- 小甲鱼-C++快速入门笔记(38)之高级强制类型转换
- 小甲鱼-C++快速入门笔记(34)之动态内存管理
- 小甲鱼-C++快速入门笔记(35)之动态数组
- 小甲鱼-C++快速入门笔记(37)之副本构造器
- Python学习笔记(八):面向对象编程、错误调试和测试(快速入门篇)
- 小甲鱼-C++快速入门笔记(36)之从函数或方法返回内存
- C++入门(13):错误处理和调试
- C++学习笔记5__错误处理和调试 动态内存 副本构造器
- 小甲鱼-C++快速入门笔记(33)之assert函数和捕获异常
- 【C++】【学习笔记】【030-031】错误处理和调试
- windows真机调试win+R报adb server version (31) doesn't match this client ...错误的处理
- 32、深入理解计算机系统笔记,Unix下处理错误的风格
- 01-C#入门(调试和错误处理)
- c++Primer学习笔记之三:c++快速入门_2
- 调试的艺术学习笔记--程序崩溃处理(段错误)