C++课程设计之计算器
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 课程设计计算器报告一、教学目标本课程的教学目标是使学生掌握C语言的基本语法,熟练使用C语言进行程序设计。
具体分为三个部分:1.知识目标:学生需要掌握C语言的基本语法,包括数据类型、运算符、控制结构、函数等。
2.技能目标:学生能够使用C语言编写简单的程序,解决实际问题。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力。
二、教学内容教学内容主要包括C语言的基本语法和程序设计的基本方法。
具体安排如下:1.第一章:C语言概述,介绍C语言的历史和发展,理解C语言的特点。
2.第二章:数据类型和运算符,学习C语言的基本数据类型和运算符。
3.第三章:控制结构,学习C语言的条件语句和循环语句。
4.第四章:函数,学习C语言的函数定义和调用。
5.第五章:数组和字符串,学习C语言的数组和字符串操作。
6.第六章:指针,学习C语言的指针概念和应用。
7.第七章:结构体和文件,学习C语言的结构体和文件操作。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法:1.讲授法:讲解C语言的基本语法和概念。
2.案例分析法:通过分析实际案例,让学生理解C语言的应用。
3.实验法:安排实验课程,让学生动手编写C语言程序。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境五、教学评估本课程的评估方式包括平时表现、作业、考试等。
具体安排如下:1.平时表现:占课程总评的30%,包括课堂参与度、提问回答、小组讨论等。
2.作业:占课程总评的30%,包括课后练习、编程任务等。
3.考试:占课程总评的40%,包括期中考试和期末考试。
评估方式要求客观、公正,能够全面反映学生的学习成果。
我们将根据学生的实际情况,及时给予反馈,帮助学生提高。
六、教学安排本课程的教学进度安排如下:1.每周一次课,每次课2小时。
c语言编写计算器程序
题目:计算器用C语言编写软件完成以下任务:在实数范围内支持加、减、乘、除运算,同时支持正弦、正切,及其反三角函数运算。
用户可以选择运算的类型,并可以在界面进行数据的输入和输出。
被运算的数据、运算的类型、运算的结果应能够保存到文件myfile.txt 中。
保存的形式可以参考如下所示:4*2=8;sin(0.5)=0.479426。
三、课程设计要求1. 程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“运算选项”、“数据输入”、“保存结果”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
目录一.需求分析 (1)二.流程图 (1)三.核心技术的实现方法及程序 (3)四.总结 (4)五.参考文献 (5)六.源程序 (5)一需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为2个模块。
其中每一个模块对应一个函数,他们的功能分别是:运算和保存。
二.程序流程图(1)用switch语句完成:图(1)运算流程图图(2)程序整体流程图三.核心技术的实现方法及程序本程序主要由一个主函数和8个自定义函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。
下面分别进行说明:1.选择函数:定义函数名称,分别编号,按照数字选择。
进入调试状态,页面显示“choose the right number”选择计算函数进行下一步的运算,具体程序段如下:void main(){int n;double a,b,c;FILE *fp;fp=fopen("c:\\myfile.txt","w+");while(1){printf("***********计算器************************ \n ");printf("*********************1-sum*************** *********** \n" );printf("********************2-jian**************** ********* \n");printf("********************3-cheng************** ********** \n ");printf("********************4-chu************************* \n ");printf("********************5-zhengxuan******************** \n ");printf("********************6-zhengqie************ ******** \n ");printf("********************7-fanzhengxuan******** ********** \n ");printf("********************8-fanzhengqie******************* \n ");printf("*********************9-exit*************** ********** \n ");printf("choose the ringt number:\n");2.运算函数:用switch语句实现,分别计算,然后跳出。
用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 语言课程设计课程设计题目:多项式简单的计算器院(系):计算机学院专业:计算机科学与技术班级:14010106学号:2011040101258 姓名:崔雨濛指导教师:孙恩岩完成日期:2012年3月16日第1章概要设计 (2)1.1题目的内容与要求 (2)1.2总体结构 (2)第2章详细设计 (3)2.1主模块 (3)2.2多项式建立模块 (4)2.3计算模块 (5)2.4显示模块 (6)第3章调试分析 (7)3.1无法完整输出多项式 (7)3.2多项式中出现多余的项目 (7)3.3用户无法自行选择结束运行程序 (7)第4章使用说明与执行结果 (8)参考文献 (10)附录(程序清单) (11)第1章概要设计1.1题目的内容与要求课程设计的内容是设计一个简单的单词替换程序,可以替换文本文件中指定的单词。
要求:(1)输入多项式各项并建立多项式。
(2)输出多项式。
(3)两个多项式相加减,并输出结果多项式。
(4)采用VC环境进行调试运行。
1・2总体结构本程序主要分为四个模块(功能模块图见图1.1):主模块,多项式建立模块, 计算模块,显示模块。
主模块:输入多项式各项,建立多项式,输出多项式。
多项式建立模块:将输入的多项式各项以链表形式建立起来。
计算模块:比较两个多项式的系数和指数,合并同类项。
显示模块:显示输入的多项式及结果多项式。
图1.1功能模块图第2章详细设计2.1主模块控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块, 实现各项功能,流程如图2.1所示。
图2.1主模块流程图2.2多项式建立模块注释:根据多项式的项数循环存入结构体中2.3计算模块比较两个多项式的系数和指数,合并同类项。
流程图如图 2.3所示图2.3计算模块流程图注释:具体比较方法如下:(1)qa->expn < qb->expnqa所指节点应为结果多项式中的结点,qa后移:qa=qa->next; qb不动。
C语言编程-简单的计算器
int i=0;
a[0]='$';
printf("请输入表达式,退出请输入q:\n\n");
scanf("%c",&x);
if(x=='q') break;
while(x!='\n')
{
a[++i]=x;
scanf("%c",&x);
}
a[i+1]='\0';
jieguo=jisuan(a);
}
j=j+1;
x=z;
if(a[j]=='.')
{
l=1;
i=j+1;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
n=pow(0.1,l);
l=l+1;
x=x+n*(a[k]-'0');
}
i=j+1;
}
else i=j;
shu.data[++shu.top].d1=x;
nibo[t1+1]='\0';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
}
else if(a[i]=='*'||a[i]=='/')
c++课程设计计算器任务书
任务书:C++计算器程序设计一、任务目标1. 完成一个简单的C++计算器程序,能够进行加、减、乘、除等基本运算。
2. 通过学习和实践,掌握C++语言的基础知识和编程技巧,提高编程能力和问题解决能力。
二、任务要求1. 实现加法、减法、乘法、除法四种基本运算功能。
2. 程序能够处理实数和整数运算,并能够识别和处理运算符优先级。
3. 程序能够处理运算溢出和除数为0等异常情况。
4. 程序具有用户友好的界面,能够让用户输入运算表达式,并输出计算结果。
5. 代码清晰、简洁,注释明确,符合C++编程规范。
三、任务内容1. 设计程序界面,包括输入和输出窗口。
2. 实现加法、减法、乘法、除法四种基本运算功能,包括运算符优先级的处理。
3. 实现异常处理机制,包括运算溢出和除数为0等情况。
4. 进行单元测试和集成测试,确保程序的正确性和稳定性。
5. 编写文档,包括程序使用说明和代码注释。
四、任务步骤1. 设计程序界面,包括输入和输出窗口,并确定用户输入的表达式格式。
2. 根据表达式格式,编写解析表达式的方法,将表达式解析为运算符和操作数。
3. 根据运算符和操作数,调用相应的运算函数进行计算。
4. 在运算函数中处理异常情况,包括运算溢出和除数为0等异常情况。
5. 进行单元测试和集成测试,确保程序的正确性和稳定性。
6. 编写文档,包括程序使用说明和代码注释。
五、任务注意事项1. 确保程序的正确性和稳定性,特别是在处理异常情况时。
2. 编写简洁、清晰的代码,并添加适当的注释。
3. 进行充分的测试,包括单元测试和集成测试。
C语言简单计算器的编写课程设计
2013-2014学年第二学期《高级语言程序设计》课程设计报告题目:简单计算器专业:数字媒体技术班级:13级1班姓名:邢洪波指导教师:王辉成绩:计算机与信息工程系二0一四年二月二十日1设计内容及要求1.1 利用本学期所学的《C语言程序设计》课程,运用相关知识,查阅相关资料,编写C语言程序,设计一个简单计算器,要求编写的简单计算器能够模拟windows系统的计算器,用户能够用键盘输入相关数据,能够进行简单的加、减、乘、除运算,并且在程序运行过程中能够正常的退出程序。
在计算器程序运行中,输入数据时如果遇到输入错误的情况,能够能过键盘上的退格键进行删除,并且重新输入正确的数据。
在数据输入完成后,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行清零,并为下一次运算作准备。
1.2 运用相关知识,查阅相关资料,编写一个简单的计算器,能够实现简单的基本的加减乘除运算,在计算器工作时用户能利用键盘或鼠标进行相应操作。
程序基本功能要求实现完整,并有简单的验证。
程序还须有符合标准的程序设计报告。
2概要设计2.1系统流程图2.1 系统流程图2.2主要功能表2.2 主要功能表3设计过程或程序代码#include<stdio.h>#include<math.h>#include<malloc.h> /*malloc的头文件代表在内存中开辟存储空间*/double jisuan(char a[]){int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;/*定义整型变量i,j,k,m,n,cnt,t1,t2,t3*/char nibo[50],zhan2[50];/*定义字符型数组*/double x,n,l,z=0,zhan3[50];/*定义双精度变量x,n,l,z,zhan3[50]*/typedef struct /*表示可以用con定义结构体变量*/{double d1;int d2;}dd;typedef struct{dd data[50];int top;}zhan1;zhan1 *shu;/*定义指针变量*/shu=(zhan1 *)malloc(sizeof(zhan1));shu->top=0;while(a[i]!='\0') /*外循环是用while语句*/{if(a[i]>='0'&&a[i]<='9') /*内循环使用if-else语句*/{z=0;j=i+1;while(a[j]>='0'&&a[j]<='9') /*内循环使用各种循环语句的嵌套*/{j++;}j--;for(k=i;k<=j;k++){z=z*10+a[k]-'0';}j=j+1;x=z;if(a[j]=='.'){l=1;i=j+1;j=i+1;while(a[j]>='0'&&a[j]<='9') /*内循环使用各种循环语句的嵌套*/{j++;}j--;for(k=i;k<=j;k++){n=pow(0.1,l);l=l+1;x=x+n*(a[k]-'0');}i=j+1;}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];i++;}else if(a[i]==')'){j=t2;while(zhan2[j]!='('){nibo[++t1]=zhan2[j];nibo[t1+1]='\0';j--;}t2=j-1;i++;}else if(a[i]=='+') /*对加法的定义*/{while(t2>0&&zhan2[t2]!='(') /*定义当加号和括号同时出现时*/{nibo[++t1]=zhan2[t2];/*将zhan2[t2]赋给nibo[++t2]*/nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}else if(a[i]=='-') /*对减法的定义*/{if(a[i-1]=='$'){a[0]='0';i=0;}else if(a[i-1]=='('){a[i-1]='0';a[i-2]='(';i=i-2;t2--;}else{while(t2>0&&zhan2[t2]!='(') /*对括号的定义*/{nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}}else if(a[i]=='*'||a[i]=='/') /*对乘法和除法的定义*/{while(zhan2[t2]=='*'||zhan2[t2]=='/'||zhan2[t2]=='^'||zhan2[ t2]=='#') /*逻辑运算*/{nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}else if(a[i]=='^'||a[i]=='#') /*逻辑运算中的或运算*/{while(zhan2[t2]=='^'||zhan2[t2]=='#'){nibo[++t1]=zhan2[t2];nibo[t1+1]='\0';t2--;}zhan2[++t2]=a[i];i++;}}while(t2>0){nibo[++t1]=zhan2[t2]; /*将的zhan2[t2]值赋给nibo[++t1]*/nibo[t1+1]='\0'; /*碰到'\0'结束部分程序的运算*/t2--;}j=1;t3=0;while(j<=t1){if(nibo[j]>='0'&&nibo[j]!='^'&&nibo[j]!='#'){for(i=1;i<=shu->top;i++){if((int)(nibo[j]-'0')==shu->data[i].d2){m=i;break;}}zhan3[++t3]=shu->data[m].d1;}else if(nibo[j]=='+') /*对加法的定义*/{zhan3[t3-1]=zhan3[t3-1]+zhan3[t3];t3--;}else if(nibo[j]=='-') /*对减法的定义*/{zhan3[t3-1]=zhan3[t3-1]-zhan3[t3];t3--;}else if(nibo[j]=='*')/*对乘法的定义*/{zhan3[t3-1]=zhan3[t3-1]*zhan3[t3];t3--;}else if(nibo[j]=='/') /*对除法的定义*/{zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];t3--;}else if(nibo[j]=='^') /*对乘方的定义*/{zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]);t3--;}else if(nibo[j]=='#') /*对开方的定义*/{zhan3[t3]=sqrt(zhan3[t3]);}j++;}return zhan3[t3];/*返回值*/}void main(){for(;;){char x,a[50];double jieguo;int i=0;a[0]='$';printf("#表示开方,^表示乘方(支持负数)\n");/*对乘方和开方的定义*/printf("请输入表达式无需输入 = 号直接回车可输出答案退出请输入q \n\n");scanf("%c",&x);if(x=='q') break;while(x!='\n') /*碰到'\0'结束部分程序的运算*/{a[++i]=x;scanf("%c",&x);}a[i+1]='\0';jieguo=jisuan(a);printf("\n");printf("结果为:%lf",jieguo);printf("\n\n\n");printf("退出请输入q 继续请直接输入\n\n");}}4设计结果与分析系统测试结果如下:根据电脑所给的提示出现语法错误,缺少变量的定义大多的语法错误在通过书本参考下能够修改。
分数计算器c课程设计
分数计算器c 课程设计一、课程目标知识目标:1. 让学生掌握分数的基本概念,理解分数的加减乘除运算规则。
2. 使学生能够运用所学知识,使用分数计算器进行分数的计算。
3. 培养学生运用分数解决实际问题的能力,例如在日常生活中进行菜谱调整、购物优惠等。
技能目标:1. 培养学生熟练操作分数计算器,进行分数的加减乘除运算。
2. 提高学生运用分数进行问题分析和解决的能力,培养其逻辑思维能力。
3. 培养学生通过合作学习、讨论交流,提高团队协作能力。
情感态度价值观目标:1. 培养学生对数学学科的兴趣,激发其学习积极性。
2. 培养学生严谨、认真的学习态度,养成勤奋刻苦的学习习惯。
3. 引导学生认识到数学知识在实际生活中的重要性,增强其学以致用的意识。
分析课程性质、学生特点和教学要求:本课程为数学学科,针对四年级学生,课程内容以分数计算为主。
四年级学生已经具备一定的数学基础,对分数概念有初步了解,但运算技巧和实际问题解决能力有待提高。
教学要求注重启发式教学,关注学生个体差异,培养其自主学习能力。
根据以上分析,将课程目标分解为具体学习成果:1. 学生能够熟练运用分数计算器进行分数运算。
2. 学生能够运用所学知识解决实际问题,如购物优惠、菜谱调整等。
3. 学生在合作学习中,能够积极参与讨论,与同伴共同解决问题。
4. 学生对数学学科产生兴趣,学习态度积极,养成良好的学习习惯。
二、教学内容1. 分数的基本概念:分数的定义、分子与分母的含义、分数的分类(真分数、假分数、带分数)。
2. 分数的加减法运算:同分母分数加减法、异分母分数加减法、加减混合运算。
3. 分数的乘除法运算:分数乘法、分数除法、乘除混合运算。
4. 分数的化简与约分:分数的化简方法、最大公约数的应用、分数的约分技巧。
5. 分数在实际问题中的应用:购物优惠问题、菜谱调整问题、实际情境中的分数计算。
教学大纲安排与进度:第一课时:分数的基本概念、分类及加减法运算规则。
C语言课程设计--计算器(图形界面)
C语言课程设计--计算器(图形界面)扬州大学C语言课程设计报告题目一个简易计算器的设计与实现班级学号姓名指导教师成绩老师评语:第 2 页共 14 页第 3 页共 14 页一、系统调试…………………………………………8,9,10,11二、课程设计体会总结………………………………8,9,10,111 课程设计目的(1).课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于C语言对初学者较难掌握,因而对一个完整的C语言程序不适合平时实验。
通过课程设计可以达到综合设计C语言程序的目的。
(2)通过本课程设计,可以培养独立思考,综合运用所学有关相应知识的能力,能更好地使用C语言的知识,更好地了解C语言的好处和其可用性!掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级程序设计能力。
为后续各门计算机课程的学习和毕业设计打下坚实基础!(3)通过本程序训练程序设计的基本技能,掌握字符串的表示方法和字符串函数的功能、自学掌握四则运算的算法及WIN-TC的图形操作的基本知识、键盘上特殊键的获取及图形方式下光标的显示。
2 课程设计内容目的:本课程的课程设计要求学生模拟实现一个简单计算器,要求(1)能够实现四则运算,并能支持优先级运算。
(2)三角与反三角运算:如sinx,cosx等。
(3)指数对数运算:如log(x),lnx,e的x次方等。
(4)其他运算:如X!,x 的累加等。
(4)不允许调用库函数,使用自行开发的程序实现常用函数运算。
(5)进一步考虑计算器外观设计,用可视化界面给出计算器外观、功能按键及输入界面。
使用说明:执行加法运算,'—'表示执行减法运算,表示执行乘法运算,'/'表第 4 页共 14 页示除法运算.‘Q’表示退出计算器‘C’表示清零,’=’表示得出结果'^'表示执行x的y次方,'e'表示执行e的x次方操作,'&'表示执行累加操作.,你可以可以用键盘上的上下左右键对光标进行移动,当光标移动到计算器按键上时,按ENTER即可执行该键的操作!最后按“=”则可得出结果。
(完整word版)VC++简单科学计算器设计
简单科学计算器设计VC++课程设计报告简单科学计算器设计一、设计任务1.选题意义此题选择意义在于引导学生学会设计简单的科学计算器,进一步掌握Visual C++应用程序。
统计学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++,并在此环境下设计并实现一个简单计算器系统。
该计算器应能实现如下功能:1)、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方等简单计算2)、科学计算函数,包括正弦、余弦、正切、余切、开方、对数、指数等函数运算3)、具备历史计算的记忆功能。
2.设计目标使计算器含有以下功能:(1)、基本运算功能:可以进行加、减、乘、除等基本运算。
(2)、数制转换功能:可以一次完成二进制转十进制、十进制转二进制、八进制转二进制等运算。
(3)、三角函数运算功能:可以一次完成三角函数之间的计算,求正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)等函数的值。
(4)、对数、指数运算功能:可以一次求的对数函数(log、ln)、指数函数(exp)等函数的运算。
(5)、删除功能:可以在输入错误时删除已输入的数值。
(6)、归零功能:可以在计算完成后清空编辑框中的已有数值。
二、程序设计与实现1.程序结构本计算器首先是通过在计算器的界面上按下相应的按钮,来进行基本的加,减,乘,除等基本运算,计算器还能够进行平方运算,求平方根运算,乘方运算,三角函数运算(包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)),对数函数(ln、log),指数函数(exp),幂函数(x~)和进制转换(包括二进制转十进制、十进制转二进制和八进制转二进制)等运算。
以下是本计算器的运算流程图:2. 设计步骤:(1) 创建一个基于对话框的应用程序。
(2) 利用资源编辑器编辑对话框资源,及设计计算器界面并修改对话框各按钮的ID 属性和Caption 属性。
计算器
湖南工程学院应用技术学院课程设计报告课程名称 C语言程序设计课题名称计算器专业电气工程及其自动化班级电气工程0783学号200713010315姓名刘毅指导教师王颖2008年3 月19 日湖南工程学院课程设计任务书课程名称C语言程序设计课题计算器专业班级电气工程0783学生姓名刘毅学号200713010315指导老师王颖审批任务书下达日期:2008 年3月8日任务完成日期:2008年3月20日前言《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。
是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
通常,课程设计的课题比平时的习题复杂得多,也更接近实际。
课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。
为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。
学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。
学习委员将课程设计报告与磁盘收齐后交指导老师。
一、目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、基本情况课程类别:必修课课程学分:1学分课程学时:1周课程对象:电气工程0781、0782、0783、0784、0785、0786四、调试过程规范化要求1)需要分析分析系统功能需求以及用户操作流程。
c分数计算器课程设计
c 分数计算器课程设计一、课程目标知识目标:1. 学生能够掌握分数计算的基本概念,包括同分母分数加减、异分母分数加减、分数乘除等运算规则。
2. 学生能够运用所学知识解决实际问题,如分数四则运算、分数与小数的转换等。
3. 学生理解分数在生活中的应用,认识到分数在数学及其他学科中的重要性。
技能目标:1. 学生能够熟练运用计算器进行分数计算,提高运算速度和准确性。
2. 学生能够通过自主探究、合作学习等方式,解决分数计算中的问题,培养解决问题的能力。
3. 学生能够运用分数知识解决实际生活中的问题,提高学以致用的能力。
情感态度价值观目标:1. 学生对分数计算产生兴趣,积极参与课堂讨论和实践活动,树立自信心。
2. 学生在小组合作中,学会倾听他人意见,尊重他人,培养团队协作精神。
3. 学生通过学习分数计算,认识到数学与生活的紧密联系,培养用数学的眼光观察和解决问题的习惯。
二、教学内容1. 同分母分数加减法:讲解同分母分数加减的运算规则,通过例题和练习,让学生掌握计算方法,并能熟练运用计算器进行操作。
2. 异分母分数加减法:引入通分概念,讲解异分母分数加减的运算规则,通过实际操作,使学生掌握通分方法,并能够运用计算器进行计算。
3. 分数乘除法:讲解分数乘除的运算规则,通过例题和练习,让学生学会使用计算器进行分数乘除运算。
4. 分数与小数的转换:讲解分数与小数的互化方法,使学生能够利用计算器进行分数与小数的转换。
5. 分数在实际问题中的应用:结合生活实例,让学生运用所学知识解决实际问题,如购物时计算折扣、计算成绩等。
教学内容依据教材章节安排,包括以下部分:1. 教材第3章“分数的计算”;2. 教材第4章“分数的应用”;3. 教材第5章“计算器的使用”。
教学进度安排:共6课时,具体安排如下:1. 同分母分数加减法(1课时);2. 异分母分数加减法(2课时);3. 分数乘除法(1课时);4. 分数与小数的转换(1课时);5. 分数在实际问题中的应用(1课时)。
C语言程序设计之简单计算器
C语言程序设计之简单计算器C语言是一种广泛应用于操作系统、嵌入式系统和各种应用程序的高级程序设计语言。
在学习C语言的过程中,我们可以通过编写简单的计算器程序来巩固所学的知识。
计算器程序的基本功能是接收用户输入的两个数字和一个运算符,然后根据用户的选择进行相应的运算,最后输出结果。
下面是一个简单的计算器程序的实现。
首先,我们需要包含头文件stdio.h和stdlib.h,以便使用标准输入输出函数和动态内存分配函数。
#include <stdio.h>#include <stdlib.h>接下来,我们定义一个函数menu,用于显示计算器的菜单选项。
用户可以选择进行加法、减法、乘法或除法运算,或者退出程序。
void menprintf("====================================\n");printf("简单计算器\n");printf("1. 加法\n");printf("2. 减法\n");printf("3. 乘法\n");printf("4. 除法\n");printf("5. 退出程序\n");printf("====================================\n");printf("请选择您要进行的运算:");然后,我们定义一个函数add,用于执行加法运算。
该函数接收两个参数:num1和num2,分别表示用户输入的两个数字。
float add(float num1, float num2)return num1 + num2;类似地,我们可以定义函数sub、mul和div,用于执行减法、乘法和除法运算。
float sub(float num1, float num2)return num1 - num2;float mul(float num1, float num2)return num1 * num2;float div(float num1, float num2)if (num2 != 0)return num1 / num2;} elseprintf("错误:除数不能为0!\n");return 0;}最后,我们在主函数中调用这些函数,实现计算器的功能。
《C++语言程序设计》课程设计报告-分数计算器
《C++语言程序设计》课程设计报告C++语言课程设计——简单计算器说明书目录一、设计目标 (3)二、设计图 (3)三、图解 (5)四、调试和测试 (9)五、分析及结论 (10)六、附录 (12)一、设计目标制作一个分数计算器,以完成分数之间,分数与整数之间的四则运算,以及求分数的指数。
系统界面不做牵制要求。
在进行运算后可以选择继续运算或者进行下一次新的运算,能实现返回功能。
二、设计图1、总体设计图2、详细图模块功能说明及调用关系说明:三、图解1、欢迎使用简单计算器2、等待系统进入主菜单在此选择计算类型【选择代码,回车确定】1、为选择分数与分数之间的四则运算、2、为选择分数与整数之间的四则运算3、为分数的指数运算0、为安全退出程序3、选择分数与分数之间的四则运算分数与分数的加法如:18/5+16/3=134/15 分数与分数的减法如:1/6-/2=-1/3注:在此举例分数与分数的加法、减法计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择4、选择分数与整数之间的四则运算分数与整数的乘法如:1/2*2=1/1分数与整数的加法如:1/5+6=31/5注:在此举例分数与整数的乘法、加法计算完成后,按y或n,选择是否继续,y则继续本类运算,n为返回到主菜单,再次进行选择5、选择分数的指数运算如:1/3的2次方等于1/9如:2/3的2次方等于4/9注:计算完成后,按y或n,选择是否继续,y则继续本类运算,n 为返回到主菜单,再次进行选择6、安全退出至此,以安全退出。
四、调试和测试<1>、调试方法:首先打开Microsoft Visual C++ 6.0 ,运行程序,出现错误修改再运行,直至运行结果0 error ,0 warning结束。
接着进入程序界面,看程序能否实现所要求的各项功能,再作下一步的修改。
<2>、调试时出现的问题及解决方案:1、当多次运行程序时,屏幕被运行数据占满,显得很杂乱。
C语言课程设计(计算器)
目录1 前言 (2)2 需求分析 (2)2.1要求 (2)2.2任务 (2)2.3运行环境 (2)2.4开发工具 (2)3 概要设计 (2)3.1系统流程图 (3)3.2查询函数流程图 (4)4 详细设计 (8)4.1分析和设计 (8)4.2具体代码实现 (9)5 课程设计总结 (25)参考文献 (25)致谢 (26)1 前言编写一个程序来实现算术计算器。
通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1.2.3等数字, +、--、*、等运算符号), 然后将其信息存入文件中。
输入一个算术计算式, 就在屏幕上显示结果。
2 需求分析2.1要求(1)用C语言实现程序设计;(2)利用结构体、共用体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交), 程序要有注释。
2.2任务(1)定义一个结构体类型数组, 输入0~9及+、--、*等符号的信息, 将其信息存入文件中;(2)输入简单的加减乘除算术计算式, 并在屏幕上显示计算结果;(3)画出部分模块的流程图;(4)编写代码;(5)程序分析与调试。
2.3运行环境(1)WINDOWS2000/XP系统(2)TurboC2.0编译环境2.4开发工具C语言3 概要设计3.1系统流程图如图3.1所示。
图3.1系统流程图3.2查询函数流程图4 详细设计4.1分析和设计在程序的开头部分定义了结构替类型, 用来存放按钮信息struct s_button /*按键的结构体*/{int sx,sy,ex,ey;char *head;int press;}button[17]; /*图表按键数*/char far *vid_mem;static int tx=32,ty=3; /*静态变量*/float v1=0.0,v2=0.0;用输入函数input()来输入按键放在s_button数组中。
c++课程设计--分数计算器
c++课程设计--分数计算器C++课程设计报告题⽬:分数计算器年级:专业:通信⼯程姓名:指导⽼师:难度 B 级教师评语:1.程序功能介绍分数计算器及测试程序,具有对输⼊的运算进⾏“+,-,*,/,^”的功能2 .程序设计要求(1)完成计算器程序,对main函数的结构进⾏改进,要求有详细的菜单选项界⾯,⽤户不选择退出就可以反复运算。
(2)完善程序,改为多操作数基本四则运算,遇#停⽌。
(3)增加函数,完成四则混合运算,注意算法要考虑运算符的优先级,对应增加主菜单选项。
(4)增加语句使四则运算具有测试功能,即计算机能够⾃动出题,并要求⽤户计算,同时计算机判断⽤户计算的对错并打分,要求⼗题⼀个单元,每题⼀个运算符,参与运算的分⼦分母均为⼀位数,运算符包括加,减,乘,除及⼤于⼩于等逻辑运算符。
3. 基本数据结构含有整型变量,字符变量,实型变量,还定义了⼀个分数类;除此之外还有以下函数:1。
分数转换为⼩数;2。
分数转换为带分数;3。
实现简单计算的函数;4。
混合运算函数;5。
随机测试题函数;6。
清屏函数。
此外还多处运⽤了运算符的重载4. 程序运⾏结果界⾯1. 初始界⾯2.功能13.功能24.功能35.功能46.功能55. 课程设计遇到的技术问题与解决思路问题1:分数的表⽰解决办法:建⽴函数,分别置分母,分⼦,同时构造约分函数问题2:真分数的表⽰解决办法:构造函数,置整数部分和分数部分书本提供的源代码虽然较为完备,但也存在⼀些错误。
问题3:乘⽅的函数功能实现,书本提供的原有的类中重载的“^”运算符⽆法实现乘⽅运算解决办法:考虑到“^”运算符作为位运算符,不能按照双⽬运算符的重载格式进⾏重载,故,将⽤于代码内部的“^”运算符改为“%”双⽬运算符进⾏重载,进⾏重载运算,但对外输⼊输出,仍使⽤作为字符常量的^,解决了源代码中,分数运算乘⽅⽆法实现的问题。
fraction operator% (const fraction &base, int exp) //^运算符并⾮双⽬运算符//不可按照双⽬运算的⽅法重载,故修改为%,进⾏内部操作{fraction returnValue;returnValue.setnum(pow(base.numerator(), exp));returnValue.setden(pow(base.denominator(), exp));returnValue.simplify();return returnValue;}问题4:输出运算符<<重载不完善,因为对于函数参数分数⾸先进⾏了取绝对值运算,从⽽导致对于输出负分数的时候,⽆法正确输出。
编译原理课程设计-简单计算器实现复习过程
编译原理课程设计-简单计算器实现课程设计报告课程:编译原理学号:姓名:班级:11级嵌入式应用技术班教师:时间:2014年6月计算机科学与技术系图三实现计算器加法功能图四实现计算器减法功能源代码:#include<stdio.h>#include<stdlib.h>#define MaxSize 99void translate(char str[],char exp[]) {struct{char data[MaxSize];int top;}op;char ch;int i = 0,t = 0;op.top = -1;ch = str[i];i++;while(ch != '\0'){switch(ch){case '(':op.top++;op.data[op.top]=ch;break;case ')':while(op.data[op.top] != '('){exp[t]=op.data[op.top];op.top--;t++;}op.top--;break;case '+':case '-':while(op.top != -1&&op.data[op.top] != '('){exp[t] = op.data[op.top];op.top--;t++;}op.top++;op.data[op.top] = ch;break;case '*':case '/':while(op.data[op.top] == '/'||op.data[op.top] == '*') {exp[t] = op.data[op.top];op.top--;t++;}op.top++;op.data[op.top] = ch;break;case ' ':break;default:while(ch >= '0'&&ch <= '9'){exp[t] = ch;t++;ch = str[i];i++;}i--;exp[t] = ' ';}ch = str[i];i++;}while(op.top != -1){exp[t] = op.data[op.top];t++;op.top--;}exp[t] = '\0';}float cal_value(char exp[]){struct{float data[MaxSize];int top;}st;float d;char ch;int t = 0;st.top = -1;ch = exp[t];t++;while(ch != '\0'){switch(ch){case '+':st.data[st.top-1] = st.data[st.top-1]+st.data[st.top]; st.top--;break;case '-':st.data[st.top-1] = st.data[st.top-1]-st.data[st.top]; st.top--;break;case '*':st.data[st.top-1] = st.data[st.top-1]*st.data[st.top]; st.top--;break;if(st.data[st.top] != 0)st.data[st.top-1]=st.data[st.top-1]/st.data[st.top]; else{printf("\n\terror");}st.top--;break;default:d=0;while(ch >= '0'&&ch <= '9'){d = 10*d+ch-'0';ch = exp[t];t++;}st.top++;st.data[st.top] = d;}ch = exp[t];t++;}return st.data[st.top];}int main(){char ch;while(1){char str[MaxSize],exp[MaxSize];printf("请输入一个表达式:\n");gets(str);printf("原表达式:%s\n",str);translate(str,exp);printf("逆波兰式:%s\n",exp);printf("计算机结果:%g\n",cal_value(exp));printf("continue y or n?:");scanf("%c",&ch); if(ch=='Y' || ch=='y') {gets(str);}else{break;}}//system("pause"); return 0;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
管理信息系统课程设计目录一、需求分析 (1)1 系统的基本要求.............................................................................................. .............. . (4)2 数据结构设计及用法说明 (1)3 功能模块 (1)4 流程图 (2)5 数据结构 (3)6 系统开发 (3)二、基本功能描述 (4)1 设计思路 (4)2 软件设计 (7)三、测试过程与结果 (15)四、结论与心得体会 (16)五、参考文献 (17)六、附录 (17)简单计算器一.需求分析1.系统的基本要求1. 算术运算功能。
能够实现+、-、*、/、mod、int运算。
2. 函数运算功能。
能够实现exp、ln、sin、x^y、log、cos、x^3、n!、tan、x^2、1/x等运算。
3. 进制之间的转换功能。
能够实现十六、十、二、八进制数据之间的转换。
4.通过键盘控制字符和数字的输入。
2.数据结构设计及用法说明此程序调用的函数主要有<math.h> /*数学函数的定义*/<conio.h> /*屏幕操作函数*/<stdio.h> /*I/O函数*/<stdlib.h> /*库函数*/<stdarg.h> //<ctype.h> /*字符操作函数*/。
基本使用:用→←↑↓控制鼠标图形移动,当*变量长度参数表*/<graphics.h> /*图形函数*/<string.h> /*字符串函数*移动到相应得按钮时按回车键输入当前数字或执行对应的函数。
加法:输入一个被加数数,按“+”,输入被加数,按“=”,输出结果。
乘法: 输入一个数,按“*”,输入另个数,按“=”,输出结果。
除法: 输入一个被除数,按“+”,输入另个除数,按“=”,输出结果。
求余:输入一个数,按“mod”,按“=”,输出结果。
取整:输入一个数,按“int”,按“=”,输出结果。
八进制转十进制:输入一个八进制数,按“10->8”,按“=”,输出十进制结果。
十六进制转十进制:输入一个十六进制数,按下“jz”+“16- >10”按“=”,输出十进制结果3.功能模块键盘控制模块:通过int specialkey(void)和键盘来实现输入数据,操作方式的控制。
计算模块:通过调用math.h中的数学函数,如:+、-、*、/、sin、cos、mod等来实现对result的赋值。
输出模块:在指定位置输出计算模块中result 的值,在指定位置输出键盘控制模块中对参量所赋的值以及在指定位置输出键盘控制模块中得到的运算符。
4.流程图5.数据结构用到了if 判断语句,for 循环语句,while 语句,且主要通过while 语句实现对键盘、光标流程图的操作和数据、运算符的输入,还用到了switch语句,switch语句的主要作用是实现对所输入的数据的运算操作,然后将运算结果赋值给result,最后输出。
6.系统实现(开发工具)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(按默认盘符和路径安装)即可。
二.基本功能描述简单计算器包括双目运算和单目运算功能。
双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,阶乘,对数,开方,倒数等运算。
可对输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。
出现错误会给出相应提示,同时包含清除,退格,退出功能以及有与所有按钮相对应的菜单项。
1 设计思路如图是整个计算器的流程图,打开计算器程序,输入数据,调用输入数据子程序。
子程序开始时m_num为零。
按下数字按钮后,判断m_num的正负号,对其进行相关处理,然后在判断是否有小数点,处理后输出结果。
回到总流程图中,输完第一个操作数后,若按下双目运算符,则把m_num存入num2,按下输入第二个操作数并算出结果。
若按下的是单目运算符,则直接对其处理得出结果。
若按下清零,则m_num等于0.在运算中还要判断运算是否合法,以及结果是否超出显示范围,以做出相关提示,按下清零。
算出后把结果保存至num2。
若需用算出的结果继续运算则回到输入完第一个操作数后,若不需要则判断试否需要开始新一轮的运算,不需要则结束。
输入数据子函数N图1 输入数据子函数流程图图2 简单计算器总流程图2 软件设计2.1 设计步骤打开Microsoft Visual C++ 6.0,在文件中点击新建,在弹出框内选择MFC AppWizard[exe]工程,输入工程名zhoutong及其所在位置,点击确定,如图3所示。
图3 新建MFC AppWizard[exe]工程将弹出MFC AppWizard-step 1对话框,选择基本对话框,点击完成,如图4所示。
图4 基本对话框这样,MFC AppWizard就建立了一个基于对话窗口的程序框架,如图5所示。
图5 新建的对话框2.2 界面设计1、创建控件在图5所示的Resoure View选项卡中打开Dialog资源组,双击IDD_ZHOUTONG_DIALOG,在右边的窗口中显示出待编辑的对话框。
开始摆放控件,包括编辑框和按钮的创建。
按钮的创建以“1”为例进行介绍,其他按钮的创建可参照此进行操作。
1)在图5中Controls的“编辑框”按钮上单击鼠标左键,在对话框编辑窗口上合适的位置按下鼠标左键并拖动鼠标画出一个大小合适的编辑框。
在编辑框上单击鼠标右键,在弹出的快捷莱单中选择属性选项,此时弹出Edit属性对话框,如图6所示,在该对话框中输入ID属性。
图6 Edit属性对话框2)在图3中Controls的“Button”按钮上单击鼠标左键,在对话框上的合适的位置上按下鼠标左键并拖动鼠标画出一个大小合适的下压式按钮。
在按钮上单击鼠标右键,在弹出的快捷菜单中选择属性选项,此时也弹出Push Button属性对话框,如图7所示,在该对话框中输入控件的ID值和标题属性。
图7 Push Button属性按照上面的操作过程编辑其他按钮和编辑框等对象的属性。
表1 各按钮和编辑框等对象的属性对象ID 标题或说明编辑框IDC_xianshi 结果显示按钮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_change +/-按钮IDC_point .按钮IDC_add +按钮IDC_difference -按钮IDC_multiply *按钮IDC_devide /按钮IDC_sqrt sqrt按钮IDC_daoshu 1/x按钮IDC_jiecheng n!按钮IDC_ln ln按钮IDC_sin sin按钮IDC_cos cos按钮IDC_pow x^y按钮IDC_Onequal =按钮IDC_backspace Backspace按钮IDC_Onclear Clear完成后界面如图8所示。
图8 计算器界面2、连接变量和代码1) 给编辑框连接变量。
在编辑框上单击鼠标右键,在弹出菜单中选择ClassWizard菜单项,弹出MFC ClassWizard对话框,选择Member Variables选项卡,如图9所示。
图9 MFC ClassWizard对话框中的Menber Variable选项卡在Control IDs列表框中选择IDC_xianshi,单击Add Variables按钮,在弹出的对话框中连接变量m_num。
变量类型设定为doubel型。
如图10所示。
图10 m_num属性设置2) 给“1”按钮连接代码。
在“1”按钮上单击鼠标右键,选择ClassWizard菜单项,在弹出的对话框中选择Messages Maps选项卡,然后在Object IDs列表框中选择IDC_ADD_BUTTON,在Messages列表框中选择BN_CLICKED项,即选择单击按钮事件,如图11所示。
图11 “1”按钮链接代码对话框3、菜单的设计选择插入/资源命令,将显示插入资源对话框。
如图12所示。
选择Menu,点击新建即可。
图12 插入资源对话框Resoure View选项卡中打开Menu资源组,双击IDR_MENU1, 然后给菜单添加相应的标题,并把每个菜单对应的ID值与相应的按钮的一致。