卢梦云vc++课程设计简单计算器的设计_第1页
卢梦云vc++课程设计简单计算器的设计_第2页
卢梦云vc++课程设计简单计算器的设计_第3页
卢梦云vc++课程设计简单计算器的设计_第4页
卢梦云vc++课程设计简单计算器的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简 单 科 学 计 算 器 设 计课程设计说明书计算器(VC+课程设计)学生姓名: 指导教师: 王新祥 专 业: 计算机科学与技术 系 部: 计算机与信息科学系 学 号: 班 级: 完成时间: 简 单 科 学 计 算 器 设 计目 录一、设计任务 11.1 选题意义 .11.2 设计目标 .11.3 关于 virtualc+.21.4 可行性 及需求分析 .3二、程序设计与实现 32.1 程序结构 .32.2 详 细设计 .42.2.1 程序流 程图 42.2.2 程序设 计具体 步骤 .52.2.3 程序运行界面 23三、设计难点与解决方法 24四、设计效果与不足之处 244.1 程序效果图 244.2 不足之处 .27五、参考资料 27六、课程设计总结 27简 单 科 学 计 算 器 设 计- 1 -此题选择意义在于引导学生学会设计简单的科学计算器,进一步掌握 Visual C+应用程序。统地学习面向对象编程思想,了解 MFC 架构,逐步熟悉可视化编程环境Visual C+,并在此环境下设计并实现一个简单计算器系统。该计算器应能实现如下功能: 1)、数的加、减、乘、除、乘方等简单计算 2)、科学计算函数,包括正弦、余弦、正切、余切、开方、对数、指数等函数运算3)、具备历史计算的记忆功能。使计算器含有以下功能:(1)、基本运算功能:可以进行加、减、乘、除等基本运算。(2)、三角函数运算功能:可以一次完成三角函数之间的计算,求正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)等函数的值。(3)、对数、指数运算功能:可以一次求的对数函数(log、ln)、指数函数(exp)等函数的运算。(4)、删除功能:可以在输入错误时删除已输入的数值。(5)、归零功能:可以在计算完成后清空编辑框中的已有数值。一、 设计任务1.1 选题意义1.2 设计目标简 单 科 学 计 算 器 设 计- 2 -关于 Visual C+Visual 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 要求是一致的。硬件要求:一般在 586 以上的处理器、16MB 以上内存、100MB 以上的硬盘。软件要求:Windows 95/98 或 Windows NT3.51 以上版本。VC+ 6.0 系统可以在一张 CD 盘上,也可以在“Visual Studio( Visual C+、Visual Foxpro)”等产品的第一张 CD 盘上。一般都有一个 VC 的自动安装程序,也可以执行 VC6 目录下的 setup.exe,在安装包的提示下进行,对初学者可采用“典型安装”方式。在安装好 VC 6.0 系统后,有时根据需要添加或删除某些部件,可插入 CD盘重新执行 setup.exe 安装程序,安装程序会检测当前系统安装 VC6 的足件,用户单击“添加删除”按钮后,在“安装维护”对话框中选定要添加的部件或撤消选定要删除的部件。与一般的应用软件一样,有以下两种启动方式:(1)通过“开始”按钮,选择“程序”菜单,然后打开“Microsoft Visual studio 6.0 中文版”子菜单中的“Microsoft Visual C+ 6.0 中文版”程序。(2)用户也可以使用命令行启动 VC。单击“开始”按钮后选择“运行”命令,在“运行”对话框中输入 c:Program FilesMicrosoft Visual StudioVC98VC6.exe(按默认盘符和路径安装)即可。1.3关于 virtualc+简 单 科 学 计 算 器 设 计- 3 -本设计是简单计算器。日常计算机使用中,常常涉及到一些有关计算的问题,一个小型的计算器软件变得非常有用,该校型计算器需要空间资源较少,对电脑其他程序的应用影响较小。它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性;醒目美观的软件封面。使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。本软件主要用于计算机 windows 2000/XP 以上版本的用户的使用,这次课程设计一般是实现简单计算器的功能。要程序能实现:加,减,乘,除,开方,倒数等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。另外还可以实现多种科学计算的功能,如:三角函数的计算,弧度与角度间的转换,对数指数的计算等等。本计算器首先是通过在计算器的界面上按下相应的按钮,来进行基本的加,减,乘,除等基本运算,计算器还能够进行平方运算,求平方根运算,乘方运算,三角函数运算(包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot),对数函数(ln、log),指数函数(exp),幂函数(x)等运算。1.4 可行性及需求分析二、 程序设计与实现2.1程序结构简 单 科 学 计 算 器 设 计- 4 -2.2详细步骤2.2.1程序的流程图结束开始加法运算输入数据反三角运算乘方运算正切运算余弦运算正弦运算除法运算乘法运算减法运算归零功能平方运算根式运算输出结果果输入数据指数运算对数运算简 单 科 学 计 算 器 设 计- 5 -1) 总体功能:整个计算器除了基本的加、减、乘、除运算外,另外还有个功能可以实现七大运算:三角函数运算功能、对数函数运算功能、指数函数运算功能、乘方运算功能、平方运算功能、根式运算功能、归零功能。各个运算功能的详细设计说明分别如下:a、基本运算功能主要实现数据的加、减、乘、除运算,提供简单的科学计算!b、三角函数运算功能用来执行三角函数的运算,包括正弦函数(sin)、余弦函数(cos)和正切函数(tan) c、对数函数运算功能用来执行对数函数的运算,包括以 e 为底 ln 函数和以 10 为底的 lg 函数。d、指数函数运算功能用来执行指数函数的运算。e、乘方运算功能用来执行乘方的运算,进行数值的成倍计算。f、平方运算功能用来执行平方运算,说到底它也属于乘方运算的范畴。g、根式运算功能用来执行根式的运算。 h.归零、删除功能主要实现数据的清零,当用户输入数据出错时,使用此功能可以清除已输入的内容并重新输入新的运算内容。2.2.2程序设计具体步骤三角函数正切运算余弦运算正弦运算简 单 科 学 计 算 器 设 计- 6 -具体程序如下:double operate(double y, char c, double x) /对两个数计算 (含是双目运算符:如 *, / 等等)double r;if(c = -)r = x - y;else if(c = +)r = x + y;else if(c = / else if(c = *)r = x * y;else if(c = )r = 1;for(int i = 1; i = 0)简 单 科 学 计 算 器 设 计- 14 -push_num(m);i+;elseif(m = -1)c = +;else if(m = -2)c = -;else if(m = -3)c = *;else if(m = -4)c = /;else if(m = -5)c = %;else if(m = -6)c = ;else if(m = -7)c = Q;else if(m = -8)c = L;else if(m = -9)c = C;else if(m = -10)c = S;else if(m = -11)c = T;else if(m = -12)c = c;else if(m = -13)c = s;else if(m = -14)c = t;简 单 科 学 计 算 器 设 计- 15 -else if(m = -15)c = (;else if(m = -16)c = );else if(m = -17)c = n;char ch = get_top_char();/得到最顶端运算符号if(comparech = comparec char dian = pop_char();push_num(operate_one(one, dian); else if(ch = L)double one_L = pop_num();double two_L = pop_num();char dian = pop_char();push_num(operate_L(two_L, one_L, dian);简 单 科 学 计 算 器 设 计- 16 -elsedouble x = pop_num();double y = pop_num();char dian = pop_char();if(dian = / else return 1;void output(double result)/打出结果printf(“所得结果是: “);coutcc)简 单 科 学 计 算 器 设 计- 19 -if(cc = M)system(“cls“);introduce();printf(“您上次所得结果为 : “);coutnext = NULL;int i;for(i = 0; linei != 0; i+)/建立链表p = new node;p-data = linei;p-next = head-next;head-next = p;简 单 科 学 计 算 器 设 计- 21 -head = p;/ delete p;q = (node*)malloc(sizeof(node);head = root;if(root-next-data = + | root-next-data = -)/处理第一个字符p = new node;p-data = 0;p-next = head-next;head-next = p;if(root-next != NULL)for(q = root-next; q; q = q-next)if(q-data = ( p-data = 0;p-next = q-next;q-next = p;/ delete q;p1 = new node;int qi = -1;for(p1 = root-next; p1; p1 = p1-next)line+qi = p1-data;line+qi = 0;简 单 科 学 计 算 器 设 计- 22 -void input()/输入cinline;if(biao = 0)tackle_fuhao();/处理负号check();/检查表达式是否合法6) 程序主界面的设计:void introduce()/对计算器的符号功能的简要介绍 cout“ *的计算器简要介绍“endlendl;cout“|C(cos)| S(sin) | T(tan) | a(arccos) | c(arcsin) | t(arctan) |“endl;cout“|-|-|-|-|-|-|“endl;cout“| 7 | 8 | 9 | / | on | L(log) |“endl;cout“|-|-|-|-|-|-|“endl;cout“| 4 | 5 | 6 | * | % | Q(sqrt) |“endl;cout“|-|-|-|-|-|-|“endl;cout“| 1 | 2 | 3 | - | M(M+) | Enter(=) |“endl;cout“|-|-|-|-|-|-|“endl;cout“| 0 | . | + | (乘方) | F(off) | |“endl;cout“-“endl;cout“对于对数输入 L2_5 表示以 2 为底 5 的对数“endl;cout“M(在前面结果的基础上继续计算,如:上次结果为 10,现输入+10.5*2)“endl;简 单 科 学 计 算 器 设 计- 23 -cout“D(清零并继续输入)“endl;cout“F(计算机关闭)“endl;cout“输入 P 就代表输入圆周率, 输入 E 代表输入自然对数“endlendl;设计难点 1:遇到一些复杂的函数计算时,设计的代码不能很好的反映出该有的功能。解决策略:通过看书、上网查资料和与同学讨论,自己再反复修改代码,运行程序,直到实际效果满意为止。设计难点 2:在编译程序时,出现类型不匹配的错误,查找是 Cstring 和 double类型之间没有转换。解决策略:查找到 Format()和 atof()函数可以进行他们之间的转换2.2.3程序运行界面:三、 设计难点与解决方法简 单 科 学 计 算 器 设 计- 24 -(1)计算机主界面:(2)输入表达式计算结果:(3)按 M继续输入表达式进行简单计算:四、 设计效果与不足之处4.1程序运行结果图简 单 科 学 计 算 器 设 计- 25 -关闭计算器:简 单 科 学 计 算 器 设 计- 26 -计算器的计算功能还不是很多,设计效果也不是很理想,只能进行简单的运算。 1 严华峰. Visu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论