C++第12周项目3——太乐了多文件版

简介: 课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759【项目3-多文件程序组织】  阅读http://blog.csdn.net/sxhelijian/article/details/15187309中《CodeBlocks中程序的多文件组织》,建立一个包含多个文件的项目,把本周项目2“太乐了”也用多文件组织起来。其中,m

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759

【项目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)项目要求中所做工作,用多文件组织起来。

目录
相关文章
|
4月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
275 3
|
存储 分布式数据库 API
技术好文:VisualC++查看文件被哪个进程占用
技术好文:VisualC++查看文件被哪个进程占用
|
10月前
|
存储 算法 安全
基于哈希表的文件共享平台 C++ 算法实现与分析
在数字化时代,文件共享平台不可或缺。本文探讨哈希表在文件共享中的应用,包括原理、优势及C++实现。哈希表通过键值对快速访问文件元数据(如文件名、大小、位置等),查找时间复杂度为O(1),显著提升查找速度和用户体验。代码示例展示了文件上传和搜索功能,实际应用中需解决哈希冲突、动态扩容和线程安全等问题,以优化性能。
WK
|
12月前
|
机器学习/深度学习 人工智能 算法
那C++适合开发哪些项目
C++ 是一种功能强大、应用广泛的编程语言,适合开发多种类型的项目。它在游戏开发、操作系统、嵌入式系统、科学计算、金融、图形图像处理、数据库管理、网络通信、人工智能、虚拟现实、航空航天等领域都有广泛应用。C++ 以其高性能、内存管理和跨平台兼容性等优势,成为众多开发者的选择。
WK
590 1
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
2200 3
|
Linux C++
Linux c/c++文件的基本操作
在Linux环境下使用C/C++进行文件的基本操作,包括文件的创建、写入、读取、关闭以及文件描述符的定位。
168 0
Linux c/c++文件的基本操作
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
C++
【C++案例】一个项目掌握C++基础-通讯录管理系统
这篇文章通过一个通讯录管理系统的C++项目案例,详细介绍了如何使用C++实现添加、显示、删除、查找、修改和清空联系人等功能。
250 3
|
Linux C++
Linux c/c++文件虚拟内存映射
这篇文章介绍了在Linux环境下,如何使用虚拟内存映射技术来提高文件读写的速度,并通过C/C++代码示例展示了文件映射的整个流程。
326 0
|
Linux C++
Linux c/c++文件移动
这篇文章介绍了在Linux环境下,使用C/C++语言通过命令方式和文件操作方式实现文件移动的方法。
321 0