上海交通大学:《C++程序设计与实践》课程教学资源(讲义)方波生成器项目报告书

方波生成器 项目报告书 课程:C++ 专业年级:12级机械动力类 姓 名:陈玉帛 学 号: 5120209040 指导教师: 何其昌 2013年12月12
方波生成器 项目报告书 课 程: C++ 专业年级: 12 级机械动力类 姓 名: 陈玉帛 学 号: 5120209040 指导教师: 何其昌 2013 年 12 月 12

目录 1问题定义与可行性研究… …3 1.1问题定义 3 1.2可行性研究… .3 2需求分析.… 2.1功能需求 .5 2.1.1功能描述 5 2.1.2功能示意图… 5 2.2性能需求.… 10 3概要设计与详细设计 11 3.1概要设计 11 3.2详细设计… ,11 4系统实现与单元测试… …12 4.1源程序代码 12 4.2单元测试效果图 .27 5总结… etteee,32 参考文献32
目 录 1 问题定义与可行性研究........................................................3 1.1 问题定义.......................................................................3 1.2 可行性研究...................................................................3 2 需求分析................................................................................ 4 2.1 功能需求.......................................................................5 2.1.1 功能描述............................................................. 5 2.1.2 功能示意图......................................................... 5 2.2 性能需求.....................................................................10 3 概要设计与详细设计..........................................................11 3.1 概要设计.....................................................................11 3.2 详细设计.....................................................................11 4 系统实现与单元测试..........................................................12 4.1 源程序代码.................................................................12 4.2 单元测试效果图.........................................................27 5 总结...................................................................................... 32 参考文献.................................................................................... 32

1问题定义与可行性研究 本章分两部分,问题定义和可行性研究。问题定义阶段主要研究 我们所学的知识能做什么项目,而可行性研究给出了制作方波生成器 的可行性。 1.1问题定义 通过开发方波生成器来练习本学期所学过的知识:例如,从最基 本的C++程序语句,格式,再逐步到函数的应用,数组的应用,文件 的操作,类的应用,最后应用微软公司提供的一个类库:MFC,掌握 MC操作和使用的基本方法 1.2可行性研究 通过本本学期知识的学习已具备开发一款方波生成器的能力, 基本原理构造一个函数,利用sin函数组成方波函数,该方波生 成器可以调节方波的频率,幅值和实际用sn组合的阶数
1 问题定义与可行性研究 本章分两部分,问题定义和可行性研究。问题定义阶段主要研究 我们所学的知识能做什么项目,而可行性研究给出了制作方波生成器 的可行性。 1.1 问题定义 通过开发方波生成器来练习本学期所学过的知识:例如,从最基 本的 C++程序语句,格式,再逐步到函数的应用,数组的应用,文件 的操作,类的应用,最后应用微软公司提供的一个类库:MFC,掌握 MFC 操作和使用的基本方法 1.2 可行性研究 通过本本学期知识的学习已具备开发一款方波生成器的能力, 基本原理构造一个函数,利用 sin 函数组成方波函数,该方波生 成器可以调节方波的频率,幅值和实际用 sin 组合的阶数

2需求分析 本章给出了方波生成器应该具备的功能,并给出了功能示意图, 最后提出了实现该方波生成器应该具备的条件。 2.1功能需求 2.1.1功能描述 (I)利用sin函数组成方波函数 方波函数可以有多个sin函数总成,sin函数阶数越多,方波越接近 真实方波. (2)通过调节模块可以改变方波的频率。 (3)通过调节模块可以改变方波的幅值。 (4)通过勾选模块可以调节是否绘制方波。 (⑤)通过坐标网格可以对方波相关参数进行测算。 (6)通过存盘按钮可以保存波形图片
2 需求分析 本章给出了方波生成器应该具备的功能,并给出了功能示意图, 最后提出了实现该方波生成器应该具备的条件。 2.1 功能需求 2.1.1 功能描述 (1)利用 sin 函数组成方波函数 方波函数可以有多个 sin 函数总成,sin 函数阶数越多,方波越接近 真实方波. (2)通过调节模块可以改变方波的频率。 (3)通过调节模块可以改变方波的幅值。 (4)通过勾选模块可以调节是否绘制方波。 (5)通过坐标网格可以对方波相关参数进行测算。 (6)通过存盘按钮可以保存波形图片

2.1.2功能示意图 各模块间的调用关系如下图: (1)绘制方波 开始 标曲线是 否不选中 结束 绘制1500毫秒. 获取CDC指针 2000毫秒的低 电平 生成方波画笔 绘制下降沿 加载国笔 绘制高电平 绘制0毫秒-500 秒的低电平 绘制上升沿
2.1.2 功能示意图 各模块间的调用关系如下图: (1)绘制方波

