计算器程序
- 格式:doc
- 大小:62.50 KB
- 文档页数:13
题目:计算器用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语句实现,分别计算,然后跳出。
程序员计算器使用方法一、数值表示程序员计算器通常支持多种数值表示方式,包括十进制、二进制、八进制和十六进制。
用户可以通过切换模式来切换数值的表示方式。
例如,使用"0b"前缀表示二进制数,"0o"前缀表示八进制数,"0x"前缀表示十六进制数。
二、算术运算程序员计算器可以进行各种基本的算术运算,包括加法、减法、乘法和除法。
用户可以通过按下相应的数字键和操作符来进行计算。
例如,要计算1+2,可以按下数字键1,操作符"+",数字键2,然后按下"="键得到结果。
三、位运算程序员计算器还支持多种位运算,包括与、或、异或、位取反和位移等。
用户可以通过按下相应的位运算按钮来进行操作。
例如,要计算两个二进制数的与运算,可以先将两个二进制数输入程序员计算器,然后按下"AND"按钮得到结果。
四、进制转换程序员计算器还可以进行不同进制之间的相互转换。
用户可以通过输入一个数值,然后选择转换的目标进制来进行转换。
例如,要将一个十进制数转换为二进制数,可以先输入该十进制数,然后选择目标进制为二进制,最后按下转换按钮得到结果。
五、单位转换程序员计算器还支持单位之间的转换,如长度单位、重量单位和温度单位等。
用户可以选择需要转换的单位,输入一个数值,然后按下转换按钮得到结果。
例如,要将一个米数转换为英尺数,可以先输入该米数,选择目标单位为英尺,最后按下转换按钮得到结果。
六、函数计算一些程序员计算器还支持一些常见的数学函数计算,如三角函数、对数函数和指数函数等。
用户可以输入一个函数表达式,然后按下计算按钮得到结果。
例如,要计算sin(45°),可以先输入"sin(",然后输入角度数值45,最后按下计算按钮得到结果。
七、常量和变量八、历史记录以上便是程序员计算器的使用方法。
不同的程序员计算器可能会有些许不同,具体的使用方法可以参考相应的用户手册。
48000直曲线计算器程序程序名ZCXP=L2 ÷(24 R)- L4÷(2688 R3)M=L÷2-L3÷(240R2)B=90L÷(πR)T=(R+P)×tan(AbsA ÷2)+MC“ZH”=D-TG“HY”=C+LH“YH”=G+(AbsA÷2-2B)×πR÷180I“HZ”=H+LLbi0:{K}K≤G=→Goto1:≠→Goto2⊿Lbi1:(K-C)≤0→Goto5⊿X=K-C-(K-C)5÷(40R2L2)Y=(K-C)3÷(6LR)-(K-C)7÷(336R3L3)J=√(X2+Y2)O=tan-1(Y÷X)Q=N+Tcos(F+180)+Jcos(AbsAO÷A+F):“X0=”:Q◢S=E+Tsin(F+180)+Jsin(AbsAO÷A+F):“Y0=”:S◢W=F+3AbsAO÷ALbi2:K≥H→Goto3⊿X=Rsin((K-G)×180÷(πR)+B)+MY=R(1-cos((K-G)×180÷(πR)+B))+PJ=√(X2+Y2)O=tan-1(Y÷X)Q=N+Tcos(F+180)+Jcos(AbsAO÷A+F):“X0=”:Q◢S=E+Tsin(F+180)+Jsin(AbsAO÷A+F):“Y0=”:S◢W=F+AbsAB÷A+AbsA(K-G)×180÷(πR)÷AGoto4⊿Lbi3:K≥I→Goto6⊿X=K-I-(K-I)5÷(40R2L2)Y=(I-K)3÷(6LR)-(I-K)7÷(336R3L3)J=√(X2+Y2)O=tan-1(Y÷X)Q=N+Tcos(F+A)+Jcos(F+A+180-AbsAO÷A):“X0=”:Q◢S=N+Tsin(F+A)+Jsin(F+A+180-AbsAO÷A):“Y0=”:S◢W=F+A-3AbsAO÷AGoto4⊿Lbi4:U=Q+Zcos(W-90):“XL=”:U◢V=S+Zsin(W-90):“YL=”:V◢U=Q+Zcos(W+90):“XR=”:U◢V=S+Zsin(W+90):“YL=”:V◢Goto0⊿Lbi5:Q=N+(D-K)cos(F+180):“X0=”:Q◢S=E+(D-K)sin(F+180):“Y0=”:S◢W=FGoto4⊿Lbi6:Q=N+(T+K-I)cos(F+A):“X0=”:Q◢S=E+(T+K-I)sin(F+A):“Y0=”:S◢W=F+AGoto4⊿“END”程序名JDXXXXA=XXXXX R=XXXXX F=XXXXX D=XXXXXL=XXXXX N=XXXXX E=XXXXX Prog“ZCX”◢程序中:K表示里程(変量) Z表示該里程處左右邊樁距中心垂距A表示曲綫轉角(左轉-,右轉+)R曲綫半徑58000直曲线计算器程序程序名ZCXL2 ÷(24 R)- L4÷(2688 R3)→PL÷2-L3÷(240R2) →MB=90L÷(πR)→BT=(R+P)×tan(Abs(A) ÷2)+M→TD-T→C:“ZH=”:C◢C+L→G:“HY=”:G◢G+(AbsA÷2-2B)×πR÷180→H:“YH=”:H◢H+L→I:“HZ=”:I◢Lbi0:?KIfK≤G:ThenGoto1:ElseK>G:Goto2:IfEndLbi1:(K-C)≤0⇒ Goto5K-C-(K-C)5÷(40R2L2)→X(K-C)3÷(6LR)-(K-C)7÷(336R3L3) →Y√(X2+Y2)→Jtan-1(Y÷X)→ON+Tcos(F+180)+Jcos(AbsAO÷A+F)→Q:“X0=”:Q◢E+Tsin(F+180)+Jsin(AbsAO÷A+F)→S:“Y0=”:S◢F+3AbsAO÷A→W◢Lbi2:K≥H≯Goto3Rsin((K-G)×180÷(πR)+B)+M→XR(1-cos((K-G)×180÷(πR)+B))+P→Y√(X2+Y2)→Jtan-1(Y÷X)→OQ=N+Tcos(F+180)+Jcos(AbsAO÷A+F)→Q:“X0=”:Q◢S=E+Tsin(F+180)+Jsin(AbsAO÷A+F)→S:“Y0=”:S◢W=F+AbsAB÷A+AbsA(K-G)×180÷(πR)÷A→WGoto4Lbi3:K≥I⇒+Goto6⊿K-I-(K-I)5÷(40R2L2)→X(I-K)3÷(6LR)-(I-K)7÷(336R3L3) →Y√(X2+Y2)→Jtan-1(Y÷X)→ON+Tcos(F+A)+Jcos(F+A+180-AbsAO÷A)→Q:“X0=”:Q◢N+Tsin(F+A)+Jsin(F+A+180-AbsAO÷A)→S:“Y0=”:S◢F+A-3AbsAO÷A→WGoto4Lbi4:Q+Zcos(W-90)→U:“XL=”:U◢S+Zsin(W-90)→V:“YL=”:V◢Q+Zcos(W+90)→U:“XR=”:U◢S+Zsin(W+90)→V:“YL=”:V◢Goto0Lbi5:N+(D-K)cos(F+180)→Q:“X0=”:Q◢E+(D-K)sin(F+180)→S:“Y0=”:S◢F→W◢Goto4Lbi:6N+(T+K-I)cos(F+A)→Q:“X0=”:Q◢E+(T+K-I)sin(F+A)→S:“Y0=”:S◢F+A→WGoto4⊿“END”程序名JDXXXXXXXXX→ A XXXXX→F XXXXX→R XXXXX→D XXXXX →N XXXXX→L XXXXX→E Prog“ZCX”◢程序中:K表示里程(変量) Z表示該里程處左右邊樁距中心垂距A表示曲綫轉角(左轉-,右轉+)R曲綫半徑L:缓和曲线长F:ZH-JD方位角D交点里程N交点X坐标 E交点Y坐标。
卡西欧FX-4X00程序-面积计算-体积计算1、源程序F1 A2L1 N:P=A:Q=B:S=0:I=2L2 Lbl 0:{C,D}:F=(A+C)(B-D):S=S+FL3 A=C:B=D:I=I+1L4 I≦N=>GOTO 0⊿L5 F=(C+P)(D-Q):S=S+F:S”W”=S/2◢3、说明:(1)、本程序适用于所测断面为多边形闭合图形的面积计算。
(2)、折点坐标按顺时针方向输入,得出的面积为正,否则为负,绝对值是一样的。
4、程序代号注释A、B—计算面积起始点纵横坐标;C、D—各转折点的纵横坐标;S—代表计算过程中的有关面积;S“W”—为图形最后需要的计算面积。
N—多边形的折点个数。
体积计算1、源程序F1 A3L1 J=0:H=0:WGL2 Lbl 0:{NAB}:NAB:P=A:Q=B:S=0:I=1L3 Lbl 1:{CD}:S=S+(A+C)(B-D)/2:A=C:B=D:I=I+1L4 I<N=>GOTO 1⊿S=S+(C+P)(D+Q)/2◢L5 J≠1=>GOTO 2: ≠>L=G-H:V=(R+S+√(R*S))*L/3◢⊿W=W+V◢L6 Lbl 2:R=S:H=G:J=1:{G}:G:GOTO 02、说明(1)、程序可自动计算每一断面面积,当进行到第二个断面时就会显示出1~2断面间的体积,而后再进行第三断面面积计算,并累计出1~3断面之间的体积。
,直到最后得出需算断面间的总体积。
(2)、坐标输入时,应按顺时针方向逐个输入折点坐标,这样得出的面积为正值,一个桩号折点输入完后,程序自动进入下一桩号的输入状态。
3、程序代号注释G—断面桩号;A、B—断面起算折点的坐标;C、D—断面上其他折点坐标;S—断面面积;L—断面间距;V—本断面与前一断面之间计算出的体积。
N—G桩号断面上的折点个数;W—本断面之前所有体积之和。
计算器编程 c语言用C语言设计计算器程序源代码#include <dos.h> /*DOS接口函数*/#include <math.h> /*数学函数的定义*/#include <conio.h> /*屏幕操作函数*/函数*/#include <stdio.h> /*I/O#include <stdlib.h> /*库函数*/变量长度参数表*/#include <stdarg.h> /*图形函数*/#include <graphics.h> /*字符串函数*/#include <string.h> /*字符操作函数*/#include <ctype.h> /*#define UP 0x48 /*光标上移键*/#define DOWN 0x50 /*光标下移键*/#define LEFT 0x4b /*光标左移键*/#define RIGHT 0x4d /*光标右移键*/#define ENTER 0x0d /*回车键*/void *rar; /*全局变量,保存光标图象*/使用调色板信息*/struct palettetype palette; /*int GraphDriver; /* 图形设备驱动*/int GraphMode; /* 图形模式值*/int ErrorCode; /* 错误代码*/int MaxColors; /* 可用颜色的最大数值*/int MaxX, MaxY; /* 屏幕的最大分辨率*/double AspectRatio; /* 屏幕的像素比*/void drawboder(void); /*画边框函数*/初始化函数*/void initialize(void); /*计算器计算函数*/void computer(void); /*改变文本样式函数*/ void changetextstyle(int font, int direction, int charsize); /*窗口函数*/void mwindow(char *header); /*/*获取特殊键函数*/int specialkey(void) ;设置箭头光标函数*//*int arrow();/*主函数*/int main(){设置系统进入图形模式 */initialize();/*运行计算器 */computer(); /*系统关闭图形模式返回文本模式*/closegraph();/*/*结束程序*/return(0);}/* 设置系统进入图形模式 */void initialize(void){int xasp, yasp; /* 用于读x和y方向纵横比*/GraphDriver = DETECT; /* 自动检测显示器*/initgraph( &GraphDriver, &GraphMode, "" );/*初始化图形系统*/ErrorCode = graphresult(); /*读初始化结果*/如果初始化时出现错误*/if( ErrorCode != grOk ) /*{printf("Graphics System Error: %s\n",显示错误代码*/grapherrormsg( ErrorCode ) ); /*退出*/exit( 1 ); /*}getpalette( &palette ); /* 读面板信息*/MaxColors = getmaxcolor() + 1; /* 读取颜色的最大值*/MaxX = getmaxx(); /* 读屏幕尺寸 */MaxY = getmaxy(); /* 读屏幕尺寸 */getaspectratio( &xasp, &yasp ); /* 拷贝纵横比到变量中*/计算纵横比值*/ AspectRatio = (double)xasp/(double)yasp;/*}/*计算器函数*/void computer(void){定义视口类型变量*/struct viewporttype vp; /*int color, height, width;int x, y,x0,y0, i, j,v,m,n,act,flag=1;操作数和计算结果变量*/float num1=0,num2=0,result; /*char cnum[5],str2[20]={""},c,temp[20]={""};定义字符串在按钮图形上显示的符号 char str1[]="1230.456+-789*/Qc=^%";/**/mwindow( "Calculator" ); /*显示主窗口 */设置灰颜色值*//*color = 7;getviewsettings( &vp ); /* 读取当前窗口的大小*/width=(vp.right+1)/10; /* 设置按钮宽度 */设置按钮高度 */height=(vp.bottom-10)/10 ; /*/*设置x的坐标值*/x = width /2;设置y的坐标值*/y = height/2; /*setfillstyle(SOLID_FILL, color+3);bar( x+width*2, y, x+7*width, y+height );/*画一个二维矩形条显示运算数和结果*/setcolor( color+3 ); /*设置淡绿颜色边框线*/rectangle( x+width*2, y, x+7*width, y+height );/*画一个矩形边框线*/设置颜色为红色*/setcolor(RED); /*输出字符串"0."*/outtextxy(x+3*width,y+height/2,"0."); /*/*设置x的坐标值*/x =2*width-width/2;设置y的坐标值*/y =2*height+height/2; /*画按钮*/for( j=0 ; j<4 ; ++j ) /*{for( i=0 ; i<5 ; ++i ){setfillstyle(SOLID_FILL, color);setcolor(RED);bar( x, y, x+width, y+height ); /*画一个矩形条*/rectangle( x, y, x+width, y+height );sprintf(str2,"%c",str1[j*5+i]);/*将字符保存到str2中*/outtextxy( x+(width/2), y+height/2, str2);移动列坐标*/x =x+width+ (width / 2) ;/*}y +=(height/2)*3; /* 移动行坐标*/x =2*width-width/2; /*复位列坐标*/}x0=2*width;y0=3*height;x=x0;y=y0;gotoxy(x,y); /*移动光标到x,y位置*/显示光标*/arrow(); /*putimage(x,y,rar,XOR_PUT);m=0;n=0;设置str2为空串*/strcpy(str2,""); /*当压下Alt+x键结束程序,否则执行下面的循环while((v=specialkey())!=45) /**/{当压下键不是回车时*/while((v=specialkey())!=ENTER) /*{putimage(x,y,rar,XOR_PUT); /*显示光标图象*/if(v==RIGHT) /*右移箭头时新位置计算*/if(x>=x0+6*width)如果右移,移到尾,则移动到最左边字符位置*//*{x=x0;m=0;}else{x=x+width+width/2;m++;否则,右移到下一个字符位置*/} /*if(v==LEFT) /*左移箭头时新位置计算*/if(x<=x0){x=x0+6*width;m=4;} /*如果移到头,再左移,则移动到最右边字符位置*/else{x=x-width-width/2;m--;} /*否则,左移到前一个字符位置*/if(v==UP) /*上移箭头时新位置计算*/if(y<=y0){y=y0+4*height+height/2;n=3;} /*如果移到头,再上移,则移动到最下边字符位置*/else{y=y-height-height/2;n--;} /*否则,移到上边一个字符位置*/if(v==DOWN) /*下移箭头时新位置计算*/if(y>=7*height){ y=y0;n=0;} /*如果移到尾,再下移,则移动到最上边字符位置*/else{y=y+height+height/2;n++;} /*否则,移到下边一个字符位置*/putimage(x,y,rar,XOR_PUT); /*在新的位置显示光标箭头*/ }将字符保存到变量c中*/c=str1[n*5+m]; /*判断是否是数字或小数点*/if(isdigit(c)||c=='.') /*{如果标志为-1,表明为负数*/if(flag==-1) /*{将负号连接到字符串中*/strcpy(str2,"-"); /*flag=1;} /*将标志值恢复为1*/将字符保存到字符串变量temp中*/ sprintf(temp,"%c",c); /*将temp中的字符串连接到str2中*/strcat(str2,temp); /*setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);显示字符串*/outtextxy(5*width,height,str2); /*}if(c=='+'){将第一个操作数转换为浮点数*/num1=atof(str2); /*将str2清空*/strcpy(str2,""); /*做计算加法标志值*/act=1; /*setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);显示字符串*/outtextxy(5*width,height,"0."); /*}if(c=='-'){如果str2为空,说明是负号,而不是减号*/ if(strcmp(str2,"")==0) /*设置负数标志*/flag=-1; /*else{将第二个操作数转换为浮点数*/num1=atof(str2); /*将str2清空*/strcpy(str2,""); /*act=2; /*做计算减法标志值*/setfillstyle(SOLID_FILL,color+3);画矩形*/ bar(2*width+width/2,height/2,15*width/2,3*height/2); /*显示字符串*/outtextxy(5*width,height,"0."); /*}}if(c=='*'){将第二个操作数转换为浮点数*/num1=atof(str2); /*strcpy(str2,""); /*将str2清空*/做计算乘法标志值*/act=3; /*setfillstyle(SOLID_FILL,color+3); bar(2*width+width/2,height/2,15*width /2,3*height/2);显示字符串*/outtextxy(5*width,height,"0."); /*}if(c=='/'){将第二个操作数转换为浮点数*/num1=atof(str2); /*strcpy(str2,""); /*将str2清空*/做计算除法标志值*/act=4; /*setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,"0."); /*显示字符串*/}if(c=='^'){将第二个操作数转换为浮点数*/num1=atof(str2); /*将str2清空*/strcpy(str2,""); /*做计算乘方标志值*/act=5; /*设置用淡绿色实体填充*/ setfillstyle(SOLID_FILL,color+3); /*画矩形*/ bar(2*width+width/2,height/2,15*width/2,3*height/2); /*显示字符串*/outtextxy(5*width,height,"0."); /*}if(c=='%'){将第二个操作数转换为浮点数*/num1=atof(str2); /*strcpy(str2,""); /*将str2清空*/做计算模运算乘方标志值*/act=6; /*setfillstyle(SOLID_FILL,color+3); /*设置用淡绿色实体填充*/画矩形*/ bar(2*width+width/2,height/2,15*width/2,3*height/2); /*显示字符串*/outtextxy(5*width,height,"0."); /*}if(c=='='){将第二个操作数转换为浮点数*/num2=atof(str2); /*根据运算符号计算*/switch(act) /*{case 1:result=num1+num2;break; /*做加法*/case 2:result=num1-num2;break; /*做减法*/case 3:result=num1*num2;break; /*做乘法*/case 4:result=num1/num2;break; /*做除法*/case 5:result=pow(num1,num2);break; /*做x的y次方*/case 6:result=fmod(num1,num2);break; /*做模运算*/ }设置用淡绿色实体填充*/ setfillstyle(SOLID_FILL,color+3); /*覆盖结果区*/ bar(2*width+width/2,height/2,15*width/2,3*height/2); /*将结果保存到temp中*/sprintf(temp,"%f",result); /*outtextxy(5*width,height,temp); /*显示结果*/}if(c=='c'){num1=0; /*将两个操作数复位0,符号标志为1*/num2=0;flag=1;strcpy(str2,""); /*将str2清空*/设置用淡绿色实体填充*/ setfillstyle(SOLID_FILL,color+3); /*覆盖结果区*/ bar(2*width+width/2,height/2,15*width/2,3*height/2); /*显示字符串*/outtextxy(5*width,height,"0."); /*}如果选择了q回车,结束计算程序*/if(c=='Q')exit(0); /*}putimage(x,y,rar,XOR_PUT); /*在退出之前消去光标箭头*/返回*/return; /*}/*窗口函数*/void mwindow( char *header ){int height;cleardevice(); /* 清除图形屏幕 */setcolor( MaxColors - 1 ); /* 设置当前颜色为白色*//* 设置视口大小 */ setviewport( 20, 20, MaxX/2, MaxY/2, 1 );height = textheight( "H" ); /* 读取基本文本大小 */settextstyle( DEFAULT_FONT, HORIZ_DIR, 1 );/*设置文本样式*/settextjustify( CENTER_TEXT, TOP_TEXT );/*设置字符排列方式*/输出标题*/outtextxy( MaxX/4, 2, header ); /*setviewport( 20,20+height+4, MaxX/2+4, MaxY/2+20, 1 ); /*设置视口大小*/ 画边框*/drawboder(); /*}画边框*/void drawboder(void) /*{定义视口类型变量*/struct viewporttype vp; /*setcolor( MaxColors - 1 ); /*设置当前颜色为白色 */setlinestyle( SOLID_LINE, 0, NORM_WIDTH );/*设置画线方式*/将当前视口信息装入vp所指的结构中*/getviewsettings( &vp );/*画矩形边框*/rectangle( 0, 0, vp.right-vp.left, vp.bottom-vp.top ); /*}/*设计鼠标图形函数*/int arrow(){int size;定义多边形坐标*/int raw[]={4,4,4,8,6,8,14,16,16,16,8,6,8,4,4,4}; /*设置填充模式*/setfillstyle(SOLID_FILL,2); /*/*画出一光标箭头*/fillpoly(8,raw);测试图象大小*/size=imagesize(4,4,16,16); /*分配内存区域*/rar=malloc(size); /*存放光标箭头图象*/getimage(4,4,16,16,rar); /*putimage(4,4,rar,XOR_PUT); /*消去光标箭头图象*/return 0;}/*按键函数*/int specialkey(void){int key;等待键盘输入*/while(bioskey(1)==0); /*key=bioskey(0); /*键盘输入*/只取特殊键的扫描值,其余为0*/ key=key&0xff? key&0xff:key>>8; /*return(key); /*返回键值*/}。
手机科学计算器使用方法手机科学计算器是一款非常实用的工具,它可以帮助我们进行各种复杂的数学计算、科学计算以及工程计算。
在日常生活和工作中,我们经常会用到手机科学计算器,因此掌握其使用方法是非常重要的。
接下来,我将为大家介绍手机科学计算器的使用方法。
首先,打开手机科学计算器应用程序。
在手机的应用程序列表中找到科学计算器应用图标,点击打开应用程序。
一般来说,科学计算器应用程序的图标是一个带有数学符号的图标,比较容易识别。
接着,我们可以看到科学计算器的界面。
科学计算器通常分为标准模式和科学模式两种模式。
在标准模式下,我们可以进行基本的加减乘除运算,而在科学模式下,我们可以进行更为复杂的数学计算,比如三角函数、对数、指数等计算。
在不同的场合下,我们可以根据需要选择不同的模式进行计算。
在科学计算器的界面上,我们可以看到数字键、运算符键、功能键等。
通过点击这些键,我们可以输入数字和进行各种数学运算。
在输入数字时,我们可以直接点击数字键进行输入;在进行运算时,我们可以点击对应的运算符键,比如加号、减号、乘号、除号等。
另外,功能键可以帮助我们进行一些特殊的数学计算,比如开方、求倒数、求平方等。
除了基本的数学运算外,科学计算器还可以进行一些复杂的科学计算。
比如,我们可以使用科学计算器来进行三角函数的计算,比如正弦、余弦、正切等;我们还可以使用科学计算器来进行对数、指数的计算,以及阶乘、组合等特殊运算的计算。
这些功能在科学计算中非常常见,因此掌握科学计算器的使用方法对于进行科学计算是非常重要的。
此外,科学计算器还可以进行工程计算。
在工程领域中,我们经常需要进行一些特殊的计算,比如长度单位的换算、温度单位的换算、压力单位的换算等。
科学计算器可以帮助我们进行这些工程计算,提高工作效率。
总的来说,手机科学计算器是一款非常实用的工具,它可以帮助我们进行各种复杂的数学计算、科学计算以及工程计算。
通过掌握其使用方法,我们可以更加方便、快捷地进行各种计算,提高工作和学习效率。
实验一创建简单计算器程序实验目标本试验介绍如何创建一个简单的计算器应用程序。
技术要点创建windows窗体应用程序的基本步骤。
实验步骤1.首先,运行visual studio2005,新建一个Windows应用程序命名为calculate2.向窗体中添加【Button】按钮控件,数字0-9,并设置控件的ForeColor 属性为Blue.布局如下:3. 向窗体添加【Button】按钮控件,运行符“+”“-”“*”“/”“.”“-/+”“C”“=”。
并设置控件的ForeColor属性为Red。
4.向窗体添加【TextBox】空间用于显示数据,并将其TextAlign属性设置为“Right”。
5.在Form1类中对下列数据进行定义和初始化:6. 在类中增加如下方法:7. 双击【Button】空间0-9,分别在每个按钮的Click事件处理程序中添加如下代码:setText("0");setText("1");setText("2");setText("3");setText("4");setText("5");setText("6");setText("7");setText("8");setText("9");8.双击“+”号按钮,添加如下事件处理代码:setOperator(1);9.双击“-”号按钮,添加如下事件处理代码:setOperator(2);10.双击“*”号按钮,添加如下事件处理代码:setOperator(3);11.双击“/”号按钮,添加如下事件处理代码:setOperator(4);12.双击“=”号按钮,添加如下事件处理代码:doEquals();13.双击“.”号按钮,添加如下事件处理代码:setDecimal();14.双击“C”号按钮,添加如下事件处理代码:isSecond = false;setText("clear");15.程序运行结果如图:实验二使用菜单实验目标本实验介绍如何在应用程序中加入菜单,并通过菜单响应用户的请求技术要点创建窗体应用程序菜单的简单步骤,时间响应方法。
基本操作基础教程(Windows 7+Office 2010)65 图2-41 窗口搜索框(1)在“搜索”框中键入文件或文件名的一部分。
(2)键入时,将自动筛选文件夹或库的内容,以逐个反射键入的连续字符。
当看到需要的文件后,即可停止键入。
案例三 计算机的系统自带功能小红在使用计算机时发现Windows 7有些自带的娱乐功能。
步骤1:截取屏幕图片要想保存屏幕上显示的一些画面,可以采用截取屏幕或图片的方式,下面介绍3种常用方法。
(1)按住“Print Screen”键截取整个屏幕,并将全屏画面保存在剪贴板中。
可以将剪贴板的内容“粘贴”到文档中;也可以“粘贴”到一些图形处理软件中,对图片做进一步的编辑,如Windows 7自带的“画图”软件。
(2)按住“Alt”键的同时,再按“Print Screen”键,可以截取屏幕上的活动窗口,并将活动窗口画面保存在剪贴板中。
然后可以将剪贴板的内容“粘贴”到相应的位置。
(3)单击“开始”按钮,选择“截图工具”,移动鼠标可以看到截图标识“+”,按住鼠标左键将“+”从左上向右下拉动,即可选择要截取的图片,放开左键就把图片截取下来。
系统默认将图片保存在“图片库”文件夹里,也可以“粘贴”到其他位置。
步骤2:使用“画图”程序Windows 7自带的“画图”程序是一个编辑图形、图片的小工具。
使用它可以绘制各种规则或不规则的形状,例如椭圆、矩形和各种线条等。
1.启动“画图”程序单击“开始”按钮,打开“所有程序”→“附件”→“画图”,启动“画图”程序,如图2-42所示。
2.主界面介绍(1)标题栏:包括快速访问工具栏、文件名称和控制按钮。
(2)功能区:包括“剪贴板”“图像”“工具”“形状”“颜色”等功能区,每个功能区都包含多种工具和功能按钮。
(3)画布:即绘图区域,可以在此区域画各种图形或处理图片。
步骤3:使用“计算器”程序1.启动“计算器”程序单击“开始”按钮,打开“所有程序”→“附件”→“计算器”,启动“计算器”程序。
简单计算器程序操作步骤一、建立”D\ajsq”文件夹二、用VC6编写“简单计算器程序”1、启动VC6,创建“简单计算器程序”工程。
选择D:\asjq,工程名:jsq,选择基于对话框,下一步,完成。
(介绍:类卡、文件卡、资源卡,代码提示工具卡两个,安装visual assist X)2、设计主界面对话框:IDD_JSQ_DIALOG,删除自生成的控件,添加三个Edit Box文本编辑框控件、一个Button按钮控件。
(1)对EDIT查看属性、增加、关联变量:右击EDIT1,选属性,查看ID号为:IDC_EDIT1。
增加、关联变量,右击EDIT1,建立类向导,选成员变量,选中IDC_EDIT1,单击增加变量,名称:m_a,value:float,单击OK。
右击EDIT2,选属性,查看ID号为:IDC_EDIT2。
增加、关联变量,右击EDIT2,建立类向导,选成员变量,选中IDC_EDIT2,单击增加变量,名称:m_b,value:float,单击OK。
右击EDIT3,选属性,查看ID号为:IDC_EDIT3。
增加、关联变量,右击EDIT3,建立类向导,选成员变量,选中IDC_EDIT3,单击增加变量,名称:m_c,value:float,单击OK。
(2)对BUTTON1修改属性和增加消息映射响应函数:右击BUTTON1,选属性,查看ID号为:IDC_BUTTON1,修改标题为:add;增加消息映射响应函数,右击,建立类向导,选中Message Maps,选中IDC_BUTTON1,选中BN_CLICKED,单击Add Function,名称:OnButton1,单击OK。
单击edit code,编写代码:BUTTON1的OnButton1的代码.txt。
UpdateData(true); //从控件得到值赋给变量,给m_a=5;m_b=8;m_c=0;m_c=m_a+m_b; // m_c=13;UpdateData(false); //从变量值给控件显示,文本框分别显示:5,8,13;三、操作使用所编写的“简单计算器程序”F7,Ctrl+F51。
计算器的程序,很简单,只弄了+-法,乘除没弄,只要把代码看懂照着+-法改一下就行了,不过涉及到多级运算只用一个LastClick是不行的程序的控件就两种CommandBotton和TextBox都是最基本的先创建十一个CommandBotton,Caption改为0-9以及一个"."(小数点)创建三个CommandBotton,Caption改为“-”,“+”“=”创建五个CommandBotton,Caption改为“CM”(clearmemory) “MR”(memoryrecall) “MS”(memorysave) “C”(clear) “AC”(allclear)再创建个TextBox下面的是对应代码,很清楚Dim Counter As Double ‘这个用来记录结果Dim Memory As Double ‘用来记录你保存的数,这个我们用的科学计算器里也有Dim Reg As Double ‘这个也是用来记录结果Dim CalcNumber As Long ‘这个是判断:1当之前点过一次+或-时再点一次运算结果,2如果前面没点过+或-则不进行运算Dim DisplayFromNew As Boolean ‘这个用来判断输入框状态:是接着输入还是从新输入新的数Dim AlreadyDecimalThere As Boolean ‘这个用来判断是否能用小数点Dim LastClick As String ‘这个用来记录最后一次选择的运算法则Private Sub Form_Load()Display.Text = "0"Reg = 0CalcNumber = 0DisplayFromNew = TrueAlreadyDecimalThere = FalseEnd SubPrivate Sub AllClear_Click() ‘这个不用说了,是全部清空DisplayFromNew = True ‘恢复到初始状态Counter = 0Display.Text = "0" ‘清空输入框CalcNumber = 0Reg = 0AlreadyDecimalThere = False ‘恢复到初始状态End SubPrivate Sub Clear_Click() ‘清空,但不清空纪录DisplayFromNew = TrueDisplay.Text = "0"End SubPrivate Sub ClearMemory_Click() ‘清空纪录Memory = 0End SubPrivate Sub Decimal_Click() ‘关于小数点的If AlreadyDecimalThere = False ThenAddDisplayDigit "."AlreadyDecimalThere = True ‘每次输入只能输一次小数点End IfEnd SubPrivate Sub Equals_Click() ‘等号时的If LastClick = "Minus" ThenIf CalcNumber = 0 ThenReg = CDbl(Display.Text) ‘记录DisplayFromNew = TrueCalcNumber = 1Else ‘这个的意思是,如果只点了法则(+或-)之后没点数,就加上前面输的数,但我觉得这样就等于前面输得数的2倍(+时)或0(-时),所以不用这么麻烦Counter = Reg - CDbl(Display.Text)Display.Text = CStr(Counter)DisplayFromNew = TrueAlreadyDecimalThere = FalseReg = CDbl(Display.Text)End IfElseIf LastClick = "Addition" Then ‘这是加法,和减法一样If CalcNumber = 0 ThenReg = CDbl(Display.Text)DisplayFromNew = TrueCalcNumber = 1ElseCounter = Reg + CDbl(Display.Text)Display.Text = CStr(Counter)DisplayFromNew = TrueAlreadyDecimalThere = FalseReg = CDbl(Display.Text)End IfEnd IfCalcNumber = 0End SubSub AddDisplayDigit(Additio n As String) ‘这一段十分重要,也是大家要学习的,就是自己创建一个函数,这样应用起来会十分方便If DisplayFromNew = True ThenDisplay.Text = Addition ‘当DisplayFromNew = True时(大家注意杂那几种情况下= True)输入栏从新显示刚输入的数DisplayFromNew = False ‘之后立即变为False,因为要接着这个数继续输入ElseDisplay.Text = Display.Text & Add ition ‘当DisplayFromNew = False 就是接着输入栏里已有的数字继续输入End IfEnd Sub注:为何要弄两种情况呢,因为当点击-或+时,要求输入栏从新记录Private Sub MemorySave_Click() ‘这是保存记录If DisplayFromNew = False ThenMemory = CDbl(Display.Text)End IfEnd SubPrivate Sub MemoryRecall_Click() ‘打开纪录Display = CStr(Memory)End SubPrivate Sub Minus_Click() ‘点击If CalcNumber = 0 ThenReg = CDbl(Display.Text)DisplayFromNew = TrueCalcNumber = 1Else ‘这个就是如果前面输过一次-号,再点-号就运算结果,这一点是很重要的,如果不加这个就无法进行连续运算Counter = Reg - CDbl(Display.Text)Display.Text = CStr(Counter)DisplayFromNew = TrueAlreadyDecimalThere = FalseReg = CDbl(Display.Text)End IfLastClick = "Minus"End SubPrivate Sub Plus_Click() ‘和减法一样If CalcNumber = 0 ThenReg = CDbl(Display.Text)DisplayFromNew = TrueCalcNumber = 1ElseCounter = Reg + CDbl(Display.Text)Display.Text = CStr(Counter)DisplayFromNew = TrueAlreadyDecimalThere = FalseReg = CDbl(Display.Text)End IfLastClick = "Addition"End Sub‘下面的就简单了0-9,不过用到了前面定义的函数AddDisplayDigit,大家看到这个自定义函数的作用了吧Private Sub Nine_Click()AddDisplayDigit "9"End SubPrivate Sub Eight_Click()AddDisplayDigit "8"End SubPrivate Sub Seven_Click()AddDisplayDigit "7"End SubPrivate Sub Six_Click()AddDisplayDigit "6"End SubPrivate Sub Five_Click()AddDisplayDigit "5"End SubPrivate Sub Four_Click() AddDisplayDigit "4"End SubPrivate Sub Three_Click() AddDisplayDigit "3"End SubPrivate Sub Two_Click() AddDisplayDigit "2"End SubPrivate Sub One_Click() AddDisplayDigit "1"End SubPrivate Sub Zero_Click() AddDisplayDigit "0"End Sub。
VB计算器加减乘除代码以下是一个简单的VB计算器程序,可以进行加减乘除运算。
```vbPublic Class Form1Dim num1 As DoubleDim num2 As DoubleDim op As StringPrivate Sub btnNum_Click(sender As Object, e As EventArgs) Handles btn0.Click, btn1.Click, btn2.Click, btn3.Click,btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click,btn9.ClickDim btn As Button = DirectCast(sender, Button)txtDisplay.Text += btn.TextEnd SubPrivate Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.ClicktxtDisplay.Text = ""End SubPrivate Sub btnOperator_Click(sender As Object, e As EventArgs) Handles btnPlus.Click, btnMinus.Click,btnMultiply.Click, btnDivide.ClickDim btn As Button = DirectCast(sender, Button)num1 = Double.Parse(txtDisplay.Text)op = btn.TexttxtDisplay.Text = ""End SubPrivate Sub btnEquals_Click(sender As Object, e As EventArgs) Handles btnEquals.Clicknum2 = Double.Parse(txtDisplay.Text)Dim result As DoubleSelect Case opCase "+"result = num1 + num2Case "-"result = num1 - num2Case "*"result = num1 * num2Case "/"If num2 <> 0 Thenresult = num1 / num2ElseMessageBox.Show("除数不能为0!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)txtDisplay.Text = ""ReturnEnd IfEnd SelecttxtDisplay.Text = result.ToStringEnd SubEnd Class```在这个计算器程序中,我使用了一个文本框(txtDisplay)来显示用户输入的数字和运算结果。
使用计算器的流程1. 熟悉计算器界面•开机启动计算器程序,进入计算器界面。
•界面通常由数字键盘、运算符、清除键和等于键等组成。
•留意界面上的特殊功能键,如开方、求平方等。
2. 输入数值•使用数字键盘输入第一个待计算的数值。
•可以通过字母键盘的“退格”或“删除”键进行修正。
•检查确认输入的数值正确无误。
3. 选择运算符•从界面上的运算符按钮中选择一个合适的运算符。
•常见的运算符有加法、减法、乘法、除法等。
•可以根据具体需要先选择特殊功能键,如开方、求平方等。
4. 输入第二个数值•与步骤2类似,使用数字键盘输入第二个待计算的数值。
•再次确认数值输入的准确性。
5. 进行计算•点击界面上的等于键,开始进行数值计算。
•计算器自动完成计算,并在显示屏上显示计算结果。
•等待计算结果的显示。
6. 检查结果•检查计算结果是否符合预期。
•确认结果的精确性和正确性。
•如有需要,可以通过按下特定功能键,如“清除”键或“重置”键来重新计算。
7. 持续计算•如需继续进行计算,可以重复步骤2至步骤6。
•输入新的数值和运算符,进行新的计算。
•可以连续计算多个数值,得到多个计算结果。
8. 关闭计算器•使用计算器结束后,点击界面上的关闭或退出按钮。
•计算器程序将退出,界面关闭。
9. 注意事项•在使用计算器时,注意数值的大小范围,避免超出计算器的承载能力。
•注意运算符的优先级和顺序,确保计算结果的准确性。
•使用计算器时要小心输入错误,确保数值的准确性。
•当有需要时可以参考计算器的用户手册,了解更多使用方法和功能。
以上是使用计算器的基本流程,希望能对您有所帮助。
计算器在日常生活和工作中扮演着重要的角色,了解如何正确使用计算器可以提高工作效率,减少错误率。
请根据实际情况,结合计算器的具体功能和特点,灵活应用。
主程序F3LbI 1:A“X1”:B“Y1”:C“X2”:D“Y2”N=0:E=C-A:F=D-B ↙ Prog“F1”↙{P}:P≥1 Prog“F2”△↙LbI 6:{XY}:E=X-A:F=Y-B:Prog“F1”:N≠1 L=G ↙Z≥L M=Z-L-180: M=Z-L+180: △↙M >0 M=180-M ▲M=180+Abs M▲△ Goto 6 ↙子程序F1E=0 Goto4 △ I=tan-1Abs(F÷E):S=√ (E2+F2) ▲F≥0 Goto2△E<0 G=180+I▲G = 360-I▲△Goto 5↙LbI 2:E<0 G=180-I ▲G = I ▲△ Goto 5 ↙LbI 4:F>0 G = 90 ▲G =270 ▲△ Goto 5 ↙LbI 5:N=N+1:N=1 Z= G △↙子程序F2LbI 9:{SI}:P=G+180-I:X=A+Scosp▲Y=B+SsinP ▲{o}:o≤0 Goto 9 △ o≤1 A=X:B=Y:G=P+180:G>360 G = G-360:Goto 9 △↙说明:1、主程序F3,已知座标放线;2、P<1主程序进入座标放样计算,P≥1时主程序进入座标计算;3、F3中的S是站点至待放点的距离,M是后视点至待放点的左角。
4、F2中的O表示站点,O>1迁站重新输入(X1,Y1)(X2,Y2)计算座标。
输入转角I时;转角左转I取“+”,右转I取“—”。
5、F2中的S,是表示站点至待求座标点的距离,用测距仪测定。
主程序:PQXLbI O:A“K0”:B“X0”:C“Y0”:D“L0”:E“A0”:F“B0”:G“K1”:N :R:T:Z:L=K-A:S=K-A-D:I=G-K ↙{K} ↙N<1 Prog “P1”:Goto O △↙N=1 Prog “P2”:Goto O △↙Prog “P3”↙Goto O ↙子程序:P1Z≤1 X=B+[L-L5÷(40R2D2)]CosE+[L3cos(E+90)]÷(6RD)▲Y=C+[L-L5÷(40R2D2)]sinE+[ L3sin(E+90)] ÷(6RD) ▲Y=C+[L-L5÷(40R2D2)]sinE+[ L3sin(E-90)] ÷(6RD)▲子程序:P2Z≤1 X=B+[D- D3÷(40R2)]cosE+[(D2÷(6R))]cos(E+90)+[S-S3÷(6 R2 )+ S5 /(120R4 )]Cos[E+(90D) ÷(πR )]+[ S2÷(2R)-S4÷(24R3)+S6÷(720R5)]cos[E+(90D)÷(πR)+90] ▲ Y=C+[D- D3÷(40R2)]sinE+[(D2÷(6R))]sin(E+90)+[S-S3÷(6R2)+S5÷(120R4)]sin[E+(90D)÷(πR)]+[S2÷(2R)-S4÷(24R3)+S6÷(720R5)]sin[E+(90D)÷(πR)+90] ▲X=B+[D-D3÷(40R2)]cosE+[(D2÷(6R)]cos(E-90)+[S-S3÷(6R2) +S5÷(120R4)]cos[E-(90D)÷(πR)]+[S2÷(2R)-S4÷(24R3)+S6÷(720R5)]cos[E-(90D)÷(πR)-90] ▲Y=C+[D-D3÷(40R2)]sinE+[(D2÷(6R)]sin(E-90)+[S-S3÷(6R2) +S5÷(120R4)]sin[E-(90D)÷(πR)]+[S2÷(2R)-S4÷(24R3)+S6÷(720R5)]sin[E-(90D)÷(πR)-90] ▲子程序:P3Z≤1 X=B+TcosE+Tcos(E+F)+[I-I5÷(40R2D2)]cos(E+F+180) +[I3÷(6RD)]cos(E+F+180-90)▲Y=C+TsinE+Tsin(E+F)+[I-I5÷(40R2D2)]sin(E+F+180) +[I3÷(6RD)]sin(E+F+180-90)▲X=B+TcosE+Tcos(E-F)+[I-I5÷(40R2D2)]cos(E-F+180) +[I3÷(6RD)]cos(E-F+180+90)▲Y=C+TsinE+Tsin(E-F)+[I-I5÷(40R2D2)]sin(E-F+180)+[I3÷(6RD)]sin(E-F+180+90)▲说明:1.K0为ZH点桩号;(X0,Y0)为ZH点座标;L0为缓和曲线段长度,A0为直线方位角;B0为转角;K1为HZ点桩号;N为条件参数;R为半径;T为切线长;Z为条件参数;K为待求点桩号。
VB计算器程序代码下面是一个简单的VB计算器程序代码,可以进行基本的四则运算:```VBImports System.MathPublic Class Form1Dim num1, num2, result As DoubleDim operatorType As String = ""Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadEnd SubPrivate Sub Button_Click(sender As Object, e As EventArgs) Handles btn0.Click, btn1.Click, btn2.Click, btn3.Click,btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click, btn9.Click, btnDot.ClickDim button As Button = CType(sender, Button)If button.Text = "." ThenIf Not txtDisplay.Text.Contains(".") ThentxtDisplay.Text += button.TextEnd IfElsetxtDisplay.Text += button.TextEnd IfEnd SubPrivate Sub Operator_Click(sender As Object, e As EventArgs) Handles btnAdd.Click, btnSubtract.Click, btnMultiply.Click, btnDivide.ClickDim button As Button = CType(sender, Button)num1 = CDbl(txtDisplay.Text)operatorType = button.TexttxtDisplay.ClearEnd SubPrivate Sub btnEquals_Click(sender As Object, e As EventArgs) Handles btnEquals.Clicknum2 = CDbl(txtDisplay.Text)Select Case operatorTypeCase "+"result = num1 + num2Case "-"result = num1 - num2Case "*"result = num1 * num2Case "/"If num2 <> 0 Thenresult = num1 / num2ElseMessageBox.Show("除数不能为零!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)End IfEnd SelecttxtDisplay.Text = result.ToStringEnd SubPrivate Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.ClicktxtDisplay.ClearEnd SubPrivate Sub btnSqrt_Click(sender As Object, e As EventArgs) Handles btnSqrt.ClickIf txtDisplay.Text = "" ThenMessageBox.Show("请输入一个数字!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Elsenum1 = CDbl(txtDisplay.Text)result = Sqrt(num1)txtDisplay.Text = result.ToStringEnd IfEnd SubPrivate Sub btnPower_Click(sender As Object, e As EventArgs) Handles btnPower.ClickIf txtDisplay.Text = "" ThenMessageBox.Show("请输入一个数字!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)Elsenum1 = CDbl(txtDisplay.Text)result = num1 ^ 2txtDisplay.Text = result.ToStringEnd IfEnd SubPrivate Sub btnBackspace_Click(sender As Object, e As EventArgs) Handles btnBackspace.ClickIf txtDisplay.Text.Length > 0 ThentxtDisplay.Text = txtDisplay.Text.Substring(0, txtDisplay.Text.Length - 1)End IfEnd SubPrivate Sub btnNegative_Click(sender As Object, e As EventArgs) Handles btnNegative.ClickIf txtDisplay.Text.Length > 0 ThenIf txtDisplay.Text.Substring(0, 1) = "-" ThentxtDisplay.Text = txtDisplay.Text.Substring(1, txtDisplay.Text.Length - 1)ElsetxtDisplay.Text = "-" + txtDisplay.TextEnd IfEnd IfEnd SubEnd Class```这个计算器程序具有以下功能:1.支持0-9的数字输入和小数点的输入。
实用计算器的程序设计及代码示例计算器是现代人经常使用的工具,它能够进行各种数学运算,如加减乘除、取余、开方等。
本文将介绍实用计算器的程序设计和提供代码示例,帮助读者了解计算器的原理和实现方式。
一、程序设计思路在设计实用计算器的程序时,首先需要确定计算器的功能和界面设计。
一般来说,一个基本的计算器应该具备以下功能:数字键、运算符键、等号键、清除键和显示屏。
程序的设计思路如下:1. 定义一个变量num,用于保存当前输入的数字。
2. 定义一个变量result,用于保存计算结果。
3. 通过按钮点击事件,获取用户输入的数字和运算符,并根据用户的选择进行相应的计算。
4. 将计算结果显示在显示屏上。
二、代码示例下面是一个简单的实用计算器程序的代码示例,采用Python语言编写:```from tkinter import *def clear():display.delete(0, END)def calculate():expression = display.get()result = eval(expression)display.delete(0, END)display.insert(0, result)def button_click(number):current = display.get()display.delete(0, END)display.insert(0, str(current) + str(number))root = Tk()root.title("实用计算器")display = Entry(root, width=25, borderwidth=5)display.grid(row=0, column=0, columnspan=4, padx=10, pady=10)button_1 = Button(root, text="1", padx=10, pady=10, command=lambda: button_click(1))button_2 = Button(root, text="2", padx=10, pady=10, command=lambda: button_click(2))button_3 = Button(root, text="3", padx=10, pady=10, command=lambda: button_click(3))button_4 = Button(root, text="4", padx=10, pady=10, command=lambda: button_click(4))button_5 = Button(root, text="5", padx=10, pady=10, command=lambda: button_click(5))button_6 = Button(root, text="6", padx=10, pady=10, command=lambda: button_click(6))button_7 = Button(root, text="7", padx=10, pady=10, command=lambda: button_click(7))button_8 = Button(root, text="8", padx=10, pady=10, command=lambda: button_click(8))button_9 = Button(root, text="9", padx=10, pady=10, command=lambda: button_click(9))button_0 = Button(root, text="0", padx=10, pady=10, command=lambda: button_click(0))button_add = Button(root, text="+", padx=10, pady=10,command=lambda: button_click("+"))button_subtract = Button(root, text="-", padx=10, pady=10,command=lambda: button_click("-"))button_multiply = Button(root, text="*", padx=10, pady=10, command=lambda: button_click("*"))button_divide = Button(root, text="/", padx=10, pady=10, command=lambda: button_click("/"))button_clear = Button(root, text="C", padx=10, pady=10, command=clear)button_equal = Button(root, text="=", padx=10, pady=10, command=calculate)button_1.grid(row=1, column=0)button_2.grid(row=1, column=1)button_3.grid(row=1, column=2)button_add.grid(row=1, column=3)button_4.grid(row=2, column=0)button_5.grid(row=2, column=1)button_6.grid(row=2, column=2)button_subtract.grid(row=2, column=3)button_7.grid(row=3, column=0)button_8.grid(row=3, column=1)button_9.grid(row=3, column=2)button_multiply.grid(row=3, column=3)button_0.grid(row=4, column=0)button_clear.grid(row=4, column=1)button_equal.grid(row=4, column=2)button_divide.grid(row=4, column=3)root.mainloop()```以上代码使用了`tkinter`库创建了一个简单的图形界面,包含数字按钮、运算符按钮、清除按钮和等于按钮。
一、功能及原理说明1. 功能说明:本程序由一个主程序(1-MAIN)和七个子程序——正算子程序(1-SUB-ZS)、反算子程序(1-SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序在CASIO FX-5800P计算器运行。
2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<=0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出反算结果。
3. 程序输入计算器后,请根据统计串列List X,Y,freq[N]在程序中实际可能被使用的维数,将其统计矩阵串列改为包含相应维数的任意数据的矩阵,即在list列表中随机输入相应维数的数据,保证矩阵大小符合维数要求。
4. 本程序正算速度在1-2秒左右,反算比正算慢点,可根据需要调整精度加快速度。
本程序可建立曲线要素数据库及高程变坡点数据库,一次输入整条线路数据,计算时自动调用数据库,实现全线贯通,也可临时手动输入线元计算要素进行计算。
5. 本程序由小骆在前人的基础上改进而成,经个人测试可用。
学识浅薄,不足之处,在所难免,欢迎提出改进意见。
交流邮箱:716118673@二、源程序1.主程序(1-MAIN)Deg:fix 320→DimZLbl 0:cls:“INPUT(0),ZX(1),YX(2)”?I (选择手动输入计算参数0,还是调用线路数据1,2)If I=0:Then Prog “1-DAT1”:IfEnd“SZ=>XY(1),XY=>SZ(2)”?N(正算,反算)If N=1 :Then Goto 1Else If N=2 :Then Goto 2Else Goto 3IfEnd:IfEndLbl 1:“KP=”?S(输入待求桩号)If S<0:Then Goto 0:IfEnd“JL(m)=”?Z (输入偏距)If Z≠0:Then “ANGLE→R(Deg)=”?M:IfEnd (输入斜交右角)If I≠0:Then Prog “1-DAT2”:IfEndS-O→W:If W<0:Then Goto 0:Else If W>H:Then cls:locate 6,2,"KP OUT"◢Goto 0:IfEnd:IfEnd(前半条针对“DAT”情况,后半条针对“INPUT”情况。
C语言简单计算器程序源代码以下是一个简单的C语言计算器程序的源代码:```c#include <stdio.h>int maichar operator;double num1, num2;printf("请输入运算符:");scanf("%c", &operator);printf("请输入两个数字:");scanf("%lf %lf", &num1, &num2);switch (operator)case '+':printf("%.2lf + %.2lf = %.2lf", num1, num2, num1 + num2); break;case '-':printf("%.2lf - %.2lf = %.2lf", num1, num2, num1 - num2); break;case '*':printf("%.2lf * %.2lf = %.2lf", num1, num2, num1 * num2);break;case '/':if (num2 != 0)printf("%.2lf / %.2lf = %.2lf", num1, num2, num1 / num2);elseprintf("除数不能为0");break;default:printf("无效的运算符");}return 0;```这个程序首先提示用户输入一个运算符,然后再提示输入两个数字。
接下来,程序会根据输入的运算符执行相应的计算,并打印结果。
在计算除法时,程序会检查除数是否为0,如果为0,则打印错误信息。
请注意,这只是一个非常简单的计算器程序,没有考虑很多错误处理情况。
本程序是一个能计算8位10进制的简易计算器,能算加减乘除,除法精确到小数点后3位,原理图和说明说也已上传到文库!~~矩阵键盘子程序:JP_SCAN.H#define SCANP P1sbit been=P2^0;#define uchar unsigned char#define uint unsigned intvoid delay(uint c){uchar x,y;for(x=c;x>0;x--)for(y=110;y>0;y--);}uchar SCAN(){uchar temp,num=16;SCANP=0xfe;temp=SCANP;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=SCANP;temp=(temp&0xf0);while(temp!=0xf0){temp=SCANP;switch(temp){case 0xee: num=1;break;case 0xde: num=2;break;case 0xbe: num=3;break;case 0x7e: num=10;break;}while(temp!=0xf0) //松手检测{temp=SCANP;temp=temp&0xf0;been=0;}been=1;}}SCANP=0xfd;temp=SCANP;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=SCANP;temp=(temp&0xf0);while(temp!=0xf0){temp=SCANP;switch(temp){case 0xed: num=4;break;case 0xdd: num=5;break;case 0xbd: num=6;break;case 0x7d: num=11;break;}while(temp!=0xf0) //松手检测{temp=SCANP;temp=temp&0xf0;been=0;}been=1;}}SCANP=0xfb;temp=SCANP;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=SCANP;temp=(temp&0xf0);while(temp!=0xf0){temp=SCANP;switch(temp){case 0xeb: num=7;break;case 0xdb: num=8;break;case 0xbb: num=9;break;case 0x7b: num=12;break;}while(temp!=0xf0) //松手检测{temp=SCANP;temp=temp&0xf0;been=0;}been=1;}}SCANP=0xf7;temp=SCANP;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=SCANP;temp=(temp&0xf0);while(temp!=0xf0){temp=SCANP;switch(temp){case 0xe7: num=15;break;case 0xd7: num=0;break;case 0xb7: num=14;break;case 0x77: num=13;break;}while(temp!=0xf0) //松手检测{temp=SCANP;temp=temp&0xf0;been=0;}been=1;}}return(num);}液晶显示子程序:LCD_DESPLAY.H //液晶显示子函数sbit RS=P2^5;sbit RW=P2^6;sbit EN=P2^7;void write_com(uchar a){RS=0;P0=a;delay(5);EN=1;delay(5);EN=0;}void write_data(uchar date){RS=1;P0=date;delay(5);EN=1;delay(5);EN=0;}void init(){RW=0;EN=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);// write_com(0x80);}算法运算子函数:calcuate.Huchar i=0,r[8]={0};uint x=0,y=0;void error(){r[0]=11;r[1]=10;r[2]=11;r[3]=11;r[4]=10;r[5]=12;r[6]=12;r[7]=12;}void fenwei(){r[0]=x%10;r[1]=(x%100)/10;r[2]=(x%1000)/100;r[3]=(x%10000)/1000;r[4]=(x%100000)/10000;r[5]=(x%1000000)/100000;r[6]=(x%10000000)/100000;r[7]=x/10000000;}void calcuate(uchar k,uchar a[8],uchar b[8]) {for(i=7;i>0;i--){while(a[i]==12)a[i]=0;while(b[i]==12)b[i]=0;}x=a[4];x=10000*x;x=x+a[0]+a[1]*10+a[2]*100+a[3]*1000+a[5]*100000+a[6]*1000000+a[7]*10000000; y=b[4];y=10000*4;y=y+b[0]+b[1]*10+b[2]*100+b[3]*1000+b[5]*100000+b[6]*1000000+b[7]*10000000; if(k==10) //加法运算{x=x+y;if(x>99999999)error();elsefenwei();}if(k==11) //减法运算{if(x<y){x=y-x;if(x>99999999)error();else{fenwei();for(i=7;i>0;i--){if(r[i]==0&&r[i-1]!=0){r[i]=14;break;}}}}else{x=x-y;fenwei();}}if(k==12) //乘法运算{i=x;x=x*y;if(y==0)x=0;elseif(x>99999999||x<i)error();else{fenwei();}}if(k==13) //除法运算{if(y==0)error();else{x=x/y;fenwei();}}for(i=7;i>0;i++){if(r[i]==0)r[i]=12;else break;}// for(i=0;i<8;i++)// {// dsp[i+1]=r[i];//// }}主函数:// Name: kavin// Time; 2010年12月20日// Use: 简单计算器#include<reg52.h>#include<stdio.h>#include<math.h>#include<JP_SCAN.h>#include<LCD_DESPLAY.H>void fenwei();// void error();void jisuan();void desplay2();void desplay();uchar a[9],b[9] ,r[3];uchar s,t,i;long x,y;uchar code table[16]={"0123456789er =-."};void main(){init();while(1){a[0]=SCAN();if(a[0]<10){s++;for(i=s;i>0;i--){a[i]=a[i-1];}delay(5);a[0]=16;desplay();}if(a[0]>9&&a[0]<14){for(i=1;i<9;i++){b[i]=a[i];a[i]=12;}t=a[0];init();s=0;a[0]=16;}if(a[0]==14){s=0;a[0]=16;jisuan();desplay2();}if(a[0]==15){a[0]=16;init();s=0;for(i=1;i<9;i++){a[i]=12;b[i]=12;}for(i=0;i<3;i++)r[i]=0;}}}void desplay() //输入显示函数{for(i=8;i>0;i--){if(a[i]==0)a[i]=12;else break;}write_com(0x80+0x08);for(i=8;i>=1;i--){write_data(table[a[i]]);delay(3);}}void desplay2() //计算结果输出显示函数{for(i=8;i>1;i--){if(a[i]==0)a[i]=12;elsebreak;}write_com(0x80+0x40);// write_data(table[13]);// write_com(0x80+0x41);for(i=8;i>0;i--){write_data(table[a[i]]);delay(3);}if((r[0]+r[1]+r[2])!=0){write_data(table[15]);for(i=3;i>0;i--){write_data(table[r[i-1]]);delay(5);}}}void jisuan() //结果计算函数{for(i=9;i>0;i--){if(a[i]==12)a[i]=0;if(b[i]==12)b[i]=0;}x=b[4];x=10000*x;x=x+b[1]+b[2]*10+b[3]*100+b[4]*1000+b[6]*100000+b[7]*1000000+b[8]*10000000;y=a[4];y=10000*y;y=y+a[1]+a[2]*10+a[3]*100+a[4]*1000+a[6]*100000+a[7]*1000000+a[8]*10000000;if(t==10) //加法运算{x=x+y;// if(x<99999999)fenwei();// else// error();}if(t==11) //减法运算{if(x>y){x=x-y;fenwei();// if(x>99999999)// error();// else// fenwei();}else{x=y-x;fenwei();for(i=8;i>1;i--){if((a[i]==0)&&(a[i-1]!=0)){a[i]=14;break;}}}}if(t==12) //乘法运算{x=x*y;// if(x<99999999)fenwei();// else// error();}if(t==13) //除法运算{// z=x;r[0]=((x*1000)/y)%10;r[1]=(((x*1000)/y)%100)/10;r[2]=(((x*1000)/y)%1000)/100;x=x/y;// if(x<z/1000)fenwei();// else// error();}t=0;}/*void error() //显示错误函数{a[1]=11;a[2]=10;a[3]=11;a[4]=11;a[5]=10;a[6]=12;a[7]=12;a[8]=12;}*/void fenwei(){a[1]=x%10;a[2]=(x%100)/10;a[3]=(x%1000)/100;a[4]=(x%10000)/1000;a[5]=(x%100000)/10000;a[6]=(x%1000000)/100000;a[7]=(x%10000000)/1000000;a[8]= x/10000000;}。