科学计算器课程设计报告C++课程设计

  • 格式:doc
  • 大小:854.15 KB
  • 文档页数:30

计算机科学与技术学部C++课程设计题目科学计算器学部计算机科学与技术班级计科1103指导教师李军姓名刘明学号**************2012年6月27日摘要计算器的产生和发展是建立在电子计算机基础之上的。

硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。

软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。

在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。

能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。

此系统在Windows 7环境下,使用VC++ 6.0进行编写。

简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。

可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。

并且包含清除,退格功能等。

我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。

关键词:计算器;运算;VC++等课程设计任务分配表:表1 分配信息表课程设计成绩表:表2 成绩表科学计算器采用的数据类型采用的类的数据类型:class CCalculatorDlg : public CDialog{public:void clean_aliter();CString OLD_ANSWER;void out_change(int system);CCalculatorDlg(CWnd* pParent = NULL); // standard constructorint Sel,EndSel; //定义输入或插入时光标的位置int Expr_pos; //词法分析表达式时,标记当前字符位置int OS_pos ; //操作数栈顶位置int old_pos; //历史表达式的位置int old_head; //历史表达式数组中最最前位置int old_back; //历史表达式数组中最最后位置int error_mark; //标记表达式错误int parentheses_count; //记录表达式中括号的个数double operand_Stack[200]; //操作数栈CString old_expression[20]; //表达式历史记录void getword(WordType & w_type ,Operator& Fun_Ope,int system); //词法分析函数int getword16(); int getword10(); int getword8(); int getword2();//将用字符表示的N(2,8,10,16)进制转为浮点型void E_AddSub(); //加减void T_MulDiv(); //乘除void F_Power(); //乘方void L_Function(); //函数void H_Digit(); //数字void Factorial(); //阶乘void P_expression(); //括号void compute(Operator Op); //计算void error(int ); //错误标记函数void clean_all(); //清空表达式和计算结果protected:HICON m_hIcon;DECLARE_MESSAGE_MAP()};程序中所用到相关专业知识:类,对象数组,友元函数,继承与派生,指针,枚举,,数栈,算法目录前言 (1)第一章系统需求 (2)1.1 简介说明 (2)1.1.1 系统要求 (2)1.1.2 具体任务 (2)1.1.3 研究目的 (2)1.2 设计分析 (3)1.2.1 可行性分析 (3)1.2.2 需求分析 (3)1.2.3设计结构 (3)1.3 开发环境 (3)1.3.1 运行环境 (3)1.3.2 开发工具 (3)1.3.3 关于Visual C++ 6.0 (4)第二章系统设计 (5)2.1功能说明 (5)2.1.1 系统总体功能分析 (5)2.1.2 系统功能 (5)2.1.3课程设计内容 (6)2.2设计大概 (6)2.2.1设计思路 (6)2.2.2控件定义 (7)2.2.3 变量的定义以及初始化 (8)第三章系统实现 (9)3.1窗体设计 (9)3.1.1设计步骤 (9)3.1.2控件定义 (9)3.1.3一部分操作截图 (10)3.2 程序核心代码 (11)3.2.1数字键和字母键核心代码 (11)3.2.2计算类型函数的核心代码 (11)3.2.3 提示错误的核心代码 (13)3.2.4进制转换的核心代码 (14)3.2.5八进制单选按钮消息响应函数代码 (16)3.2.6二进制单选按钮消息响应函数 (17)第四章系统运行 (20)4.1测试以及运行界面 (20)4.1.1 程序主界面测试 (20)4.1.2运行的计算结果 (20)4.1.3转换进制计算 (21)4.2 测试 (22)4.2.1测试研究与选择 (22)4.2.2测试环境 (22)总结 (23)参考文献 (24)前言Visual C++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境。

为了方便计算,我们编写了计算器。

本报告在李军老师的指导下,并且形成了比较完善的体系,本设计报告具体包含以下内容:第一章直接介绍了基于C++语言,熟悉Visual 6.0的开发环境和C++控制台方式的调试和运行,使学生熟悉Visual C++ 6.0更自然。

以及我们编程的背景与意义及目的,主要介绍我们编写这个程序用来做什么。

第二章介绍了我们编程的怎么去做,设计时的一些想法。

第三章介绍了我们编程实用的一些技术与核心代码,设计时的具体做法。

第四章介绍我们运行时的一些具体操作,以及我们给出的总结与参考文献。

本程序编写一个程序来实现算术计算器。

通过数组和指针以及枚举来存放输入的每一数字或运算符号函数的记录(包括1、2、3等数字,+、--、*、等运算符号)中。

通过一些单击按钮实现一些标准与科学的操作混合运算,然后显示出结果。

本报告由刘明、凡力强、舒照月编写,由李军老师对全报告进行修改,以及很多同学以及网络朋友提供帮助,在此表示感谢。

由于水平有限,不当之处在所难免,恳请读者批评指正。

编者2012.6第一章系统需求1.1 简介说明1.1.1 系统要求1、用C++语言实现程序设计;2、利用MFC进行相关信息处理;3、画出总模块的流程图;4、系统的各个功能模块要求用函数的形式实现;5、界面友好(良好的人机互交),程序要有注释;1.1.2 具体任务1、定义以及初始化,输入0~9,A~F,运算符等信息;2、输入简单的运算符计算式,并显示出计算结果;3、画出总流程图;4、编写代码;5、程序分析与调试;1.1.3 研究目的1、熟悉掌握基于对话框的程序编写;2、熟练掌握放置控件及control 工具条的使用;3、掌握控件摆放的基本方法,熟练掌握Dialog 的使用;4、熟悉建立对话框步骤;5、了解CBUTTON类的实用;6、巩固并加深学生对C++语言程序设计知识的理解;7、培养学生面向对象的程序设计思想,与其认识面向过程和对象的区别;8、进一步掌握和应用VC++ 6.0集成开发环境;9、提高运用C++语言解决实际问题的能力;10、初步掌握开发小型实用软件的基本方法,能独立设计、实践操作;11、掌握书写程序设计开发文档的能力(书写课程设计实验报告);1.2 设计分析1.2.1 可行性分析伴随着经济全球化,计算机的普及发展,软件行业在社会占着举足轻重的作用。

我们在学校生活中常会遇到一些繁杂的数值运算,我们必须要用到科学计算器,所以便着手开发了这个计算器程序,既紧随科技发展的前沿,又方便了我们的生活,具有一定的现实意义。

1.2.2 需求分析本软件主要用于计算机Windows XP以上的用户使用,这次课程设计一般是实现简单计算器的功能。

需要程序实现:加减乘除,开方,平方,倒数等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。

另外还可以实现多种科学计算的功能,如:三角函数的计算,弧度与角度间的转换,对数指数的计算,二、八、十、十六进制的转换等。

1.2.3设计结构第一章主要介绍了我们做这个课程设计目地是做什么。

第二章主要介绍了我们怎么去设计这个课程报告以及编程。

第三章主要介绍了我们实现代码的关键性技术与源码段的介绍。

第四章主要介绍了我们做这个程序的运行结果与一些运算的截图。

1.3 开发环境1.3.1 运行环境(1) Windows 7 64位/XP 32位系统(2) Visual C++ 6.0(中文版)编译环境1.3.2 开发工具C++语言1.3.3 关于Visual C++ 6.0Visual C++ 6.0 是Microsoft公司在1998年推出的基于Windows 9X和Windows NT的优秀集成开发环境。

该环境为用户提供了良好的可视化编程环境,程序员可以利用该开发环境轻松地访问C++源代码编辑器,资源编辑器和使用内部调试器,并且可以创建项目文件。

Visual C++6.0不仅包括编辑器,还包括许多有用组件,通过这些组件的协同工作,可以在Visual C++6.0集成环境中轻松地完成创建源文件、编辑资源以及对程序的编译、连接和调试等各项工作。

VC++6.0是Windows 95/98、XP或Windows NT下的一个应用程序,本身对软件没有特殊要求。

就是说它对环境的要求与Windows 95/98、Windows NT的要求是一致的。

VC++6.0系统可以在一张CD盘上,也可以在“Visual Studio (Visual C++、Visual Foxpro)”等产品的第一张CD盘上。

一般都有一个VC的自动安装程序,也可以执行VC++6.0目录下的Setup.exe,在安装包的提示下进行,对初学者可采用“典型安装”方式。

在安装好VC6.0系统后,有时根据需要添加或删除某些部件,可插入CD盘重新执行Setup.exe安装程序,安装程序会检测当前系统安装VC6.0的组件,用户单击“添加/删除”按钮后,在“安装维护”对话框中选定要与一般的应用软件一样,有以下两种启动方式:(1)通过“开始”按钮,选择“程序”菜单,然后打开“Microsoft Visual C++6.0中文版”子菜单中的“Microsoft Visual C++6.0中文版”程序。