万本电子书0元读

万本电子书0元读

顶部广告

LabVIEW入门与实战开发100例(第3版)电子书

售       价:¥

纸质售价:¥65.50购买纸书

531人正在读 | 4人评论 6.2

作       者:严雨

出  版  社:电子工业出版社

出版时间:2017-01-01

字       数:29.2万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
本书以LabVIEW 8.2版本为讲解对象,系统地介绍了LabVIEW程序设计的理念、关键技术和应用实例。全书从内容上共分为3部分。第1~10章简洁明了地介绍了LabVIEW程序设计所需的基础知识;第11~17章则介绍了实际应用中涉及的具体问题和应用实例;第28~32章为对现实工作和生活中的具体系统的了解和分析。 本书共有100个实例,具有涵盖面广、内容丰富、结构清晰、实用性强的特。本书通过大量实例阐述程序设计中的重要概念和设计步骤,突出了系统完整性和实用性相结合的优。<br/>【作者】<br/>严雨:嵌式发工程师,具有丰富的发经验,曾就职于多家世界知名公司,从事嵌式发工作。对于单片机的学习,融了作者自身多年积累的经验和技巧。<br/>
目录展开

内容简介

前言

第1章 LabVIEW 8.2的基本操作

1.1 【实例 1】基于模板打开一个VI并运行

1.1.1 打开模板VI

1.1.2 窗口介绍

1.1.3 运行模板VI

1.2 【实例 2】基于模板创建一个VI

1.3 【实例 3】编辑前面板

1.3.1 控件选板

1.3.2 工具选板

1.3.3 前面板的编辑

1.4 【实例 4】调试VI

1.5 本章小结

第2章 自定义VI

2.1 【实例 5】简易数值运算

2.1.1 设计目的

2.1.2 程序框图主要功能模块介绍

2.1.3 详细设计步骤

2.2 【实例 6】简单滤除信号噪声

2.2.1 设计目的

2.2.2 程序框图主要功能模块介绍

2.2.3 详细设计步骤

2.3 本章小结

第3章 数组

3.1 【实例 7】创建数组控件

3.1.1 程序框图主要功能模块介绍

3.1.2 详细设计步骤

3.2 【实例 8】创建二维数组

3.3 【实例 9】数组的多态性

3.3.1 程序框图主要功能模块介绍

3.3.2 详细设计步骤

3.4 【实例 10】“数组大小(Array Size)”函数

3.4.1 程序框图主要功能模块介绍

3.4.2 详细设计步骤

3.5 【实例 11】“索引数组(Index Array)”函数

3.5.1 程序框图主要功能模块介绍

3.5.2 详细设计步骤

3.6 【实例 12】“数组插入(Insert into Array)”函数

3.6.1 程序框图主要功能模块介绍

3.6.2 详细设计步骤

3.7 【实例 13】“初始化数组(Initialize Array)”函数

3.7.1 程序框图主要功能模块介绍

3.7.2 详细设计步骤

3.8 本章小结

第4章 簇

4.1 【实例 14】创建簇

4.1.1 程序框图主要功能模块介绍

4.1.2 详细设计步骤

4.2 【实例 15】“捆绑(Bundle)”函数

4.2.1 程序框图主要功能模块介绍

4.2.2 详细设计步骤

4.3 【实例 16】“解除捆绑(Unbundle)”函数

4.3.1 程序框图主要功能模块介绍

4.3.2 详细设计步骤

4.4 【实例 17】“数组/簇转换(Array to Cluster/Cluster to Array)”函数

4.4.1 程序框图主要功能模块介绍

4.4.2 详细设计步骤

4.5 本章小结

第5章 字符串、变量和矩阵

5.1 【实例 18】基本字符串函数的使用

5.1.1 程序框图主要功能模块介绍

5.1.2 详细设计步骤

5.2 【实例 19】“数组/电子表格字符串转换”函数

5.2.1 程序框图主要功能模块介绍

5.2.2 详细设计步骤

5.3 【实例 20】局部变量和全局变量的使用

5.3.1 程序框图主要功能模块介绍

5.3.2 详细设计步骤

5.4 【实例 21】矩阵的基本运算

5.4.1 程序框图主要功能模块介绍

5.4.2 详细设计步骤

