目录
程序分为三部分
- 头文件:包含结构声明和使用这些结构的函数原型
- 源代码文件:包含与结构相关的函数原型代码
- 源代码文件:包含main,调用与结构相关的代码
头文件包含的内容:
- 函数原型
- 使用#define 或者const 定义的符号常量
- 结构声明
- 类声明
- 模板声明
- 内联函数
coordin.h
-
// coordin.h -- 结构和函数声明
-
// structure templates
-
// 直角坐标系--极坐标系的转换
-
#ifndef COORDIN_H_
-
#define COORDIN_H_
-
-
struct polar //极坐标
-
{
-
double distance;
-
double angle;
-
};
-
-
struct rect //直角坐标系
-
{
-
double x;
-
double y;
-
};
-
-
// prototypes
-
polar rect_to_polar(rect xypos);
-
void show_polar(polar dapos);
-
-
#endif
file1.cpp
-
// file1.cpp -- example of a three file program
-
#include<iostream>
-
#include"coordin.h"
-
using namespace std;
-
-
int main()
-
{
-
rect rplace;
-
polar pplace;
-
-
cout << "请输入x和y的值:" << endl;
-
while (cin>>rplace.x>>rplace.y)
-
{
-
pplace = rect_to_polar(rplace);
-
show_polar(pplace);
-
cout << "下一组x,y的值(输入q退出):" << endl;
-
}
-
cout << "老铁,下次再见!" << endl;
-
return 0;
-
}
file2.cpp
-
// file2.cpp -- 包含file1.cpp的函数
-
#include<iostream>
-
#include<cmath>
-
#include"coordin.h"
-
-
//本函数转换直角坐标系到极坐标系
-
polar rect_to_polar(rect xypos)
-
{
-
using namespace std;
-
polar answer;
-
-
answer.distance = sqrt(xypos.x*xypos.x + xypos.y*xypos.y);
-
answer.angle = atan2(xypos.y, xypos.x);
-
return answer;
-
}
-
-
// 显示极坐标,转换角度到弧度
-
void show_polar(polar dapos)
-
{
-
using namespace std;
-
const double Rad_to_deg = 57.29577951;
-
-
cout << "distance = " << dapos.distance;
-
cout << ",angle = " << dapos.angle*Rad_to_deg;
-
cout << " degrees\n";
-
}
运行结果
多个库连接问题
9.1节
文章来源: kings.blog.csdn.net,作者:人工智能博士,版权归原作者所有,如需转载,请联系作者。
原文链接:kings.blog.csdn.net/article/details/95988305