卫星生成器属于懒人类型的工具,可以无限编写卫星(太多电脑会卡住)。是吧友“lhlclllx97”编写的懒人工具。
此程序是“Visual C++”(又叫VC++、VC)编写的控制台程序。
原帖地址:https://tieba.baidu.com/p/4450410487
- 注:卫星生成之后,最大的 SemiMajorAxis 是 2.44*R+50*R,最小是 2.44*R+1
下载[]
这里只提供最新版,要看以前的版本,详见原帖地址那里。
第一版本改进: V1.4[]
大改进:
- 卫星轨道分布真正随机化( 使用了srand(time(0));)
- 恒星与行星名称中可以带空格 (cin.getline(xxx,20);)
- D盘下的moon.txt可以自动创建。
- 恒星与行星名称中可以带空格。
图片[]
源代码[]
#include<iostream>
#include<math.h>
#include <fstream>
using namespace std;
#define random(x) (rand()%x)
#define random2(x) (rand()%x)
#define random3(x) (rand()%x)
#define random4(x) (rand()%x)
#define random5(x) (fmod(rand()%x))
#define random2(x) (fmod(rand()%x))<br>int main()
{
int R,n,i,r,s,nameround,alpha;
double p,e,in,as,o,M;
i=1;
nameround=0;
alpha=1;
char moonnameA,moonnameB,star[20],planet[20];
moonnameA=97;
moonnameB=97;
cout<<"请输入恒星的名称"<<endl;
cin>>star;
cout<<"请输入行星的名称"<<endl;
cin>>planet;
cout<<"请输入行星的半径"<<endl;
cin>>R;
cout<<"请输入行星的质量(N倍地球)"<<endl;
cin>>M;
cout<<"请输入需要生成的卫星数"<<endl;
cin>>n;<br>freopen ("D:/moon.txt","w",stdout);
while (n>=i)
{
s=2.44*R+random(50*R)
// 还有很多代码,这里不列出了
}