关于复数的常见操作:

1. 创建复数

2. 取实部

3. 取虚部

4. 两个复数相加

5. 两个复数相减

0. 退出

#include<iostream>
using namespace std;int choose = -1;
float x, y, x1, y11, x2, y2;
//Complex C, C1, C2, C3;typedef struct Complex
{float x;   //实部float y;    //虚部
}Complex;//1.构造一个复数
Complex Creat(float x, float y)
{Complex C;C.x = x;C.y = y;return C;
};//2.取复数C=x+yi的实部
float GetReal(Complex C)
{float x1 = C.x;return x1;
}//3.取复数C=x+yi的虚部
float GetImag(Complex C)
{float y11 = C.y;return y11;
}//4.求两个复数C1和C2之和sum
Complex Add(Complex C1, Complex C2)
{Complex C;C.x = C1.x + C2.x;C.y = C1.y + C2.y;return C;
}//5.求两个复数C1和C2的差difference
Complex Sub(Complex C1, Complex C2)
{Complex C;C.x = C1.x - C2.x;C.y = C1.y - C2.y;return C;
}//显示菜单
void show()
{cout << "************************************" << endl;cout << "***      1. 创建复数           *****" << endl;cout << "***      2. 取实部             *****" << endl;cout << "***      3. 取虚部             *****" << endl;cout << "***      4. 两个复数相加       *****" << endl;cout << "***      5. 两个复数相减       *****" << endl;cout << "***      0. 退出               *****" << endl;cout << "************************************" << endl;
}//显示复数
void showComplex(Complex C)
{if (C.y > 0){cout << "复数为:" << C.x << "+" << C.y << "i" << endl;}else if (C.y < 0){cout << "复数为:" << C.x << C.y << "i" << endl;}else{cout << "复数为:" << C.x << endl;}
}void main()
{while (choose != -2){show();  //输出菜单cout << "请选择您要进行的操作" << endl;cin >> choose;   //获取要操作的选项switch (choose){case 1:   //1.构造一个复数{cout << "请分别输入要构造的复数的实部和虚部:" << endl;cin >> x1 >> y11;Complex C = Creat(x1, y11);cout << "您构造的";showComplex(C);break;}case 2:  //取复数C = x + yi的实部{cout << "请分别输入要构造的复数的实部和虚部:" << endl;cin >> x1 >> y11;Complex C = Creat(x1, y11);cout << "您构造的复数的实部为:" << GetReal(C) << endl;break;}case 3:   //取复数C=x+yi的虚部{cout << "请分别输入要构造的复数的实部和虚部:" << endl;cin >> x1 >> y11;Complex C = Creat(x1, y11);cout << "您构造的复数的虚部为:" << GetImag(C) << endl;break;}case 4:   //求两个复数C1和C2之和sum{cout << "请分别输入第一个复数的实部和虚部:" << endl;cin >> x1 >> y11;Complex C1 = Creat(x1, y11);cout << "您构造的第一个";showComplex(C1);cout << "请分别输入第二个复数的实部和虚部:" << endl;cin >> x2 >> y2;Complex C2 = Creat(x2, y2);cout << "您构造的第二个";showComplex(C2);Complex C3 = Add(C1, C2);cout << "两个复数的和的";showComplex(C3);break;}case 5:    //求两个复数C1和C2的差difference{cout << "请分别输入第一个复数的实部和虚部:" << endl;cin >> x1 >> y11;Complex C1 = Creat(x1, y11);cout << "您构造的第一个";showComplex(C1);cout << "请分别输入第二个复数的实部和虚部:" << endl;cin >> x2 >> y2;Complex C2 = Creat(x2, y2);cout << "您构造的第二个";showComplex(C2);Complex C3 = Sub(C1, C2);cout << "两个复数的差的";showComplex(C3);break;}case 0: //退出{system("cls");cout << "已退出,欢迎再次使用" << endl;choose = -2;    //改变choose的值,退出并不在进行循环break;}default:cout << "您输入的选项不在可操作范围内,请重新输入!" << endl;break;}}system("pause");
}

运行结果截图

【C++】编程实现复数运算相关推荐

  1. 【C语言】复数的四则运算与复数运算的头文件

    目录 一.复数的四则运算 二.复数的头文件#include<complex.h> 三.一些碎碎念 一.复数的四则运算 (1)计算方法 加法:(a+bi)+(c+di)=(a+c)+(c+d ...

  2. 蓝桥杯复数运算python

    蓝桥杯复数运算 资源限制 时间限制:1.0s 内存限制:256.0MB  编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间 ...

  3. 电机控制编程的数学运算优化方案

    引言   电机控制应用设计传统上采用微控制器(MCU)或数字信号处理器(DSP)来运行电机控制算法.在研究永磁同步电机(PMSM)矢量控制的时候,坐标变换的三角函数运算.观测器的迭代.锁相环的鉴相环节 ...

  4. 第三章:MATLAB的基础知识(基本符号,数据类型,运算符,复数运算,三角函数运算)

    matlab基础知识 3.1. MATLAB命令的组成 3.1.1. 基本符号 3.1.2. 功能符号 3.1.3. 常用指令 3.2. 数据类型: 3.2.1. 变量与常量 3.2.2. 数值: 3 ...

  5. java程序设计复数运算_Java实现复数运算

    <Java实现复数运算>由会员分享,可在线阅读,更多相关<Java实现复数运算(2页珍藏版)>请在人人文库网上搜索. 1.定义一个复数类complex,它的内部具有两个实例变量 ...

  6. 实训C++语言设计——实现复数运算

    平台:VC++ 2005 测试通过! .vcproj 这是使用应用程序向导生成的 VC++ 项目的主项目文件. 它包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台 ...

  7. c语言 单词变复数_一些复数运算的C语言实现

    1 /*file ComplexCalculation.c2 *author Vincent Cui3 *e-mail whcui1987@163.com4 *version 0.15 *data 2 ...

  8. 【Python】Python里的复数运算

    复数的基本知识不谈,这里只简单介绍一下Python在复数运算中能做什么. 调用的运算代码: z1 = 8 + 9j z2 = 3 + 4j# 实部 print(z1.real)# 虚部 print(z ...

  9. java简单的复数类_Java练习 SDUT-4303_简单的复数运算(类和对象)

    简单的复数运算(类和对象) Time Limit: 2000 ms Memory Limit: 65536 KiB Problem Description 设计一个类Complex,用于封装对复数的下 ...

最新文章

  1. Java 8学习资料汇总
  2. css-padding
  3. Docker,Docker-Compose,Docker Swarm,Kubernetes之间的区别
  4. 各大券商进军人工智能 业内人士:应多措并举促发展
  5. 递归函数(九):最小不动点定理
  6. 10.Mysql数据库导入导出和授权
  7. RuoYi-Cloud 部署篇_03(windows环境 Oracle + nginx版本)
  8. Linux下性能监控工具介绍
  9. 国密SM4对称算法实现说明(原SMS4无线局域网算法标准)
  10. 【STM32开发环境搭建】 - st-link驱动安装和串口驱动安装
  11. win2008计算机无法访问,win2008共享资源无法访问故障的应对措施
  12. 什么是HDMI网线延长器?浅析HDMI1.3网线延长器原理和应用
  13. 豆瓣电影数据可视化项目
  14. win10家庭中文版自动更新解决办法
  15. 【渝粤教育】国家开放大学2018年春季 8639-21T食品营养与健康 参考试题
  16. 如何在几百万qps的网关服务中实现灵活调度策略
  17. 服务器断电后找不到磁盘,服务器断电数据丢失恢复原理和恢复过程
  18. 计算机视觉相关学习项目(上)——附MATLAB源代码
  19. 配置 JAVA_HOME
  20. 第二阶段--团队冲刺--第五天

热门文章

  1. 利用摄像头实现人员活动检测(python+openCV)
  2. 有哪些可以用于语文作文中的高级词汇?
  3. 如何优雅地处理过期订单
  4. 第一天送宇轩去幼儿园
  5. android 电视怎么投屏,手机怎么投屏到电视?原来这么简单
  6. linux usb 全向麦克风,派尼珂USB视频会议全向阵列麦克风NK-OM300U
  7. android自定义曲线控件,Android自定义折线图(可拖动显示)
  8. 顶级域名后缀列表(转)
  9. 让自己分享的网址在QQ中更有逼格
  10. 竞品分析:阿里云 VS 腾讯云,AT的短兵相接