C课程设计简单计算器的设计 .doc
《C课程设计简单计算器的设计 .doc》由会员分享,可在线阅读,更多相关《C课程设计简单计算器的设计 .doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+课程设计报告学生姓名 : 刘建军 专 业 : 计算机应用技术班 级 : 指导教师 : 阳红星目 录一、设计任务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.1选题意义此题选择意义在于引导学生学会设计简单的科学计算器,进一步掌握Visual C+应用程序。统地学
2、习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C+,并在此环境下设计并实现一个简单计算器系统。该计算器应能实现如下功能: 1)、数的加、减、乘、除、乘方等简单计算 2)、科学计算函数,包括正弦、余弦、正切、余切、开方、对数、指数等函数运算3)、具备历史计算的记忆功能。1.2 设计目标使计算器含有以下功能:(1)、基本运算功能:可以进行加、减、乘、除等基本运算。(2)、三角函数运算功能:可以一次完成三角函数之间的计算,求正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)等函数的值。(3)、对数、指数运算功能:可以一次求的对数函数(log、ln
3、)、指数函数(exp)等函数的运算。(4)、删除功能:可以在输入错误时删除已输入的数值。(5)、归零功能:可以在计算完成后清空编辑框中的已有数值。1.3关于virtualc+关于Visual C+Visual C+6.0 是Microsoft公司在1998年推出的基于Windows 9X和Windows NT的优秀集成开发环境。该环境为用户提供了良好的可视化编程环境,程序员可以里利用该开发环境轻松地访问C+源代码编辑器,资源编辑器和使用内部调试器,并且可以创建项目文件。Visual C+6.0不仅包括编译器,而且它还包括许多有用组件,通过这些组件的协同工作,可以在Visual C+6.0集成环
4、境中轻松地完成创建源文件,编辑资源,以及对程序的编译,连接和调试等各项工作。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的自动安
5、装程序,也可以执行VC6目录下的setup.exe,在安装包的提示下进行,对初学者可采用“典型安装”方式。在安装好VC 6.0系统后,有时根据需要添加或删除某些部件,可插入CD盘重新执行setup.exe安装程序,安装程序会检测当前系统安装VC6的足件,用户单击“添加删除”按钮后,在“安装维护”对话框中选定要添加的部件或撤消选定要删除的部件。与一般的应用软件一样,有以下两种启动方式:(1)通过“开始”按钮,选择“程序”菜单,然后打开“Microsoft Visual studio 6.0中文版”子菜单中的“Microsoft Visual C+ 6.0 中文版”程序。(2)用户也可以使用命令行
6、启动VC。单击“开始”按钮后选择“运行”命令,在“运行”对话框中输入c:Program FilesMicrosoft Visual StudioVC98VC6.exe(按默认盘符和路径安装)即可。1.4 可行性及需求分析本设计是简单计算器。日常计算机使用中,常常涉及到一些有关计算的问题,一个小型的计算器软件变得非常有用,该校型计算器需要空间资源较少,对电脑其他程序的应用影响较小。它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性;醒目美观的软件封面。使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定
7、的帮助。本软件主要用于计算机windows 2000/XP以上版本的用户的使用,这次课程设计一般是实现简单计算器的功能。要程序能实现:加,减,乘,除,开方,倒数等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。另外还可以实现多种科学计算的功能,如:三角函数的计算,弧度与角度间的转换,对数指数的计算等等。二、 程序设计与实现2.1程序结构本计算器首先是通过在计算器的界面上按下相应的按钮,来进行基本的加,减,乘,除等基本运算,计算器还能够进行平方运算,求平方根运算,乘方运算,三角函数运算(包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot),对数函数(
8、ln、log),指数函数(exp),幂函数(x)等运算。2.2详细步骤2.2.1程序的流程图结束开始加法运算输入数据反三角运算乘方运算正切运算余弦运算正弦运算除法运算乘法运算减法运算归零功能平方运算根式运算输出结果果输入数据指数运算对数运算2.2.2程序设计具体步骤1) 总体功能:整个计算器除了基本的加、减、乘、除运算外,另外还有个功能可以实现七大运算:三角函数运算功能、对数函数运算功能、指数函数运算功能、乘方运算功能、平方运算功能、根式运算功能、归零功能。各个运算功能的详细设计说明分别如下:a、基本运算功能主要实现数据的加、减、乘、除运算,提供简单的科学计算!b、三角函数运算功能用来执行三角
9、函数的运算,包括正弦函数(sin)、余弦函数(cos)和正切函数(tan) 三角函数正切运算余弦运算正弦运算c、对数函数运算功能用来执行对数函数的运算,包括以e为底ln函数和以10为底的lg函数。d、指数函数运算功能用来执行指数函数的运算。e、乘方运算功能用来执行乘方的运算,进行数值的成倍计算。f、平方运算功能用来执行平方运算,说到底它也属于乘方运算的范畴。g、根式运算功能用来执行根式的运算。 h.归零、删除功能主要实现数据的清零,当用户输入数据出错时,使用此功能可以清除已输入的内容并重新输入新的运算内容。具体程序如下:double operate(double y, char c, doub
10、le x) /对两个数计算 (含是双目运算符:如 *, / 等等)double r;if(c = -)r = x - y;else if(c = +)r = x + y;else if(c = / & y != 0)r = x / y;else if(c = *)r = x * y;else if(c = )r = 1;for(int i = 1; i = y; i+)r *= x;else if(c = %)int r0 = (int)x % (int)y;r = double(r0);return r;double operate_one(double one, char cc) /对一个
11、数运算(含单目运算符:如log(L), sin(S) 等等)double r;if(cc = Q)r = sqrt(one);else if(cc = C)r = cos(one);else if(cc = S)r = sin(one);else if(cc = T)r = tan(one);else if(cc = c)r = acos(one);else if(cc = s)r = asin(one);else if(cc = t)r = atan(one);return r;double operate_L(double a, double b, char dian)/求对数的值doub
12、le r = log(b) / log(a);return r;2) 运算符的比较等级具体程序如下:typedef struct node /为了处理符号而建立的链表(如: 1+(-2)char data;node *next;node;typedef struct stack_num /存储 数 的栈double *top;double *base;stack_num;typedef struct stack_char /存储 运算符号 的栈char *top;char *base;stack_char;stack_num S_num;/定义stack_char S_char;/定义char
13、 fu18 = n, ), +, -, *, /, %, , Q, L, C, S, T, c, s, t, (;int compare1000; /表现出各运算符号的优先级double shu1000;/存储 数 的数组double dai_result;/运算的结果,是为了处理 M 运算(简介函数里有M的定义)int biao = 0;/和dia_result 一样,为了处理 M 运算char lineSIZE;/输入的所要计算的表达式void init()/初始化comparefu0 = -2;/用数字的大小表现出符号的优先级comparefu1 = -1;comparefu2 = 2;
14、comparefu3 = 2;comparefu4 = 4;comparefu5 = 4;comparefu6 = 4;comparefu7 = 5;for(int i = 8; i = 15; i+)comparefui = 6;comparefu16 = 7;S_num.base = (double*)malloc(sizeof(double)*SIZE);/为栈开辟空间S_char.base = (char*)malloc(sizeof(char)*SIZE);/同上S_num.top = S_num.base;S_char.top = S_char.base;void push_num
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C课程设计简单计算器的设计 课程设计 简单 计算器 设计
限制150内