(2)合成方波 开如 生成曲线是 否不选中 结束 Y 计算需要绘制 的点数 逐点绘制 为坐标点分配 生成合成波画 空间 笔 <<绘制点数 获取CDC指针 计算该点对应 i+t 的时间 计算该点得坐 调用合成公式 标 计算幅值
(2)合成方波

(3)绘制坐标轴 开始 获取CDC指针 生成内部网格 生成坐标轴西 画笔 笔 加载坐标轴面 加载网格画笔 笔 绘制与Y轴平 绘制坐标轴 行的网格线 绘制与Y轴平 行的网格线 绘制刻度线 绘制与X轴平 行的网格线 绘制刻度值 绘制与X轴平 行的网格线 结束
(3)绘制坐标轴

4)界面绘制总流程 开始 绘制坐标系 是否是首次会 制 结束 N 绘制方波 绘制合成波
4)界面绘制总流程

(5)文件保存 开始 获取当前窗口 的大小 获取当期窗口 的HDC指针 创建位图,并 与窗口HDC指 针关联 生成当前窗口 指对应的内存 指针 内存指针与位 图指针绑定 将界面上的图 像信息抓屏幅 值到内存 输出到C盘文件 中,名字用当 前时间命名 释放各种DC指 针 结束
(5)文件保存

2.2 性能需求 本项目是一个方波生成器,运行环境为VC++2010,项目运行速 率正常,可以满足用户需求。 1、时间特性要求:响应时间要低于5秒 2、便捷性:运用了可视化编程,调节简单,可以随时存储,有助于 人机交互,更人性化。程序的运行,符合正常的操作习惯,程序 功能明了简洁!
2.2 性能需求 本项目是一个方波生成器,运行环境为 VC++2010,项目运行速 率正常,可以满足用户需求。 1、时间特性要求:响应时间要低于 5 秒 2、便捷性:运用了可视化编程,调节简单,可以随时存储,有助于 人机交互,更人性化。程序的运行,符合正常的操作习惯,程序 功能明了简洁!
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第8讲 Windows应用程序设计.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第7讲 C++类(2/2).pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第6讲 C++类(1/2).pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第5讲 指针与引用.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第4讲 数组与结构.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第3讲 函数与结构化程序设计.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第2讲 C++程序的流程控制.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(讲稿)第1讲 C++语言概述及数据类型(何其昌).pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(课件讲稿)总复习(共八讲).pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(学习资料)基于MFC的对话框程序.pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(学习资料)C++练习(答案).pdf
- 上海交通大学:《C++程序设计与实践》课程教学资源(学习资料)C++练习(题目).pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Something You Should Know.pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Lecture10 ALGORITHM DESIGN AND ANALYSIS To the Classic.pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Lecture09 SIMULATION AND DESIGN Real-world problem.pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Lecture08 DATA COLLECTION Massive data representation and processing.pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Lecture07 OBJECT ORIENTED DEVELOPMENT Class and Object.pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Lecture06 OBJECTS AND GRAPHICS GUI.pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Lecture05 ITERATION Control Structure.pdf
- 上海交通大学:《Computational Thinking and Approach》教学资源(课件讲稿)Lecture04 MODULAR PROGRAMMING Functions.pdf
- 《中文信息学报》:中文组织机构名称与简称的识别.pdf
- 《计算机系统结构》课程教学资源(电子书籍)《Computer Organization and Design》THE HARDWARE / SOFTWARE INTERFACE(DAVID A. PATTERSON JOHN L. HENNESSY,Fourth Edtion,彩色版).pdf
- 《计算机系统结构》课程教学资源(电子书籍)《Computer Systems》A Programmer's Perspective(Randal E. Bryant、David R. O'Hallaron,THIRD EDITION).pdf
- 机械工业出版社:计算机科学丛书《计算机组成与设计:硬件、软件接口》电子教材(中文第4版).pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 01 课程简介及编程基础(绳伟光).pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 10 C程序调试.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 11 字符串.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 12 结构、联合与枚举.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 13 高级指针.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 14 内存检测、剖面分析.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 15 输入输出.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 02 C语言简介.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 03 C语言数据类型.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 05 C语言语句.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 06 C语言数组.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 07 函数.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 08 指针.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 09 C程序组织.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 01 算法设计与分析基础.pdf
- 上海交通大学:《C程序与算法设计》课程教学资源(课件讲稿)Lecture 01 Greedy and Dynamic Programming.pptx