文章目录

  • 前言
  • 功能介绍
  • 结果展示
  • 代码区

前言

第一次写C++,用户界面感觉还行,内部实现不太高级,搞得能看。。。
想发出来留作纪念

功能介绍

这个代码包括一个复数类和四个运算函数,一个用户界面函数和一个功能函数
细节:当复数不足两个时无法进行运算,等等…忘了

结果展示

使用页面

建立复数

复数相加

其他功能诸如此类,不作展示

代码区

由于个人看着头疼所以将其拆开,在此声明这个代码无阉割
复数类

#include<iostream>
#include<stdlib.h>
using namespace std;class Plural {public:Plural(int r, int i);void Display();int Real;    //实部int Imag;   //虚部
};Plural::Plural(int r, int i) {Real = r;Imag = i;
}
void Plural::Display() {cout << "z = " << Real << "+ " << Imag << "i" << endl;
}

全局变量
这就是我说的不高级的地方,我知道可以弄static呀什么的,我就是不会

//全局变量
int n = 1;     //在后面用于辅助p指针
Plural* p[100]; //在后面用于指向复数对象

四则运算
别看我这写的花里胡哨,主要还是为了用户界面好看

//复数相加
void sum(const Plural& z1, const Plural& z2) {cout << "+---------------------------------------+" << endl; cout << "  z1 + z2 = (" << z1.Real << "+ " << z1.Imag << "i) + ("<< z2.Real << "+ " << z2.Imag << "i) = " << z1.Real + z2.Real<< " + " << z1.Imag + z2.Imag << "i" << endl;cout << "+---------------------------------------+" << endl;
}
//复数相减
void sub(const Plural& z1, const Plural& z2) {cout << "+---------------------------------------+" << endl; cout << "  z1 - z2 = (" << z1.Real << "+ " << z1.Imag << "i) - ("<< z2.Real << "+ " << z2.Imag << "i) = " << z1.Real - z2.Real<< " + " << z1.Imag - z2.Imag << "i" << endl;cout << "+---------------------------------------+" << endl;
}
//复数相乘
void mul(const Plural& z1, const Plural& z2) {cout << "+---------------------------------------+" << endl; cout << "  z1 * z2 = (" << z1.Real << "+ " << z1.Imag << "i) * ("<< z2.Real << "+ " << z2.Imag << "i) = " << z1.Real * z2.Real - z1.Imag * z2.Imag<< " + " << z2.Real * z1.Imag + z1.Real * z2.Imag << "i" << endl;cout << "+---------------------------------------+" << endl;
}
//复数相除
void div(const Plural& z1, const Plural& z2) {int rTop = z1.Real * z2.Real + z1.Imag * z2.Imag;int iTop = z2.Real * z1.Imag - z1.Real * z2.Imag;int Down = z2.Real * z2.Real + z2.Imag * z2.Imag;cout << "+----------------------------------------------------+" << endl; cout << "  z1 / z2 = (" << z1.Real << "+ " << z1.Imag << "i) / ("<< z2.Real << "+ " << z2.Imag << "i) = (" << rTop << "/" << Down<< ") + (" << iTop << "/" << Down << ")i " << endl;cout << "+----------------------------------------------------+" << endl;
}

打印菜单

//打印菜单
void makeMenu() {cout << "+---【欢迎使用复变四则运算系统】---+" << endl;cout << "+-----------------+----------------+" << endl;cout << "|   0.退出系统    |   1.输入复数   |" << endl;cout << "+-----------------+----------------+" << endl;cout << "|   2.复数相加    |   3.复数相减   |" << endl;cout << "+-----------------+----------------+" << endl;cout << "|   4.复数相乘    |   5.复数相除   |" << endl;cout << "+-----------------+----------------+" << endl;cout << "请输入指令:";
}

按键交互
与菜单结合食用更香哦

