VC++课程设计《算术表达式》最终版.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC课程设计《算术表达式》最终版

2015-12-27 孙启凡 1408010225 班级:软件工程1402班 指导教师:李洪安 Visual C++课程设计 算术表达式 摘 要: 本课程设计实现算术表达式的计算。在课程设计中,系统开发平台为Windows 7,程序设计语言采用MFC,程序运行平台为Windows 2000/XP及以上。在程序设计中,对于输入的算术表达式,对其进行运算并输出结果。 关键词:MFC;算术表达式 1 绪 论 1.1 Visual C++ Visual C++为用户提供了一个可视化、通用的应用程序集成开发环境——Visual Studio。Visual Studio包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具以及一套联机文档(MSDN)。通过Visual Studio,开发人员可以完成项目工程的创建、程序的编辑、修改、运行和调试等各种操作。Visual Studio采用标准的多窗口用户界面,提供了大量实用工具以支持可视化编程的特性,包括项目工作区、AppWizard(应用程序向导)、ClassWizard(类向导)、WizardBar(向导工具条)、Component Gallery(组件画廊)等。 1.2 算术表达式 在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。为简化,规定操作数只能为正整数,操作符为+、-*、/,用#表示结束。 2 需求分析 本课程设计实现算术表达式的运算。 2.1 功能概述 整个程序的主界面如图1所示。 图1 对于用户输入的算术表达式,输出合适的运算结果。 2.2 功能需求分析 程序属于设立栈,并且用数组来接受用户的输入。 3 总体设计 3.1 程序框架的搭建 (1) 工程项目的创建 利用应用程序向导创建一个名称为Walk1的工程项目。由于不需要工具栏功能,所以在向导的第四步里面把“隐藏工具栏”的选项置空,其他均使用默认设置。 (2) 主界面的设计 在位图资源中插入一副位图(IDB_BITMAP1)来作为背景,然后需要一个对话框来与用户交互,所以在CGView类的OnDraw函数中调用该位图以及对话框资源。 然后,修改主窗口的名字以及取消默认菜单栏的调用,在CMainFrame类中的OnCreate()函数和PreCreateWindow()函数实现。 void CGView::OnDraw() { CGDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CRect rctClient; GetClientRect(rctClient); CDC dcMem; dcMem.CreateCompatibleDC(pDC); CBitmap m_bmp; m_bmp.LoadBitmap(IDB_BITMAP1); BITMAP bitmap; m_bmp.GetBitmap(bitmap); CBitmap *pbmpOld=dcMem.SelectObject(m_bmp); Ctestlog a; a.DoModal(); pDC-StretchBlt(0,0,rctClient.Width(),rctClient.Height(),dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); } int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0(Failed to create status bar\n); return -1; // fail to create } SetMenu(NULL); //取消默认菜单栏的调用 // CG: The following line was added by th

文档评论(0)

cuotian + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档