C++课程设计(计算器)1[1]
c语言设计计算器课程设计

c语言设计计算器课程设计一、课程目标知识目标:1. 学生能够掌握C语言基本语法和数据类型,特别是整型、浮点型的运用。
2. 学生能够理解并运用顺序结构、选择结构和循环结构进行程序设计。
3. 学生能够运用C语言的算术运算符,实现基本的数学运算功能。
技能目标:1. 学生能够编写简单的C程序,实现加、减、乘、除等基本计算功能。
2. 学生能够通过键盘输入数据,并处理输入异常。
3. 学生能够运用调试工具检查并修正程序中的错误。
情感态度价值观目标:1. 学生培养编程的兴趣,认识到编程在解决问题中的重要性。
2. 学生在学习过程中形成合作意识,培养团队精神。
3. 学生通过编程解决实际问题,体验成就感,增强自信心。
分析课程性质、学生特点和教学要求:本课程针对的是高一年级学生,他们对C语言已有一定的基础知识,具备基本的编程能力。
课程性质为实践性较强的编程课程,旨在让学生通过动手实践,掌握C语言编程技巧。
教学要求注重培养学生的实际编程能力,将理论知识与实际应用相结合。
课程目标分解:1. 学生能够独立完成一个简单的计算器程序,实现加、减、乘、除功能。
2. 学生能够运用所学知识对程序进行优化,提高计算器的运算效率和用户体验。
3. 学生通过课程学习,培养良好的编程习惯和解决问题的能力。
二、教学内容本课程教学内容紧密结合课程目标,确保学生能够系统地学习和掌握C语言编程计算器的制作。
1. C语言基本语法和数据类型复习:回顾整型、浮点型等基本数据类型,强调其在计算器程序中的应用。
2. 运算符和表达式:详细介绍C语言的算术运算符,如加、减、乘、除等,并讲解表达式的构成和计算规则。
3. 控制结构:- 顺序结构:巩固顺序执行的概念,并应用于计算器程序。
- 选择结构:讲解if语句,实现计算器的不同运算功能。
- 循环结构:介绍for和while循环,实现重复计算功能。
4. 输入输出函数:教授scanf和printf函数的使用,实现用户与计算器程序的交互。
C课程设计简易计算器实验报告

《程序设计基础》(C++)课程设计报告计算器姓名:班级:学号:指导教师:成绩:完成时间:完成地点:计算器1 基本功能描述计算器包含基本的四则运算、开方、倒数、相反数(正负)等运算。
可对输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算。
同时包含清除功能。
2 设计思路如图1是计算器总流程图,输完第一个操作数后,若点击双目运算符,则把m_edit 传递给op1,并传递给变量calculator相对运算符对应的值,输入的第二个操作数传递给op2,点击等号根据calculator的值进行相应运算并输出结果。
若点击的是单目运算符,则直接对其处理得出结果。
若点击清零,则m_edit等于0。
设计思路流程图如下(见下页)。
图1 计算器设计思路总流程图3 软件设计3.1 创建步骤打开Microsoft Visual C++ 6.0,选择新建,在弹出框内选择MFC AppWizard[exe]工程,输入工程名Calculator及其所在位置。
将弹出MFC AppWizard-step 1对话框,选择基本对话框,点击完成。
MFC AppWizard建立基于对话窗口的程序框架。
3.2 界面设计1、创建控件在对话框上的合适的位置画出编辑框和下压式按钮。
如图2所示。
图2 绘制编辑框在按钮和编辑框属性对话框中输入控件的ID值和标题属性。
如图3所示。
图3 Push Button属性按照上面的操作过程编辑其他按钮和编辑框等对象的属性。
表1 各对象属性对象ID 标题或说明编辑框IDC_EDIT1 结果显示按钮IDC_BUTTON0 0按钮IDC_BUTTON1 1按钮IDC_BUTTON2 2按钮IDC_BUTTON3 3按钮IDC_BUTTON4 4按钮IDC_BUTTON5 5按钮IDC_BUTTON6 6按钮IDC_BUTTON7 7按钮IDC_BUTTON8 8按钮IDC_BUTTON9 9按钮IDC_ BUTTONneg +/-按钮IDC_ BUTTONpot .按钮IDC_ BUTTONadd +按钮IDC_BUTTONsub -按钮IDC_BUTTONmul *按钮IDC_BUTTONdiv /按钮IDC_BUTTONsqrt sqrt按钮IDC_BUTTONCE CE完成后界面如图4所示。
C语言课程设计-电子计算器C语言编程