//按键交互
void keyDown() {int key = 0;cin >> key;switch (key) {case 0:cout << "退出成功!" << endl;exit(0);break;case 1:int m_real, m_imag;
//      Plural* p[100];cout << "请依次输入复数的实部和虚部:";cin >> m_real >> m_imag;p[n] = new Plural(m_real, m_imag);//用指针实现复数的调用n++;break;case 2:if (n >= 3) {int n1, n2;cout << "请选择要相加的复数(如:1 2):";cin >> n1 >> n2;sum(*p[n1], *p[n2]);} else cout << "您没有大于两个的复数!" << endl;break;case 3:if (n >= 3) {int n1, n2;cout << "请选择要相减的复数(如:1 2):";cin >> n1 >> n2;sub(*p[n1], *p[n2]);} else cout << "您没有大于两个的复数!" << endl;break;case 4:if (n >= 3) {int n1, n2;cout << "请选择要相乘的复数(如:1 2):";cin >> n1 >> n2;mul(*p[n1], *p[n2]);} else cout << "您没有大于两个的复数!" << endl;break;case 5:if (n >= 3) {int n1, n2;cout << "请选择要相除的复数(如:1 2):";cin >> n1 >> n2;div(*p[n1], *p[n2]);} else cout << "您没有大于两个的复数!" << endl;break;default:cout << "请输入正确指令!" << endl;break;}
}

主函数

int main() {while (1) {makeMenu();keyDown();system("pause");system("cls");}return 0;
}

没啥好讲的,只是为了留作纪念
今天的分享到此结束!

用C++实现复数的四则运算相关推荐

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

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

  2. c语言进行复数的四则运算

    c语言进行复数的四则运算 额..好像没什么好说的直接上代码吧,注意下结构体的用法 #include<stdio.h> struct complex {double re;double im ...

  3. 复数的四则运算(+,-,*,\)

    此程序实现了对复数的加减乘除,输入的是实部和虚部.我分别用了c=a+b和a+=b;两个方法共同实现,代码如下,如果逻辑及代码有遗漏,欢迎随时评论,如果输入3,1则进行3+i和3+i的和为6+2i pu ...

  4. 抽象数据类型的实现(复数的四则运算)

    简单的说一下,我是在DEV C++上实现的复数四则运算.如果学习过JAVA.C++等面向对象高级程序设计语言,那么对抽象数据类型是非常容易理解的.抽象数据类型就类似于java中的类. 废话不多说了直接 ...

  5. 复数类四则运算及插入/提取操作zrx

    在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool.in ...

  6. c语言复数相加的程序,运用C语言编写复数的四则运算.docx

    .. 运用C语言编写复数的四则运算 需求分析 设计一个可进行复数运算的演示程序 实现下列六种基本运算: (1)由于输入的实部和虚部生成一个复数:(2)两个复数求和:(3)两个复数求差:(4)两个复数求 ...

  7. 复数的四则运算——C++实现

    复数的四则运算法则: 加法:(a+bi)+(c+di)=(a+c)+(b+d)i 减法:(a+b)-(c+di)=(a-c)+(b-d)i 乘法:(a+bi)*(c+di)=(ac-bd)+(bc+a ...

  8. 复数的四则运算(C语言实现)

    复数的四则运算 问题描述:设计一个可进行复数运算的演示程序. 基本要求:实现下列七种基本运算:1)由输入的实部和虚部生成一个复数:2)复数的显示:3)两个复数求和:4)两个复数求差:5)两个复数求积: ...

  9. 用Python实现复数的四则运算

    推荐一个刷题网站,体验过一段时间了,真的建议去试试. 对于Python很少有基础题库,牛客针对基础专项出题,目前还出炉了数据分析和机器学习 . 不仅是Python,还有Java.C语言C++.数据库S ...

最新文章

  1. [转载]交换机背板带宽计算方法
  2. Windbg中使用查找内存并设置访问断点
  3. dovecot vsz_limit参造成foxmail、outlook等客户端工具接收邮件有时候报错
  4. 从玉农业智能蔬菜技术 农业大健康·林裕豪:中国金控斥资打造
  5. Hybris产品主数据的价格维护
  6. 【嵌入式系统复习】嵌入式网络与协议栈
  7. ECCV18 | 无监督难分样本挖掘改进目标检测
  8. Highcharts改Y轴的刻度值
  9. 你真的懂语音特征吗?
  10. 来来来!java页面导出数据到excel
  11. ios php 聊天_解析php做推送服务端实现ios消息推送
  12. Java 8 中的 java.util.Optional
  13. php 密匙加密解密,带密匙的php加密解密示例分享
  14. 转DateTimePicker 控件的使用
  15. 求无序数组的中位数(c语言版本)
  16. python羊车门问题的正确解答
  17. 计算机编程年纪大了会被淘汰吗,这些“吃青春饭”的专业,年纪大了容易被淘汰,应届生更受欢迎...
  18. EOS区块链技术开发(二)智能合约
  19. 工程图学及计算机绘图第二版答案,工程图学及计算机绘图第3版答案
  20. win7建立无线wifi热点的几个常见的问题

热门文章

  1. 视频营销3-视频设备清单
  2. 【算法】妙不可言---算法复杂性
  3. 解决运行gazebo时出现“[gazebo-2] process has died [pid 7920, exit code 255.....“的问题
  4. OpenFaaS实战之二:函数入门
  5. hackthebox的网站使用教程
  6. kanban系统wekan安装
  7. 寻找技术KOL | IOST技术征文计划
  8. 郑州大学计算机科学系院长 李,2018年英才计划专家咨询委员会郑州大学调研座谈会圆满举办...
  9. 65. Python中强大灵活的eval函数
  10. 前端代码 录音样式 类似微信发送语音