5.5 【实例 22】求解线性代数方程

5.5.1 程序框图主要功能模块介绍

5.5.2 详细设计步骤

5.6 本章小结

第6章 程序结构

6.1 【实例 23】For循环

6.1.1 程序框图主要功能模块介绍

6.1.2 详细设计步骤

6.2 【实例 24】While循环

6.2.1 程序框图主要功能模块介绍

6.2.2 详细设计步骤

6.3 【实例 25】顺序结构(Sequence Structure)

6.3.1 程序框图主要功能模块介绍

6.3.2 详细设计步骤

6.4 【实例 26】事件结构(Event Structure)

6.4.1 程序框图主要功能模块介绍

6.4.2 详细设计步骤

6.5 【实例 27】使能结构(Disable Structure)

6.5.1 程序框图主要功能模块介绍

6.5.2 详细设计步骤

6.6 【实例 28】选择结构(Case Structure)

6.6.1 程序框图主要功能模块介绍

6.6.2 详细设计步骤

6.7 【实例 29】公式节点

6.7.1 程序框图主要功能模块介绍

6.7.2 详细设计步骤

6.8 【实例 30】移位寄存器

6.8.1 程序框图主要功能模块介绍

6.8.2 详细设计步骤

6.9 本章小结

第7章 图形化数据显示

7.1 【实例 31】波形图表(Graph)

7.1.1 程序框图主要功能模块介绍

7.1.2 详细设计步骤

7.2 【实例 32】波形图(Waveform)

7.2.1 程序框图主要功能模块介绍

7.2.2 详细设计步骤

7.3 【实例 33】定制波形图表

7.3.1 程序框图主要功能模块介绍

7.3.2 详细设计步骤

7.4 【实例 34】定制波形图

7.4.1 程序框图主要功能模块介绍

7.4.2 详细设计步骤

7.5 【实例 35】XY曲线图

7.5.1 程序框图主要功能模块介绍

7.5.2 详细设计步骤

7.6 【实例 36】强度图(Intensity Graph)

7.6.1 程序框图主要功能模块介绍

7.6.2 详细设计步骤

7.7 【实例 37】三维曲面图

7.7.1 程序框图主要功能模块介绍

7.7.2 详细设计步骤

7.8 本章小结

第8章 人机界面交互设计

8.1 【实例 38】创建登录对话框

8.1.1 设计目的

8.1.2 程序框图主要功能模块介绍

8.1.3 详细设计步骤

8.2 【实例 39】创建主菜单

8.2.1 设计目的

8.2.2 程序框图主要功能模块介绍

8.2.3 详细设计步骤

8.3 【实例 40】自定义控件

8.3.1 设计目的

8.3.2 程序框图主要功能模块介绍

8.3.3 详细设计步骤

8.4 【实例 41】修饰静态界面

8.4.1 设计目的

8.4.2 程序框图主要功能模块介绍

8.4.3 详细设计步骤

8.5 【实例 42】动态交互界面

8.5.1 设计目的

8.5.2 程序框图主要功能模块介绍

8.5.3 详细设计步骤

8.6 本章小结

第9章 文件I/O

9.1 【实例 43】向文件中写入数据

9.1.1 设计目的

9.1.2 程序框图主要功能模块介绍

9.1.3 详细设计步骤

9.2 【实例 44】从文件中读取数据

9.2.1 设计目的

9.2.2 程序框图主要功能模块介绍

9.2.3 详细设计步骤

9.3 【实例 45】写入二进制文件

9.3.1 设计目的

9.3.2 程序框图主要功能模块介绍

9.3.3 详细设计步骤

9.4 【实例 46】写入表单文件

9.4.1 设计目的

9.4.2 程序框图主要功能模块介绍

9.4.3 详细设计步骤

9.5 【实例 47】读取电子表格文件

9.5.1 设计目的

9.5.2 程序框图主要功能模块介绍

9.5.3 详细设计步骤

9.6 【实例 48】向文件中写入波形数据

9.6.1 设计目的

9.6.2 程序框图主要功能模块介绍

9.6.3 详细设计步骤

9.7 本章小结

第10章 子VI与程序调试

10.1 【实例 49】创建子VI

10.1.1 设计目的

10.1.2 程序框图主要功能模块介绍

