【数据结构】【A】十进制整数四则运算计算器.docx

【数据结构】【A】十进制整数四则运算计算器.docx

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东北大学信息科学与工程学院 数据结构课程设计报告 题目 十进制整数四则运算计算器 课题组长 余灏然 课题组成员 魏嘉 张越 专业名称 计算机科学与技术班级 计算机 1307 指导教师 杨雷 2015 年 1 月 课程设计任务书 题目:  十进制整数四则运算计算器 问题描述: 由输入的四则运算表达式字符串, 动态生成算术表达式所对应的二叉树,通过表达式二叉树自动求值并输出。 设计要求: 设计十进制整数四则运算计算器。 ( 1)采用二叉树、栈等数据结构。 ( 2)给定表达式字符串, 生成二叉链表的表达式二叉树。 ( 3)对表达式二叉树采用后序遍历求值并输出。 ( 4)可以考虑加入复数四则运算功能。 ( 5)其它完善性功能。 指导教师签字: 2014 年 12 月 28 日 目录 课题概述 1 课题任务 1 课题原理 1 相关知识 4 需求分析 4 课题调研 5 用户需求分析 5 方案设计 5 总体功能设计 5 数据结构设计 5 函数原型设计 5 主算法设计 5 用户界面设计 5 方案实现 6 开发环境与工具 6 程序设计关键技术 6 个人设计实现(按组员分工) 余灏然设计实现 6 魏嘉设计实现 9 张越设计实现 11 测试与调试 13 个人测试(按组员分工) 13 余灏然测试 13 魏嘉测试 16 张越测试 20 组装与系统测试 25 系统运行 25 课题总结 26 课题评价 26 团队协作 26 个人设计小结(按组员分工) 26 余灏然设计小结 26 魏嘉设计小结 27 张越设计小结 27 附录 A 课题任务分工 28 课题程序设计分工 28 课题报告分工 29 附录 C 用户操作手册(可选) 30 运行环境说明 30 操作说明 30 课题背景 课题任务 【问题描述】 由输入的四则运算表达式字符串, 动态生成算术表达式所对应的二叉树, 通过表达式二叉树自动求值并输出。 【设计要求】 设计十进制整数四则运算计算器。 采用二叉树、栈等数据结构。 给定表达式字符串,生成二叉链表的表达式二叉树。 对表达式二叉树采用后序遍历求值并输出。 可以考虑加入复数四则运算功能。 其它完善性功能。 课题原理 用二叉链表处理表达式字符串,用栈处理括号在表达式计算时的优先级问题,并且使用 MFC编程语言实现可视化。 二叉链表 栈处理符号表达式 MFC 编程语言实现可视化 用 MFC语言中对按钮 Button 功能的添加,将外界输入的由数字 0~9,符号“ +”、 “- ”、“ *”、“/ ”、“(”、“)”构成的表达式传入编辑框中的变量 CString 中。与此同时,可以使用退格键“←”执行退格功能和清屏键执行清屏功能。并 且使用“ =”按钮时,对输入的表达式进行计算。最终,由编辑框输出计算结果。 1 流程图如下 2 流程图 流程图 1 3 开始 开始 输入表达式 表达式入栈 (反转表达式) 转化为先序表 达式 后序遍历求值 输出计算结果 结束 流程图 2 相关知识 生成二叉链表,树的后序遍历, MFC编程语言实现可视化 需求分析 4 课题调研 整数十进制四则运算计算器,用户输入算式程序程序运行并输出运算结果。 用户需求分析 )用户可以通过 MFC按钮输入多项式; )可输入带括号的运算; )该程序应该有对用户错误输入的辨别纠错功能; )程序应具有演示功能和调试功能。 )程序应具有良好的人机接口。 )程序应能友好的展现结果。 方案设计 总体功能设计 十进制整数四则运算 数据结构设计 栈结构,用来储存多项式及生成树; 树结构,用来后序遍历以求多项式的值。 函数原型设计 函数原型 函数原型 void turn(Stack T,char d[max]) void change(Stack T,Stack S) 参数说明 功能描述 栈 T,字符数组 d 将输入的多项式压栈并转化为前缀 [] 表达式 栈 T,栈 S int CreatTree(Tree 树 T,栈 S 建立二叉链表并且后序遍历求值 T,Stack S) Void PostOrder(Tree T,Stack S) 主算法设计 ⑴将输入的表达式压栈,并将其转换为前缀表达式; ⑵由前缀表达式生成二叉链表; ⑶后序遍历二叉树求值。 用户界面设计 使用 MFC编程语言设计界面如下: 5 方案实现 开发环境与工具 主要编程环境: Blend for Visual Studio 2013 编程工具: C++。 程序设计关键技术 ⑴将输入的表达式压栈,并将其转换为前缀表达式; ⑵由前缀表达式生成二叉链表; ⑶后序遍历二叉树求值。 个人设计实现(按组员分工) 余灏然设计实现 数据结构定义和

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体土默特左旗农特农机经销部
IP属地内蒙古
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档