科学计算器课程设计报告
计算机科学与技术学部 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 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 //词法分析函数 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 可行性分析