10.1.3 详细设计步骤

10.2 【实例 50】调用子VI

10.2.1 设计目的

10.2.2 程序框图主要功能模块介绍

10.2.3 详细设计步骤

10.3 本章小结

第11章 数学分析与信号处理

11.1 【实例 51】求商和余数

11.1.1 设计目的

11.1.2 程序框图主要功能模块介绍

11.1.3 详细设计步骤

11.2 【实例 52】数值微积分

11.2.1 设计目的

11.2.2 程序框图主要功能模块介绍

11.2.3 详细设计步骤

11.3 【实例 53】曲线积分

11.3.1 设计目的

11.3.2 程序框图主要功能模块介绍

11.3.3 详细设计步骤

11.4 【实例 54】求解微分方程——单摆运动

11.4.1 设计目的

11.4.2 程序框图主要功能模块介绍

11.4.3 详细设计步骤

11.5 【实例 55】线性代数计算器

11.5.1 设计目的

11.5.2 程序框图主要功能模块介绍

11.5.3 详细设计步骤

11.6 【实例 56】求解多项式函数零点

11.6.1 设计目的

11.6.2 程序框图主要功能模块介绍

11.6.3 详细设计步骤

11.7 【实例 57】曲线拟合

11.7.1 设计目的

11.7.2 程序框图主要功能模块介绍

11.7.3 详细设计步骤

11.8 【实例 58】概率与统计

11.8.1 设计目的

11.8.2 程序框图主要功能模块介绍

11.8.3 详细设计步骤

11.9 【实例 59】取值最优化

11.9.1 设计目的

11.9.2 程序框图主要功能模块介绍

11.9.3 详细设计步骤

11.10 【实例 60】MathScript节点实现信号分析

11.10.1 设计目的

11.10.2 程序框图主要功能模块介绍

11.10.3 详细设计步骤

11.11 【实例 61】信号生成

11.11.1 设计目的

11.11.2 程序框图主要功能模块介绍

11.11.3 详细设计步骤

11.12 【实例 62】计算信号归一化频率

11.12.1 设计目的

11.12.2 程序框图主要功能模块介绍

11.12.3 详细设计步骤

11.13 【实例 63】测量信号幅值和电平

11.13.1 设计目的

11.13.2 程序框图主要功能模块介绍

11.13.3 详细设计步骤

11.14 【实例 64】信号的瞬态特性测量

11.14.1 设计目的

11.14.2 程序框图主要功能模块介绍

11.14.3 详细设计步骤

11.15 【实例 65】单边傅里叶变换

11.15.1 设计目的

11.15.2 程序框图主要功能模块介绍

11.15.3 详细设计步骤

11.16 【实例 66】双边傅里叶变换

11.16.1 设计目的

11.16.2 程序框图主要功能模块介绍

11.16.3 详细设计步骤

11.17 【实例 67】平滑窗

11.17.1 设计目的

11.17.2 程序框图主要功能模块介绍

11.17.3 详细设计步骤

11.18 【实例 68】汉明(Hamming)窗

11.18.1 设计目的

11.18.2 程序框图主要功能模块介绍

11.18.3 详细设计步骤

11.19 【实例 69】提取正弦波

11.19.1 设计目的

11.19.2 程序框图主要功能模块介绍

11.19.3 详细设计步骤

11.20 【实例 70】逐点分析滤波器

11.20.1 设计目的

11.20.2 程序框图主要功能模块介绍

11.20.3 详细设计步骤

11.21 本章小结

第12章 数据采集和仪器控制

12.1 【实例 71】单通道单点采样

12.1.1 设计目的

12.1.2 程序框图主要功能模块介绍

12.1.3 详细设计步骤

12.2 【实例 72】采集波形

12.2.1 设计目的

12.2.2 程序框图主要功能模块介绍

12.2.3 详细设计步骤

12.3 【实例 73】单通道单点输出

12.3.1 设计目的

12.3.2 程序框图主要功能模块介绍

12.3.3 详细设计步骤

12.4 【实例 74】生成波形

12.4.1 设计目的

12.4.2 程序框图主要功能模块介绍

12.4.3 详细设计步骤

12.5 【实例 75】VISA函数

12.5.1 设计目的

12.5.2 程序框图主要功能模块介绍

