【项目3-多文件程序组织】
阅读http://blog.csdn.net/sxhelijian/article/details/15187309中《CodeBlocks中程序的多文件组织》,建立一个包含多个文件的项目,把本周项目2“太乐了”也用多文件组织起来。其中,main()函数保存在一个文件中,所有自定义函数保存到另外一个文件中,运行程序并得到正确的结果,体会在实际的工程项目中这样组织程序的好处。
参考解答:
main.cpp
#include <iostream>
using namespace std;
const double pi=3.1415926;
double mysin(double);
double mycos(double);
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((56.0/180)*pi)<<endl;
cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi)<<endl;
cout<<"cos(π/3)的值为"<<mycos(pi/3)<<endl;
return 0;
}
fun.cpp
double myabs(double);//这个函数不必在main.cpp中出错,而在此文件中,这样先声明,或者干脆先定义在此处
double mysin(double x)
{
double sum=x,x_pow=x,item;
int n=1,fact=1,sign=1; //定义变量时赋初值,已经将第一项考虑到累加和sum中
do
{
fact=fact*(n+1)*(n+2); //fact用于表示阶乘,在公式中作分母
x_pow*=x*x; //x_pow是分子中用于表示阶乘,在公式中作分母
sign=-sign; //确定即将要累加的这一项的符号
item =x_pow/fact*sign; //计算出要累加的项
sum+=item; //将该项累加上去
n+=2;
}while(myabs(item)>1e-5);
return sum;
}
//下面定义mycos函数
double mycos(double x)
{
double sum=1,x_pow=1,item;
int n=0,fact=1,sign=-1;
do
{
fact=fact*(n+1)*(n+2);
x_pow*=x*x;
item =x_pow/fact*sign;
sum+=item;
sign=-sign;
n+=2;
}while(myabs(item)>0.00001);
return sum;
}
//下面定义myabs函数
double myabs(double x)
{
return ((x>=0)?x:-x);
}
【项目3扩展】将第11周“项目3-回文、素数”中第(4)项目要求中所做工作,用多文件组织起来。