黑龙江东方学院C语言课程设计课题名称:电子计算器C语言编程专业:电子信息工程班级: 09级一班姓名:学号:指导教师:2010年12月23日目录第一章绪论.....................................1.1 概述............................ ...........1.2 电子计算器原理............................ .1.3 课题的意义及设计目标........................1.4 主要设计内容................................ 第二章软件设计相关基础知识介绍...............书写程序时应注意的相关事项..................基本类型的分类及特点........................结构简介....................................结构程序设计............................分支程序设计............................循环程序设计............................第三章软件设计流程............................主程序流程图................................数据输入子程序流程图........................电子计算器结果输出子程序....................第四章软件运行界面说明........................电子计算器四则运算结果......................附录A 常用函数及说明.......................... 附录 B C语言程序及讲解 ......................... 总结 ..............................................电子计算器程序设计第一章绪论概述17世纪初,西方国家的计算工具有了较大的发展。
计算器c语言课程设计

计算器c语言课程设计 The Standardization Office was revised on the afternoon of December 13, 2020设计分析:我做的是一个计算器程序,属于B级。
题目要求如下:1、完善计算器程序,改为可对实数操作。
2、完善程序,改为多个操作数基本四则运算,遇到z为止。
3、增加函数,完成四则混合运算,增加相应的主菜单选项4、添加语句,使四则运算具有测试功能。
5、可扩充其功能。
所给的计算器源程序中已有基本的加、减、乘、除和开方运算,我所要做的就是添加一个可以进行四则混合运算功能的类。
本程序所要用到的头文件有如下几种:process,iostream,conio,stdlib,math和assert.原程序中已经定义了加、减、乘、除和开方的运算,它用了类oopcalc将这几个基本运算进行封装。
类中包含以下几个函数:void calcadd();void calcsub();void calcdiv();void calcmult();void calcfartocel();void calcceltofar();void calcsroot();void exitprog();void menu();void badinput();每个函数的参数形式如下:int add(float x,float y);int sub(float x, float y);int div(float x, float y);int mult(float x, float y);int fartocel(float x);int celtofar(float x);int sqroot(float x);原程序对这几个函数分别做了如下定义: int oopcalc::add(float x, float y) {val = x + y;return val;}int oopcalc::sub(float x,float y) {val = x - y;return val;}int oopcalc::div(float x, float y) {val = x / y;return val;}int oopcalc::mult(float x, float y) {val = x * y;return val;}int oopcalc::fartocel(float x){int cel = ((x - 32) * 5) / 9;return cel;}int oopcalc::celtofar(float x){int f;f = x * 9 / 5 + 32;return f;}int oopcalc::sqroot(float x){int g = sqrt(x);return g;}首先要把程序改为可对实数进行操作,由于原程序中的操作数类型都是整形,因此我所采用的办法就是把“int”依次改成“float”。
C语言课程设计 简单计算器程序.

