数据结构课程设计报告 实验一 算术表达式求解
目录
一. 问题描述及分析 1.问题描述 2.需求分析 二. 功能模块及数据结构描述 1.数据结构描述 p1 2.模块描述 p2
三.主要算法流程描述 四.使用说明 五.调试分析说明
0
p1
p1 p1
p1
p3 p5 p6
一. 问题描述及分析
1.问题描述
以字符序列的形式从键盘输入语法正确的、不含变量的整数表达式,实现对算术四则混合运算表达式的求值。
2.需求分析
自己设计界面,使用适当的数据结构对运算符、操作作数进行处理。
3.运行要求
.Windows xp/2003/win 7 .VS 2010运行库
二. 功能模块及数据结构描述
1.数据结构描述
int a[200][2];
表达式元素分类存放数组,第一列存放表达式元素的类别(1-6,分别代表:+,-,*,/,(,)。),第二列存放表达式各元素。 int p[200][2]
表达式经过处理,转换为逆波兰式存放数组,原理同上。
int zhan1[1000]
逆波兰转换模拟栈。
double zhan2[1000]
逆波兰求解运算模拟栈。
2.模块描述
1
图1.1 常规信息集
C#有关程序及的常规信息,可通过特性值修改,由编译环境vs2010自动生成
图1.2 有关程序集
有关程序及信息,由编译环境vs2010自动生成
图1.3 图形算法文件
Form1.cs:为程序核心算法,其中包括界面设计,算法设计。 Program.cs:为程序入口文件,记录程序的入口点。
由于本程序核心算法没有用到子程序和子函数调用,所以没有对子函数或子程序的介绍。
2
三.主要算法流程描述
3
开始 输入表达式串 对表达式串逐个判别 是否为实数 转换为实型 表达式是否读完 对其进行逆波兰转换 表达式是否完全转换 将其入栈求解 结果输出 结束 图1.4 核心算法流程
四.使用说明
1.系统文件说明
图1.5 运行文件
本系统主程序。
2.程序界面(vs2010)
图1.6 程序主界面
3.使用说明:
输入表达式:
图1.7 说明描述
4