12.5.3 详细设计步骤

12.6 【实例 76】LabVIEW 8.2与GPIB通信

12.6.1 设计目的

12.6.2 程序框图主要功能模块介绍

12.6.3 详细设计步骤

12.7 【实例 77】使用NI-DAQmx VI创建任务

12.7.1 设计目的

12.7.2 详细设计步骤

12.8 【实例 78】使用DAQ Assistant创建任务

12.8.1 设计目的

12.8.2 程序框图主要功能模块介绍

12.8.3 详细设计步骤

12.9 本章小结

第13章 Express VIs

13.1 【实例 79】利用Express VI创建数值比较实例

13.1.1 设计目的

13.1.2 程序框图主要功能模块介绍

13.1.3 详细设计步骤

13.2 【实例 80】利用Express VI实现刻度标示变换

13.2.1 设计目的

13.2.2 程序框图主要功能模块介绍

13.2.3 详细设计步骤

13.3 【实例 81】利用Express VI进行信号选择

13.3.1 设计目的

13.3.2 程序框图主要功能模块介绍

13.3.3 详细设计步骤

13.4 本章小结

第14章 【实例 82】获取系统当前时间

14.1 设计目的

14.2 程序框图主要功能模块介绍

14.2.1 “获取日期/时间(秒)”函数

14.2.2 “格式化日期/时间字符串”函数

14.2.3 结果显示部分

14.3 详细设计步骤

14.3.1 前面板的设计

14.3.2 程序框图的设计

14.3.3 运行结果

14.4 本章小结

第15章 【实例 83】创建右键快捷菜单

15.1 设计目的

15.2 程序框图主要功能模块介绍

15.2.1 While循环模块

15.2.2 用户界面事件响应模块

15.2.3 摄氏—华氏公式转换模块

15.2.4 摄氏—华氏转换显示模块

15.3 详细设计步骤

15.3.1 前面板的设计

15.3.2 程序框图的设计

15.3.3 运行结果

15.4 本章小结

第16章 【实例 84】数字示波器

16.1 设计目的

16.2 程序框图主要功能模块介绍

16.2.1 触发器功能块

16.2.2 通道选择功能块

16.2.3 水平分度调节功能块

16.2.4 幅值分度调节功能块

16.2.5 相位分析功能块

16.2.6 功率估计功能块

16.2.7 波形显示功能块

16.3 详细设计步骤

16.3.1 前面板设计

16.3.2 触发电平(Slope)子VI的设计

16.3.3 触发器(Trigger)子VI的设计

16.3.4 通道选择(Select Channel)子VI的设计

16.3.5 功率估计子VI的设计

16.3.6 相位分析子VI的设计

16.3.7 选择功能的实现

16.3.8 水平分度调节处理功能块的设计

16.3.9 幅值分度调节处理功能块的设计

16.3.10 完整程序框图

16.3.11 运行结果

16.4 本章小结

第17章 【实例 85】触发计数器

17.1 设计目的

17.2 程序框图主要功能模块介绍

17.2.1 “触发与门限”函数

17.2.2 “统计”函数

17.3 详细设计步骤

17.3.1 创建一个新的VI

17.3.2 添加仿真信号

17.3.3 添加“触发与门限”函数

17.3.4 进行统计计数

17.3.5 完整程序框图

17.3.6 运行结果

17.4 本章小结

第18章 【实例 86】基本函数发生器

18.1 设计目的

18.2 程序框图主要功能模块介绍

18.2.1 基本函数发生器函数模块

18.2.2 While循环模块

18.3 详细设计步骤

18.3.1 创建一个新的VI

18.3.2 配置基本函数发生器

18.3.3 完整程序框图

18.3.4 前面板界面布局

18.3.5 运行结果

18.4 本章小结

第19章 【实例 87】对高斯噪声的统计分析

19.1 设计目的

19.2 程序框图主要功能模块介绍

19.2.1 仿真信号生成模块

19.2.2 统计函数模块

19.2.3 “创建直方图”函数

19.3 详细设计步骤

19.3.1 创建一个新的VI

19.3.2 添加信号源

19.3.3 对信号进行统计分析

19.3.4 创建柱状图

19.3.5 完整程序框图

19.3.6 运行结果

19.4 本章小结

