用C++实现复数的四则运算
文章目录
- 前言
- 功能介绍
- 结果展示
- 代码区
前言
第一次写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++实现复数的四则运算相关推荐
- 【C语言】复数的四则运算与复数运算的头文件
目录 一.复数的四则运算 二.复数的头文件#include<complex.h> 三.一些碎碎念 一.复数的四则运算 (1)计算方法 加法:(a+bi)+(c+di)=(a+c)+(c+d ...
- c语言进行复数的四则运算
c语言进行复数的四则运算 额..好像没什么好说的直接上代码吧,注意下结构体的用法 #include<stdio.h> struct complex {double re;double im ...
- 复数的四则运算(+,-,*,\)
此程序实现了对复数的加减乘除,输入的是实部和虚部.我分别用了c=a+b和a+=b;两个方法共同实现,代码如下,如果逻辑及代码有遗漏,欢迎随时评论,如果输入3,1则进行3+i和3+i的和为6+2i pu ...
- 抽象数据类型的实现(复数的四则运算)
简单的说一下,我是在DEV C++上实现的复数四则运算.如果学习过JAVA.C++等面向对象高级程序设计语言,那么对抽象数据类型是非常容易理解的.抽象数据类型就类似于java中的类. 废话不多说了直接 ...
- 复数类四则运算及插入/提取操作zrx
在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool.in ...
- c语言复数相加的程序,运用C语言编写复数的四则运算.docx
.. 运用C语言编写复数的四则运算 需求分析 设计一个可进行复数运算的演示程序 实现下列六种基本运算: (1)由于输入的实部和虚部生成一个复数:(2)两个复数求和:(3)两个复数求差:(4)两个复数求 ...
- 复数的四则运算——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 ...
- 复数的四则运算(C语言实现)
复数的四则运算 问题描述:设计一个可进行复数运算的演示程序. 基本要求:实现下列七种基本运算:1)由输入的实部和虚部生成一个复数:2)复数的显示:3)两个复数求和:4)两个复数求差:5)两个复数求积: ...
- 用Python实现复数的四则运算
推荐一个刷题网站,体验过一段时间了,真的建议去试试. 对于Python很少有基础题库,牛客针对基础专项出题,目前还出炉了数据分析和机器学习 . 不仅是Python,还有Java.C语言C++.数据库S ...
最新文章
- [转载]交换机背板带宽计算方法
- Windbg中使用查找内存并设置访问断点
- dovecot vsz_limit参造成foxmail、outlook等客户端工具接收邮件有时候报错
- 从玉农业智能蔬菜技术 农业大健康·林裕豪:中国金控斥资打造
- Hybris产品主数据的价格维护
- 【嵌入式系统复习】嵌入式网络与协议栈
- ECCV18 | 无监督难分样本挖掘改进目标检测
- Highcharts改Y轴的刻度值
- 你真的懂语音特征吗?
- 来来来!java页面导出数据到excel
- ios php 聊天_解析php做推送服务端实现ios消息推送
- Java 8 中的 java.util.Optional
- php 密匙加密解密,带密匙的php加密解密示例分享
- 转DateTimePicker 控件的使用
- 求无序数组的中位数(c语言版本)
- python羊车门问题的正确解答
- 计算机编程年纪大了会被淘汰吗,这些“吃青春饭”的专业,年纪大了容易被淘汰,应届生更受欢迎...
- EOS区块链技术开发(二)智能合约
- 工程图学及计算机绘图第二版答案,工程图学及计算机绘图第3版答案
- win7建立无线wifi热点的几个常见的问题
热门文章
- 视频营销3-视频设备清单
- 【算法】妙不可言---算法复杂性
- 解决运行gazebo时出现“[gazebo-2] process has died [pid 7920, exit code 255.....“的问题
- OpenFaaS实战之二:函数入门
- hackthebox的网站使用教程
- kanban系统wekan安装
- 寻找技术KOL | IOST技术征文计划
- 郑州大学计算机科学系院长 李,2018年英才计划专家咨询委员会郑州大学调研座谈会圆满举办...
- 65. Python中强大灵活的eval函数
- 前端代码 录音样式 类似微信发送语音