{ printf("Sym栈空\n"); return; }
}
void NumPush()//压栈
{
If(Num.top<MaxSize-1)
{
Num.data[++Num.top]=ston(expr,&i);
}
else
{
printf("Num栈满\n"); return;
}
}
定义逆波兰(后缀式)表达式的计算函数(出栈)
将算术表达式转化为逆波兰表达式计算逆波兰表达式的值
第
3.1栈的定义与使用
首先定义两个栈,一个字符型,一个双精度型,程序代码如下:
Struct
{
char data[MaxSize];//存放表达式的字符数组
int top;//栈顶指针
}Sym;/*符号*///作为存放运算表达式的栈使用
struct
{
{
if(Sym.top<MaxSize-1)
{ Sym.data[++Sym.top]=calc[i++]; }
else
{ printf("Sym栈满\n"); return; }
}
void SymPop() //出栈
{
if(Sym.top>=0)
{ expr[++t]=Sym.data[Sym.top--];}
(3)如果遇到的是操作符,则将该操作符和操作符栈顶元素比较:a当所遇到的操作符的优先级小于或等于栈顶元素的优先级时,则取出栈顶元素放入(后缀)逆波兰表达式,并弹出该栈顶元素,反复执行直到栈顶元素的优先级小于当前操作符的优先级;b、当所遇到的操作符的优先级大于栈顶元素的优先级的时则将它压入栈中。
用c语言设计一个多功能计算器

用C语言设计一个多功能计算器实现功能:1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。
依次输入第一个运算数、运算符(+,-,*,/),第二个运算数,然后输出结果。
结果可以作为下一个运算的第一运算数。
按‘C’清屏,按‘X’退出。
例如:输入:2+5输出:72)实现单运算符表达式计算的功能。
输入的操作数可以包含整数或浮点数。
如果遇到错误的表达式,应输出错误提示信息。
输入表达式如下:例如:输入:2+5输出:7目录摘要 (1)第一章引言 (3)1.1 计算器概述 (3)第二章设计任务及要求 (5)2.1 设计任务 (5)2.2 设计要求 (6)第三章计算器硬件设计 (7)3.1 方案说明 (7)3.2 设计单片机主体电路图 (8)第四章软件设计 (9)4.1 模块介绍 (9)4.2 程序流程图 (10)4.3 程序部分 (11)第五章总结 (16)参考文献 (17)摘要:[目录]一、课程设计题目及任务要求二、设计思路三、部分程序介绍四、程序框图五、汇编程序六、参考资料[原文]一、课程设计题目及任务要求请设计十进制加减法计算器。
要求能(不同时)显示3位输入和4位输出。
二、设计思路1、操作显示设备显示设备采用八片七段共阴极LED显示器,共设置16 个键,其中数字键0~9 共十个,接下来依次是加号键、减号键、等于号、清除键。
操作设备是两行八列共16键的简单键盘。
第一行从左至右分别为0、1、2、3、4、5、6、7,第二行分别为8、9、A(+)、B(-)、C(=)、D(清除键)、E (清除键)、F(清除键),“清除键”表示程序初始化,为下次输入准备。
2、程序实现功能(1)十进制加减法计算:输入范围为(1~999),该程序输入两个定点数,每个3位,输出4位;A为加,B为减,C为等于,输出为四位计算结果。
数据输入采用规范化输入,即必须输入3个数才算完成一个运算数的输入,两个运算数之间输入运算符A或者B,输入完成按C显示计算结果;(2)计算机复位功能:DEF均为清零重启,任何时候按下DEF中一个将重新开始;三、部分程序介绍(1)主程序(START)程序开始运行初始化程序,设置输入输出口PA、PB、PC,扫描键盘,输入两个待求数据和运算符,存入寄存器,等待输入等号同时显示第二个数,运行计算程序,并将计算结果分离,输出到显示器;(2)读键子程序(RD_KB)程序分别扫描两行键盘,若有键按下则通过移位的方式计算键码;若无键按下,则将键码缓存设置为10H,判断后进行相应的跳转。
c语言程序设计-用c语言设计一个简单计算器课程设计
}
else i=j;
shu.data[++shu.top].d1=x;
shu.data[shu.top].d2=++cnt;
nibo[++t1]='0'+shu.data[shu.top].d2;
nibo[t1+1]='\0';
}
else if(a[i]=='(')
{
zhan2[++t2]=a[i];
{
循环语句;
}
}
二、数据结构:
double jisuan(char a[])
{
int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;
char nibo[50],zhan2[50];
double x,n,l,z=0,zhan3[20];
4 调试分析
开始菜单:
加法计算
减法计算乘法计算除法计算乘方计算开方计算
退出系统
5 设计心得
在为期不到两周的课程设计中,我体会颇多,学到很多东西。利用设计这次简单计算器的机会,我加强了对C++的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对Microsoft Visual C++ 6.0又有了更深入的认识!在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、总体设计、数据库设计(含概念设计、逻辑设计、物理设计)、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果)、系统使用说明等。总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。特别是学会了在Visual C++集成开发环境中如何调试程序的方法。
C计算器程序课程设计
C计算器程序课程设计Newly compiled on November 23, 2020荆楚理工学院课程设计成果学院: 计算机工程学院班级: 14计算机科学与技术<2>班学生姓名: 杨悦学号:设计地点(单位):设计题目: 模拟计算器程序完成日期: 2016 年 6 月 30 日指导教师评语: ______________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ 成绩(五级记分制):教师签名:目录1 设计任务设计目的运用所学C++知识,完成模拟计算器程序,通过实践加强对所学知识的理解和巩固。
设计内容设计一个程序来模拟一个简单的手持计算器。
程序支持幂运算、算术运算+、-、*、/、=、以及Black(清除)、Esc(全清除)等操作。
设计指标或者要求程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入“=”符号回车后,窗口显示出结果。
2 设计过程通过对微软附件计算器软件进行调研、分析,研究,使用。
我们了解到了作为一个计算器所应该的一些简单功能,我们知道了怎样使编写的计算器程序向微软附件计算器靠拢。
其中计算器软件的主要功能是:1)可以进行加减乘除四则运算2)可以实现科学计算器的部分计算功能3)可以进行清零运算4)可以进行退格键运算5)可以进行连续计算程序功能[2]年9.[3].[4][6]2003年9月.附录(程序源代码)#include<iostream>#include<cmath>#include<string>#include<iomanip>using namespace std;void menu();||s[j]=='('||s[j]==')'||s[j]=='^'||s[j]=='!'||s[j]=='e'||s[j]=='_')j++;else if((s[j]=='p'&&s[j+1]=='i')||(s[j]=='l'&&s[j+1]=='n'))j+=2;elseif((s[j]=='s'&&s[j+1]=='i'&&s[j+2]=='n')||(s[j]=='c'&&s[j+1]=='o'&&s[j+2]=='s')||(s[j]=='t'&&s[j+ 1]=='a'&&s[j+2]=='n')||(s[j]=='l'&&s[j+1]=='o'&&s[j+2]=='g'))j+=3;();用说明"<<endl;cout<<"2.计算算式"<<endl;cout<<"0.退出程序"<<endl;cout<<"----------"<<endl;cout<<"你的选择是:";int choice;cin>>choice;switch(choice){case 0:return;case 1:guide();break;case 2:{system("cls");char go_on='y';string equation;while(go_on=='y'){cout<<endl<<endl<<"请输入算式,以=(等号)结束:"<<endl;cin>>equation;calculate(equation);cout<<"继续使用吗是请输入y 否则输入n:";cin>>go_on;则运算+加 -减 *乘 /除按常规输入,负号用下划线(_)代替,注意将其与减号区别;可用括号()界定优先级"<<endl;cout<<"2.^幂:幂运算如下乘方输入x^y(x的y次方)如23^6就是23的6次方;开方也这样输入如81^(1/4)[或者81^]表示81开4次方"<<endl;cout<<"3.!阶乘:6!表示1*2*3*4*5*6;(1+3)!表示4的阶乘,结果是24;1+3!表示1再加上3做阶乘的结果,是7"<<endl;π弧度对应的正弦值(注意一定要打括号)其他依此类推;"<<endl;cout<<"6.可直接输入e和pi做数值计算"<<endl;cout<<"7.本计算器的括号只有小括号();不接受中括号[ ]和大括号{ },且算式一定要以等号(=)结束"<<endl;system("pause");system("cls");menu();}。
C语言计算器的编写课程设计
C语言计算器的编写课程设计C计算器课程设计学院:信息学院专业:通信工程班级:24041001学号:23姓名:王卫玲目录第1章课程设计内容及要求............... .51.1内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51.2要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5第2章系统设计流程图. . . . . . . . . . . . . . . . . 62.1系统流程图. . . . . . . . . . . . . . . . . . . . . . . .62.2主要功能表. . . . . . . . . . . . . . . . . . . . . . . .7第3章系统测试. . . . . . . . . . . . . . . . . . . . . . . .83.1系统测试. . . . . . . . . . . . . . . . . . . . . . . . . .83.2调试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9第4章使用. . . . . . . . . . . . . . . . . . . . . . . . . . .114.1运行程序进入计算器界面. . . . . . . . . (11)第 3 页共 17 页第5章课程设计心得. . . . . . . . . . . . . . . . (12)第1章课程设计内容及要求1.1 内容编写C语言程序,设计一个简单计算器1.2 要求运用相关知识,查阅相关资料,编写一个简单的计算器。
第2章系统设计流程图2.1系统流程图第 4 页共 17 页2.1 系统流程图2.2主要功能表2.2 主要功能表第 5 页共 17 页第3章系统测试程序的调试是指对程序的差错和排错,为了便于差错、阅读,在设计该程序的过程中我们采用了结构化程序方法编辑,添加了尽可能多的注第 6 页共 17 页释,这就为接下来的调试过程带来了很多方便。
C++课程设计(计算器)--用VC++制作多功能计算器
C++课程设计(计算器)--用VC++制作多功能计算器用VC++制作多功能计算器目录摘要 ..................................................................... ............................... 2 1 引言 ..................................................................... . (2)1.1 课题背景 ..................................................................... (2)1.2课程设计目的 ..................................................................... .. 2 2 开发工具的介绍 ..................................................................... (3)2.1关于VisualC++ ....................................................................32.2可行性分析 ..................................................................... (4)2.3需求分析 ..................................................................... .......... 4 3 功能说明 ..................................................................... ................. 4 4 系统的实现 ..................................................................... .. (5)4.1窗体设计 ..................................................................... . (5)4.2编辑资源 ..................................................................... . (6)4.3实现高级按钮控件类 (8)4.4实现高级编辑控件类 (12)4.5对话框界面设计 (15)4.6数值计算功能的实现 (20)5 程序结果的演示 ..................................................................... . (21)5.1测试的研究与选择 (21)5.2测试环境 ..................................................................... .. (21).3实例测试结果 .....................................................................22 5结束语 ..................................................................... . (23)参考文献 ..................................................................... . (23)用VC++制作多功能计算器摘要本课程设计将实现一个简单计算器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘 要 本设计将实现一个简单计算器。其类似于Windows附件中自带的计算器。这个计算器不仅实现了简单的四则运算功能,还实现了高级的科学计算功能,而且具有简洁大方的图文外观。它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。在设计设计中,系统开发平台为Windows 2000XP,程序设计设计语言采用Visual C++,在程序设计中,采用了结构化与面向对象两种解决问题的方法。
关键词 : 程序设计;计算器;MFC;按钮控件
目 录 第一章 前 言 .......................................... 2 1.1背景 ........................................... 2 1.2设计目的 ....................................... 2 第二章 开发环境的介绍 ................................. 3 2.1 Visual C++介绍 ................................. 3 2.2功能要求 ....................................... 4 第三章 功能说明 ....................................... 4 第四章 系统的实现 ...................................... 5 4.1窗体设计 ....................................... 5 4.2编辑资源 ....................................... 6 4.3实现高级按钮控件类 ............................. 8 4.4实现高级编辑控件类 ............................ 12 4.5对话框界面设计 ................................ 15 4.6数值计算功能的实现 ............................ 20 第五章 程序结果的演示 ................................. 21 5.1测试的研究与选择 .............................. 21 5.2测试环境 ...................................... 21 5.3实例测试结果 .................................. 22 结束语 ................................................ 23 参考文献 ............................................. 23 致谢
1 引 言 本设计设计主要在运算过程中,如果通过计算器来完成,就会减少计算量,该程序即可以在简单计算器键面下进行简单运算,也可以在科学计算器键面下进行高级的科学计算。并且可以分别计算弧度、角度的三角函数的计算等较为复杂的运算。
1.1背景 计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的工具。要实现计算功能,可以用VC++的知识编写程序来解决此问题。该计算器大大的降低了数字计算的难度及提高了计算的准确度 和精确度。该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用。
1.2设计目的 在程序设计中,通过设计、编制、调试一个模拟计算器的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。 由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。 而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C++程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。
2 开发工具的介绍 2.1 关于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 Files\Microsoft Visual Studio\VC98\VC6.exe(按默认盘符和路径安装)即可。
2.2 功能分析 本软件主要用于计算机windows 2000/XP以上版本的用户的使用,这次 设计设计一般是实现简单计算器的功能。要程序能实现:加,减,乘,除,开方,倒数等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。另外还可以实现多种科学计算的功能,如:三角函数的计算,弧度与角度间的转换,对数指数的计算等等。
3 功能说明 它的设计按软件工程的方法进行,系统具有良好的界面;必要的交互信息;简约美观的效果。使用人员能快捷简单地进行操作。即可单机按钮进行操作,也可直接通过键盘直接输入。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。 (1)包含的功能有:加、减、乘、除运算,开方、求倒数等功能[1]. (2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 (3)给对话框添加菜单。 (4)制定高级按钮控件,该按钮具有不规则的形状,可以根据用户鼠标的位置和单击状态的不同,显示不同的颜色[3]。 (5)制定高级编辑控件,该编辑控件可以指定文本文字的字体和颜色。 (6)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。 (7)实现对话框的扩展功能[2]。 (8)计算功能基本上是用系统内部函数。 (9)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。 (10)“CE”按钮可以清除所有已输入的数据从头计算 功能模块的实现: (1)首先,添加高级按钮控件类,在这个类中实现高级的按钮控件。在此类中对于所有的对于按钮的绘制工作都是在DrawItem函数中完成的,实现按钮对鼠标不同的位置和动作改变不同的颜色,并且按钮的客户区域变成一个椭圆。 (2)其次,添加一个高级编辑控件类,在此类的基础上实现高级编辑控件。在OnDisplay函数中设置编辑框的显示文本,再调用OnDraw函数将其显示出来,并用指定的画刷填充客户区,并且用指定的颜色绘制显示文本。 (3)最后,实现主对话框界面功能,主要是加载菜单资源和对话框扩展功能的实现。在CCalculatorDlg::OnCreate函数中设定对话框的初始大小与位置,可以在这个对话框中进行窗口风格修改,位置设置等操作,然后添加菜单项ID_EXTEND的响应函数OnExtend。
4 系统的实现 4.1 窗体设计 利用MFC AppWinzard生成计算器应用程序框架具体步骤如下: (1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFC AppWizard(exe)选项,然后在Project name文本框中输入Calculator 。Lacation文本框是指项目的本地路径。 (2)单击OK按钮,弹出MFC AppWinzard_Step1对话框。选中单选按钮,如图所示。 (3)单击Next按钮,弹出MFC AppWinzard_Step2 of4对话框,如图所示。