社区
下载资源悬赏专区
帖子详情
相量与复数相转换的计算器下载
AI100_小助手
2018-09-24 08:49:54
本工具实现了相量与复数的转换,输出格式精确到小数点后两位数
相关下载链接:
//download.csdn.net/download/qq_35370981/10683873?utm_source=bbsseo
...全文
289
回复
打赏
收藏
相量与复数相转换的计算器下载
本工具实现了相量与复数的转换,输出格式精确到小数点后两位数 相关下载链接://download.csdn.net/download/qq_35370981/10683873?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
相
量
与
复数
相
转换
的
计算器
本工具实现了
相
量
与
复数
的
转换
,输出格式精确到小数点后两位数 本工具实现了
相
量
与
复数
的
转换
,输出格式精确到小数点后两位数
计算器
实现
复数
的
转换
在电路课程中的
相
量
法及以后的学习中要用到
计算器
实现
相
量
与
复数
的
转换
计算,此文档简明介绍该方法
掰开揉碎『看漫画学Python』上
—— 实现两个模块间的代码元素访问 2.8 练一练 第3章 数字类型的数据 3.1 Python中的数据类型 3.2 整数类型 3.3 浮点类型 3.4
复数
类型 3.5 布尔类型 3.6 数字类型的
相
互
转换
3.6.1 隐式类型的
转换
3.6.2 显式类型...
C++ 小型
复数
计算器
#include #include #include #include #include #include #define EPS 1e-5 //定义精度常数 using namespace std; //使用标准空间命名std namespace NameCComplex //定义命名空间NameCComplex { class CComplex ////定义一个CComplex类 { private: double Real,Image; public: CComplex(double real=0,double image=0) //构造函数 { Real=real; Image=image; } friend istream & operator>>(istream &is,CComplex &com); //重载输入 friend ostream & operator<(CComplex &com); int operator(CComplex &com) //重载运算符">",比较模的大小 { if(mod()>com.mod()) return 1; else return 0; } int CComplex::operator<(CComplex &com) { if(mod()>(istream &is,CComplex &com) //重载输入,可以输入a+bi的形式 { cout<>s; //用字符串的形式接受
复数
int len=strlen(s); //求出字符串的长度 int n=0,sign=1; //n为当前从字符串中提取出来的数字,初始化为0;sign是难道符号,初始化为正 com.Image=com.Real=0; for(int k=0;k
转换成数字数值 { n=n*10+s[k]-'0'; k++; } } if(s[len-1]!='i' && n!=0) //如果最后一个字符不是'I',表示
复数
对象内只有实部,没有虚部 { com.Real=n*sign; } return is; } ostream & operator<<(ostream &os,CComplex &com) //重载输入 { if(fabs(com.Image)
相加 sum.Image=Image+com.Image; //虚部
相
加 return sum; } CComplex CComplex::operator*(CComplex &com) //乘法重载 { CComplex multi; multi.Real=Real*com.Real-Image*com.Image; //乘积实部 multi.Image=Real*com.Image+Image*com.Real; //乘积虚部 return multi; } CComplex CComplex::operator-(CComplex &com) //减法重载 { CComplex sub; sub.Real=Real-com.Real; sub.Image=Image-com.Image; return sub; } CComplex CComplex::operator+=(CComplex &com) //重载加法赋值 { Real=Real+com.Real; Image=Image+com.Image; return *this; } CComplex CComplex::operator-=(CComplex &com) //重载减法赋值 { Real=Real-com.Real; Image=Image-com.Image; return *this; } CComplex CComplex::operator*=(CComplex &com) //重载乘法赋值 { double nReal=Real*com.Real-Image*com.Image; double nImage=Real*com.Image+Image*com.Real; Real=nReal; Image=nImage; return *this; } int CComplex::operator==(CComplex &com) //重载等于 { if(Real==com.Real && Image==com.Image) return 1; else return 0; } void Test(void) //测试函数 { user.nTest++; cout<<"共10道题,做100以内的加减运算,满分100分:\n"; double real1,real2,image1,image2,real3,real4,image3,image4; CComplex answer,temp; int score=0; char op; for(int i=0;i<=9;i++) { /////为
复数
产生随机值 real1=rand()%200-100; image1=rand()%200-100; real2=rand()%200-100; image2=rand()%200-100; CComplex a(real1,image1),b(real2,image2); real3=rand()%20-10; image3=rand()%20-10; real4=rand()%20-10; image4=rand()%20-10; CComplex c(real3,image3),d(real4,image4); op=rand()%3; //产生随机加减乘法运算的三个值 switch(op) { case 0: answer=a+b; cout<
temp; //输入用户计算值 if(answer==temp) //比较用户计算值 { score+=10; } else { cout<<"此题做错了\n"; cout<<"正确答案为:"<
复数加法运算函数 { user.nAdd++; CComplex num1,num2,sum,Zero(0,0); cout<<"加法计算\n"<<"最少输入两个
复数
,并且以0结束\n"; cout<>num1; cout<>num2; sum=num1+num2; cout<>num1; int i=4; while(!(num1==Zero)) { sum=sum+num1; cout<<"第"<
num1; i++; } cout<<"加法结果是:"<
复数减法预算函数 { user.nSub++; CComplex num1,num2,sub,Zero(0,0); cout<<"最少输入两个
复数
,并且以0结束\n"; cout<>num1; cout<>num2; sub=num1-num2; cout<>num1; int i=4; while(!(num1==Zero)) { sub=sub-num1; cout<<"第"<
num1; i++; } cout<<"减法结果是:"<
复数乘积函数 { user.nMul++; CComplex num1,num2,mul,Zero(0,0); cout<<"乘法计算\n"<<"最少输入两个
复数
,并且以零结束\n"; cout<>num1; cout<>num2; mul=num1*num2; cout<>num1; int i=4; while(!(num1==Zero)) { mul*=num1; cout<<"第"<
num1; i++; } cout<<"乘法结果是:"<
num1; ++num1; cout<<"自加的结果为"<
num1; --num1; cout<<"自减的结果为"<
复数比较函数 { CComplex num1,num2; cout<<"输入两个
复数
\n"; cout<>num1; cout<>num2; if(num1==num2) cout
复数的模
相
等\n"; cout<<"按任意键继续\n"; cin.get(); cin.get(); } void userprint() //输出用户信息函数 { cout<
复数
计算器
!"; userprint(); cin.get(); infile.close(); return; } infile.read((char *) &user1,sizeof(User)); } cout<<"欢迎您再次使用
复数
计算器
!"; strcpy(user.szName,szName); user.nTime++; infile.close(); return; } void SaveFile() //用户资料保存函数 { userprint(); fstream file; User user1; file.open("user.dat",ios::binary|ios::in|ios::out); if(!file) { cout<<"文件打开错误,不能进行更新!\n"; return; } file.seekp(0,ios::beg); while(!file.eof()) { file.read((char *)&user1,sizeof(User)); if(strcmp(user1.szName,user.szName)==0) { file.seekp(-(sizeof(User)),ios::cur); file.write((char *)&user,sizeof(User)); file.close(); return; } } file.close(); fstream outfile; outfile.open("user.dat",ios::binary|ios::app); outfile.write((char *)&user,sizeof(User)); outfile.close(); return; } } using namespace NameCComplex; int main(void) //主函数开始 { srand(time(NULL)); //初始化随机数“种子”语句 Login(); //当前用户信息函数 char strChoise[20]; //定义字符串名 do { system("cls"); cout<<"\t这是一个简单的
复数
计算器
程序,可以实现以下功能,请按对应的按键(1-7)\n\n\n"; cout<<"\t=========================MENU===========================\n"; cout<<"\t1:多
复数
加法,以0结束\n"; cout<<"\t2:多
复数
减法,以0结束\n"; cout<<"\t3:测试100以内的
复数
加减乘法运算,1次测试10道题\n"; cout<<"\t4:多
复数
乘法,以0结束\n"; cout<<"\t5:
复数
自加\n:"; cout<<"\t6:
复数
自减\n:"; cout<<"\t7:
复数
比较\n:"; cout<<"\t0:退出程序\n\n:"; cout<>strChoise; if(strcmp(strChoise,"1")==0) //用户选1则调用Add()函数 Add(); else if(strcmp(strChoise,"2")==0) //用户选2则调用Sub()函数 Sub(); else if(strcmp(strChoise,"3")==0) //用户选3则调用Test()函数 Test(); else if(strcmp(strChoise,"4")==0) //用户选4则调用Add()函数 Mul(); else if(strcmp(strChoise,"5")==0) //用户选5调用Add1()函数 Add1(); else if(strcmp(strChoise,"6")==0) //用户选6则调用Sub1()函数 Sub1(); else if(strcmp(strChoise,"7")==0) //用户选7则调用Compare()函数 compare(); else if(strcmp(strChoise,"0")==0) //用户选0则结束调用函数 { cout<<"\n\n\t欢迎下次继续使用
复数
计算器
!\n\n"; break; } else { cout<<"\n\t输入错误,请按任意键继续!\n"; cin.get(); cin.get(); } } while((strcmp(strChoise,"0"))); SaveFile(); //调用用户资料保存函数 return 0; }
编译型
复数
表达式
计算器
由于在最近的一个项目中需要用到
复数
表达式的计算,计算的特点是:对于同一个公式需要进行重复多次的计算,每次计算时只需要变换公式中的某些变量的值。于是花了点时间写了个编译型的
复数
表达式
计算器
,该
计算器
的核心思想是对一个字符串编译一次,
转换
为一个计算序列,计算时不再分析字符串,直接按照计算序列计算。例如:1+2*5,可以
转换
为类似下面的计算序列:
1、数值1赋值到临时变量1
2、数值2赋值到临时变量2
3、数值5赋值到临时变量3
4、临时变量2等于临时变量2乘以临时变量5
5、临时变量1等于临时变量1加上临时变量2
6、返回临时变量1
这样在多次重复计算是就省去了编译的过程,提高了效率。
基于以上思想我编写了这个编译型
复数
表达式
计算器
。
该
计算器
提供了多种
复数
计算函数,支持变量(变量在表达式中以大写的V开头),支持多行表达式,表达式之间用分号";"间隔。例如您可以这样写计算表达式:
V0=12+i;
V1=V0*V0;
log(V1);
计算的结果为4.976734 + 0.166282i。
支持常量e和pi,例如表达式e^pii的计算结果为-1.000000 + 0.000000i。支持的运算符有-(负号)、+、-、*、/、^(幂运算符)、=、(、)、i(虚数定义符);支持的函数有abs, arg, conj, real, imag, norm, exp, log, log10, sqrt, sin, cos, sinh, cosh, tan, tanh
下载资源悬赏专区
12,806
社区成员
12,340,782
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章