1.引言
1.1编写目的
1.2项目背景
a)方便用户输入任意表达式
b)算法执行过程同步展示
1.3备注
a)因为同类课程多数要求使用C语言或者C++语言编程,本软件也采用了C++语言编写,使得源码学习与原理阐释充分统一。
b)本软件主要用于包含加、减、乘、除和括号在内的四则运算中缀表达式的计算过程演示。
2.总体设计
2.1需求概述
图1 软件界面示意图
2.2软件结构
图2 软件功能模块分析
2.2.1用户输入及预处理模块
2.2.2计算模块
2.2.3界面设计模块
a)弹栈、压栈一个元素的动画
b)伪代码行的突出显示
c)监视变量和事件的显示
d)计算结果的展示
图3 软件主体流程图
3.详细设计
3.1用户输入及预处理模块设计
3.1.1用户输入处理
图4 用户输入处理界面设计
图5 用户输入处理流程图
3.1.2表达式字符串预处理模块
图6 TypeOfChar函数(左)和ReadW函数(右)流程图
3.2计算模块设计
图7 表达式计算算法流程
3.2.1操作数和运算符的判别实现
3.2.2运算符优先级的比较实现
3.3界面设计
图8 软件界面
3.3.1弹栈、压栈一个元素的动画设计
图9 压栈一个元素的动画流程和效果图
图10 压栈一个元素的动画流程和效果图
3.3.2伪代码行的突出显示设计
图11 伪代码行突出显示与动画运行的同步机制示意图
3.3.3监视变量的显示设计
图12 监视区所关注变量和事件的示意图
图13 “当前读入W”窗口更新时刻示意
3.3.4计算结果的显示设计
图14 表达式“223+32*6-(534-23)/2”的运行结果显示示例
图15 软件退出提示对话框
4.接口设计
4.1人机接口
图16 新增动画播放速度设置功能
4.2出错处理设计
5.运行环境及开发工具
更多资料:
https://download.csdn.net/download/weixin_44572133/85786723