C语言提供了结构struct数据类型, 用于组织数据。显然, 一个完整的复数是由实部和虚部两部分组成, 可以用结构把密切相关的数据包装成一个集装箱。下面是复数结构类型的定义:

struct COMPLEX {
    double rpart, ipart;
};

定义了COMPLEX类型以后, 就可以把它作为数据类型直接使用了。下面定义了三个复数类型的变量:
COMPLEX a, b, c;

这三个变量都是结构变量, 它们既可以作为一个整体来使用, 也可以操作其中的数据成员。例如:
    a = b; // 把结构变量b的16字节全部内容赋值给a, 使a与b相同
    c.rpart = a.rpart + b.rpart; // 把a的实部与b的实部相加, 结果存入c的实部

下面是完整的程序:

#include <iostream>
using namespace std;

struct COMPLEX {
    double rpart, ipart;
};

int main() {
    COMPLEX a, b, c;
    cout << "a = ? "; cin >> a.rpart >> a.ipart; // 输入第一个复数
    cout << "b = ? "; cin >> b.rpart >> b.ipart; // 输入第二个复数
    c.rpart = a.rpart + b.rpart;
    c.ipart = a.ipart + b.ipart; // 求和
    cout << "c = (" << c.rpart << ", " << c.ipart << ")/n"; // 输出结果
    return 0;
}

假设用户输入的第一复数 3+4i, 第二个复数是 2-5i, 则程序的运行结果如下:

a = ? 3 4
b = ? 2 -5
c = (5, -1)

在这个版本里, 采用了结构体来表示复数数据类型, 整个复数结构共占用16字节内存空间, 每个复数包含实部rpart和虚部ipart两个成员, 它们都是实数, 分别占8字节内存空间, 数据的结构非常清晰。例如复数 3+4i, 在内存的存储结构如下图所示:

COMPLEX

rpart

ipart

3

4


下面介绍用工程的方法来书写程

1-02 C++起步: 用结构组织数据 —— 数据封装初步相关推荐

  1. Python时间序列模型推理预测实战:时序推理数据预处理(特征生成、lstm输入结构组织)、模型加载、模型预测结果保存、条件判断模型循环运行

    Python时间序列模型推理预测实战:时序推理数据预处理(特征生成.lstm输入结构组织).模型加载.模型预测结果保存.条件判断模型循环运行 目录

  2. 【C/C++13】天气APP:数据挖掘/HTTP协议/非结构化数据存储(filetoblob.cpp),数据管理/监控告警(hsmtable.cpp,tbspaceinfo.cpp)

    文章目录 1. 数据挖掘:/etc/rc.local,sudo su 2.HTTP协议:优先wget 3.非结构化数据存储:blob,pzhrain24file 4.数据管理子系统:数据字典表 5.监 ...

  3. 简单树组织数据格式化为标准树组织数据

    概述 在工作中,很多时候会遇到树组织,但是从数据库里面查询出来的结果是一个简单的树组织,这就需要将简单的树组织转换为标准的树组织,以便使用,本文分享一个简单的function来实现简单到标准的转换. ...

  4. 结构化数据和非结构化数据的分析

    结构化数据和非结构化数据的分析 一. 什么是数据 二. 数据的分类 1. 按性质分为 2. 按表现形式分为 3. 按表现形式分为 三. 结构化数据和非结构化数据 1. 什么是结构化数据 2. 什么是非 ...

  5. 详解非结构化数据(文档)安全管理解决方案

    随着互联网技术的日新月异,内容数据逐渐在各行业的业务中占据更重要的地位.日常的业务过程中,需要处理的大量电子文档.图片.音频.视频等,都属于内容数据范畴. 例如,某银行的无人营业网点的远程业务办理中, ...

  6. 非结构化数据怎么存?

    IDC 预测,2018年到2025年间,全球产生的数据量将会从33 ZB增长到175 ZB,其中超过80%为非结构化数据,并且每年将以指数级趋势递增. 数字化汪洋之上,海雾弥漫,遮天蔽日,组织如何冲破 ...

  7. 非结构化数据更需中台,企业内容管理未来走向何方

    人们常言,二十一世纪最有价值的商品就是数据.在数字化的大浪潮下,一切都离不开数据,数据成为各个行业最重要的生产要素.与石油需要提炼之后才能应用到各行各业一样,数据也必须通过加工.整理之后才能发挥价值. ...

  8. Spark(六):SparkSQLAndDataFrames对结构化数据集与非结构化数据的处理

    为什么80%的码农都做不了架构师?>>>    一:简单了解SparkSQL. Spark SQL 是结构化的数据处理一个Spark模块.与基本的Spark RDD API不同,Sp ...

  9. 微软熊辰炎:如何利用图神经网络解决半结构化数据问题?

    对于许多信息检索和知识图谱研究者来说,究竟应该使用抽象的结构化信息进行表示学习还是使用海量的文本信息始终是一个富有争议的话题.在本届智源大会上,来自微软研究院的高级研究员熊辰炎博士带来了题为" ...

最新文章

  1. Android中的颜色
  2. .NET开发的一些积累
  3. 解决 iOS 12.4 Killed: 9 的问题
  4. python创建sqlite数据库表_python数据库sqlite基础(一)-------数据库创建,表的建立,数据录入,数据查询...
  5. vue 监听对象里的特定数据
  6. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
  7. 读图,特征提取——形状
  8. 【Java】用JavaFx实现记事万年历(实验课题目)
  9. 开源生产排程aps(Advanced Planning and Scheduling)软件介绍
  10. angular图片裁剪
  11. 小程序navigateTo失效
  12. 如何在windows上下载安装zeplin
  13. 《激活个体》读书笔记
  14. 软件项目开发整体思路
  15. [M1]Daily Scum 10.8
  16. 应用提交 App Store 上架被拒的原因都有哪些
  17. 【Bandit Algorithms学习笔记】UCB算法的理论证明
  18. H - 找女朋友(快排)
  19. 台灯哪个牌子的比较好保护视力的?国AA照度的护眼台推荐
  20. xbox360链接pc_如何将Xbox One游戏流式传输到Windows 10 PC

热门文章

  1. Android开发常见问题
  2. 保险业务与系统——保险上云解决方案总体架构及应用案例
  3. 第三章 大数据之Hadoop搭建
  4. java实现拿火柴小游戏
  5. 如何做好 PPT(蔡学镛演讲稿)
  6. for循环的语句格式
  7. 判断一个链表是否为回文结构
  8. gpio引脚介绍 树莓派3b_树莓派3B+ GPIO 入门
  9. 关于打开虚拟机vmware镜像就蓝屏(注:主要针对轻薄本本以及高性能游戏本)
  10. jqprint 打印分页