第20章 【实例 88】信号的功率谱测量

20.1 设计目的

20.2 程序框图主要功能模块介绍

20.2.1 “正弦波形”函数

20.2.2 “高斯白噪声波形”函数

20.2.3 “FFT功率谱”函数

20.3 详细设计步骤

20.3.1 创建一个新的VI

20.3.2 产生添加了噪声的正弦信号

20.3.3 前面板的设计

20.3.4 功率谱测量程序框图

20.3.5 完整程序框图

20.3.6 运行结果

20.4 本章小结

第21章 【实例 89】低通滤波器设计

21.1 设计目的

21.2 程序框图主要功能模块介绍

21.2.1 测试信号生成模块

21.2.2 滤波功能模块

21.2.3 频谱分析模块

21.2.4 While循环模块

21.2.5 结果显示模块

21.3 详细设计步骤

21.3.1 创建一个新的VI

21.3.2 产生信号源

21.3.3 低通滤波

21.3.4 进行频谱分析

21.3.5 完整程序框图

21.3.6 运行结果

21.4 本章小结

第22章 【实例 90】火车轮状态的实时监控

22.1 设计目的

22.2 程序框图主要功能模块介绍

22.2.1 “Butterworth滤波器(逐点)”函数

22.2.2 “数组最大值与最小值(逐点)”函数

22.2.3 “布尔值转换(逐点)”函数

22.2.4 条件结构

22.3 详细设计步骤

22.3.1 创建一个新的VI

22.3.2 构建仿真数据数组

22.3.3 Butterworth滤波处理

22.3.4 峰值检测

22.3.5 完整程序框图

22.3.6 运行结果

22.4 本章小结

第23章 【实例 91】温度分析仪

23.1 设计目的

23.2 程序框图主要功能模块介绍

23.2.1 数字温度计子VI模块

23.2.2 “数组最大值与最小值”函数

23.2.3 “均值”函数

23.2.4 簇捆绑函数(控件)

23.3 详细设计步骤

23.3.1 数字温度计子VI的设计

23.3.2 前面板的设计

23.3.3 温度数据采集

23.3.4 温度分析

23.3.5 完整程序框图设计

23.3.6 运行结果

23.4 本章小结

第24章 【实例 92】高级谐波分析仪

24.1 设计目的

24.2 程序框图主要功能模块介绍

24.2.1 测试信号子VI

24.2.2 “谐波失真分析”函数

24.2.3 “简易错误处理器”函数

24.3 详细设计步骤

24.3.1 创建一个新的VI

24.3.2 编写测试信号子VI

24.3.3 添加“谐波失真分析”函数

24.3.4 完成前面板的设计

24.3.5 运行结果

24.4 本章小结

第25章 【实例 93】电话按键声音模拟器

25.1 设计目的

25.2 程序框图主要功能模块介绍

25.2.1 “创建路径”函数

25.2.2 “播放声音文件”函数

25.2.3 “数值至十进制数字符串转换”函数

25.3 详细设计步骤

25.3.1 创建一个新的VI

25.3.2 前面板的设计

25.3.3 电话按键声音模拟和键值显示

25.3.4 完整程序框图

25.3.5 运行结果

25.4 本章小结

第26章 【实例 94】回声产生器

26.1 设计目的

26.2 程序框图主要功能模块介绍

26.2.1 回声产生器功能模块

26.2.2 While循环功能模块

26.3 详细设计步骤

26.3.1 创建一个新的VI

26.3.2 回声产生模块程序设计

26.3.3 完整程序框图

26.3.4 运行结果

26.4 本章小结

第27章 【实例 95】回声探测器

27.1 设计目的

27.2 程序框图主要功能模块介绍

27.2.1 回声产生子VI功能模块

27.2.2 回声探测功能模块

27.2.3 结果显示功能模块

27.2.4 While循环功能模块

27.3 详细设计步骤

27.3.1 创建回声产生子VI

27.3.2 前面板的设计

27.3.3 回声探测程序框图设计

27.3.4 完整程序框图

27.3.5 运行结果

27.4 本章小结

第28章 【实例 96】信号的发生与处理综合实例

28.1 设计目的

28.2 程序框图主要功能模块介绍

28.2.1 产生原始信号子VI模块

