#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
const float c = 3e11;
#include <iostream>
using namespace std;
class Antenna
{
public:
Antenna(float &f)
{
this->f = f;
this->Lam = c / f;
this->Lamquarter = this->Lam / 4;
}
public:
float Lam;
float Lamquarter;
float f;
};
class AntennaWG
{
public:
AntennaWG(float &f,float &er)
{
this->f = f;
this->er = er;
this->Lam = c / f;
this->Lamquarter = this->Lam / 4;
this->Lamg = this->Lam / sqrt(this->er);
this->Lamgquarter = this->Lamg / 4;
}
public:
float er;
float Lam;
float Lamquarter;
float Lamg;
float Lamgquarter;
float f;
};
int main()
{
while( 1 )
{
unsigned int project;
cout << "------------------------------------------------------------------------" << endl;
cout << "请输入你要计算的项目:" << endl;
cout << "输入1计算自由空间波长及四分之一波长;" << endl;
cout << "输入2计算导波波长和四分之一波长;" << endl;
cin >> project;
cout << endl;
if( (project == 1) || (project == 2) )
{
unsigned int unit;
cout << "请输入你要选择单位:" << endl;
cout << "输入1选择GHz为单位;" << endl;
cout << "输入2选择MHz为单位;" << endl;
cout << "输入3选择KHz为单位;" << endl;
cout << "输入4选择Hz为单位;" << endl;
cin >> unit;
cout << endl;
if( (unit == 1) || (unit == 2)|| (unit == 3) || (unit == 4) )
{
float f;
cout << "输入天线的频率f:" << endl;
cin >> f;
cout << endl;
switch( unit )
{
case 1:
f = f * (1e9); break;
case 2:
f = f * (1e6); break;
case 3:
f = f * (1e3); break;
default:
break;
}
switch( project )
{
case 1:
{
Antenna antenna(f);
cout << "天线的频率f:" << antenna.f << endl;
cout << "天线波长Lam = :" << antenna.Lam << endl;
cout << "天线的1/4波长Lamquarter = :" << antenna.Lamquarter << endl;
break;
}
case 2:
{
float er;
cout << "输入基板的相对介电常数er:" << endl;
cin >> er;
cout << endl;
AntennaWG antennaWG(f, er);
float ANTSimulMdeium = (antennaWG.Lam + antennaWG.Lamg) / 2;
cout << "天线的频率f:" << antennaWG.f << endl;
cout << "输入基板的相对介电常数er:" << antennaWG.er << endl;
cout << "天线波长Lam = :" << antennaWG.Lam << endl;
cout << "天线的1/4波长Lamquarter = :" << antennaWG.Lamquarter << endl;
cout << "天线导波波长Lamg = :" << antennaWG.Lamg << endl;
cout << "天线的1/4导波波长Lamgquarter = :" << antennaWG.Lamgquarter << endl;
break;
}
}
}
else
{
cout << "你小子输入错误了:" << endl;
}
}
else
{
cout << "你小子输入错误" << endl;
continue;
}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)