namespace try catch 的小练习

小练习 没什么算法或者数据结构

#include <iostream>

namespace Fib
{
 long Fib1(int n);
}

namespace Error
{
 void ShowErr(int n);
}

long Fib::Fib1(int n)
{
 int i;
 long fib1=1,fib2=1,fib3=1;
 if(n<=0||n>19)
  throw(n);
 for(i=2;i<=n;i++)
 {
  fib3=fib1+fib2;
  fib1=fib2;
  fib2=fib3;
 }
 return fib3;
}

void Error::ShowErr(int n)
{
 std::cout<<"不能求Fib数列的第"<<n<<"项"<<std::endl;
}

int main()
{
 try
 {
  std::cout<<"Fib(10)="<<Fib::Fib1(10)<<std::endl;
 }
 catch(int n)
 {
  Error::ShowErr(n);
 }
 return 0;
}

Leave a Reply

Your email address will not be published.