- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
科学计算器程设计报告
计算机科学与技术学部
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();
文档评论(0)