28.2.2 窗函数滤波模块

28.2.3 FFT功率谱函数模块

28.2.4 波形最大最小值函数模块

28.2.5 活动游标控件模块

28.3 详细设计步骤

28.3.1 产生原始信号子VI

28.3.2 前面板的设计

28.3.3 产生原始信号

28.3.4 添加“FIR加窗滤波器”函数

28.3.5 添加“FFT功率谱”函数

28.3.6 添加“波形最大最小值”函数

28.3.7 游标设置

28.3.8 完整程序框图

28.3.9 运行结果

28.4 本章小结

第29章 【实例 97】双通道频谱测量的滤波器设计

29.1 设计目的

29.2 程序框图主要功能模块介绍

29.2.1 测试信号生成模块

29.2.2 “双通道谱测量”VI

29.2.3 “信号掩区和边界测试”VI

29.2.4 “滤波器”VI

29.2.5 设置截止频率子VI模块

29.2.6 处理结果显示部分

29.3 详细设计步骤

29.3.1 创建截止频率设置子VI

29.3.2 前面板的设计

29.3.3 产生仿真信号

29.3.4 信号滤波

29.3.5 信号的双通道谱测量

29.3.6 检测信号

29.3.7 程序框图中数据流的传输

29.3.8 完整程序框图

29.3.9 运行结果

29.4 本章小结

第30章 【实例 98】微处理器冷却装置的实时监控

30.1 设计目的

30.2 微处理器冷却装置实时监控系统的运行

30.3 程序框图主要功能介绍

30.3.1 系统的总体框架

30.3.2 初始化和整体参数设定功能块

30.3.3 输入阶段功能块

30.3.4 计算阶段功能块

30.3.5 输出阶段功能块

30.3.6 微处理器温度控制模拟子VI

30.3.7 微处理器温度记录子VI

30.3.8 定时参数时序图更新子VI

30.3.9 风扇运行状态计算子VI

30.4 微处理器冷却装置实时监控系统的设计步骤

30.4.1 前面板的设计

30.4.2 PAC-IO with Fan Status子VI的创建

30.4.3 Temp. Logger子VI的创建

30.4.4 Update Timing Diagram子VI的创建

30.4.5 Fan Computation子VI的创建

30.4.6 程序总体框架的处理

30.4.7 “定时循环”结构的输入和初始化

30.4.8 输入阶段的处理过程

30.4.9 计算阶段的处理过程

30.4.10 输出阶段的处理过程

30.4.11 添加程序注释和说明

30.5 本章小结

第31章 【实例 99】脉冲及瞬态测量控件设计

31.1 设计目的

31.2 程序框图主要功能模块介绍

31.2.1 仿真波形生成

31.2.2 瞬态特性测量

31.2.3 脉冲测量

31.2.4 周期平均值和均方根

31.2.5 幅值和电平

31.2.6 波形图缩放功能

31.2.7 波形图显示功能

31.3 详细设计步骤

31.3.1 生成基本波形和噪声波形

31.3.2 仿真波形的生成和显示

31.3.3 瞬态测量程序块

31.3.4 脉冲测量程序块

31.3.5 周期平均值和均方根程序块

31.3.6 幅值和电平测量程序块

31.3.7 完整的程序框图

31.4 本章小结

第32章 【实例 100】数据采集系统的设计

32.1 设计目的

32.2 数据采集系统相关介绍

32.2.1 测试过程介绍

32.2.2 测试参数分析

32.3 系统前面板的开发

32.3.1 创建新的虚拟仪器(VI)

32.3.2 系统选项卡控件

32.3.3 修饰图案

32.3.4 系统下拉列表

32.3.5 数值输入控件

32.3.6 文件路径输入控件

32.3.7 布尔控件

32.3.8 波形图表控件

32.3.9 系统单选控件

32.3.10 旋钮控件

32.3.11 温度计控件

32.3.12 仪表控件

32.3.13 多列列表框控件

32.4 程序框图设计

32.4.1 顺序结构

32.4.2 数据采集装置的参数设置

32.4.3 冷端补偿通道

32.4.4 电压信号采集模块

32.4.5 数据采集和处理模块

32.4.6 数据显示与保存模块

32.4.7 程序运行控制模块

32.5 本章小结

参考文献

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部