科学计算器课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术学部
C++课程设计
题目科学计算器
学部计算机科学与技术班级计科1103
指导教师李军
姓名刘明
学号11430421817667
2012年6月27日
摘要
计算器的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。
在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。此系统在Windows 7环境下,使用VC++ 6.0进行编写。
简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。并且包含清除,退格功能等。我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。
关键词:计算器;运算;VC++等
课程设计任务分配表:
表1 分配信息表
姓名主要工作组长刘明程序设计和编写
舒兆月实验报告书的制作组员
凡力强实验报告书的制作
课程设计成绩表:
表2 成绩表
姓名学号班级成绩组长刘明11430421817667 计科1103
舒兆月11430727814558 计科1103 组员
凡力强11430426154534 计科1103
科学计算器采用的数据类型采用的类的数据类型:
class CCalculatorDlg : public CDialog
{
public:
void clean_aliter();
CString OLD_ANSWER;
void out_change(int system);
CCalculatorDlg(CWnd* pParent = NULL); // standard constructor
int 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)