计算器程序
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语句实现,分别计算,然后跳出。
程序员计算器使用方法

程序员计算器使用方法一、数值表示程序员计算器通常支持多种数值表示方式,包括十进制、二进制、八进制和十六进制。
用户可以通过切换模式来切换数值的表示方式。
例如,使用"0b"前缀表示二进制数,"0o"前缀表示八进制数,"0x"前缀表示十六进制数。
二、算术运算程序员计算器可以进行各种基本的算术运算,包括加法、减法、乘法和除法。
用户可以通过按下相应的数字键和操作符来进行计算。
例如,要计算1+2,可以按下数字键1,操作符"+",数字键2,然后按下"="键得到结果。
三、位运算程序员计算器还支持多种位运算,包括与、或、异或、位取反和位移等。
用户可以通过按下相应的位运算按钮来进行操作。
例如,要计算两个二进制数的与运算,可以先将两个二进制数输入程序员计算器,然后按下"AND"按钮得到结果。
四、进制转换程序员计算器还可以进行不同进制之间的相互转换。
用户可以通过输入一个数值,然后选择转换的目标进制来进行转换。
例如,要将一个十进制数转换为二进制数,可以先输入该十进制数,然后选择目标进制为二进制,最后按下转换按钮得到结果。
五、单位转换程序员计算器还支持单位之间的转换,如长度单位、重量单位和温度单位等。
用户可以选择需要转换的单位,输入一个数值,然后按下转换按钮得到结果。
例如,要将一个米数转换为英尺数,可以先输入该米数,选择目标单位为英尺,最后按下转换按钮得到结果。
六、函数计算一些程序员计算器还支持一些常见的数学函数计算,如三角函数、对数函数和指数函数等。
用户可以输入一个函数表达式,然后按下计算按钮得到结果。
例如,要计算sin(45°),可以先输入"sin(",然后输入角度数值45,最后按下计算按钮得到结果。
七、常量和变量八、历史记录以上便是程序员计算器的使用方法。
不同的程序员计算器可能会有些许不同,具体的使用方法可以参考相应的用户手册。
4800、5800、工程计算器万能程序

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语言用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); /*返回键值*/}。
计算器测量程序

3570243.7743→E:379636.8205→F
84.9958→D:1→S:66.3108→W:66.3108→V
54°6′36.04″→I:116°28′3.63″→A
9026.5783→U:90→R:40→H:40→C
Goto 1:IfEnd
If K≤9406.5154:Then
程序:ZSSTART坐标正算开始程序
“XO=”?O:“YO=”?P输入置镜点坐标
Lbl 0:“K=”?K:Prog“QXYS”输入测设里程及偏距
“J=”?J:Prog“ZBJS”:Prog“ZBFS”
Goto 0
程序:FSSTART
“XP=”?B:”YP=”?T:“K=”?K输入需反算点坐标
Do及反算起始里程
3568697.8511→E:378419.0366→F
97.1306→D:1→S:70.2036→W:70.2036→V
50°35′32.89″→I:234°36′23.62″→A
oto 1:IfEnd
If K>11268.0654:Then
R(1-Cos(Q))+L2÷(24R)- L^(4)÷(2384R^(3))→Y
E+GCos(A)-SYSin(A)-JSin(A+SQ)→X
F+GSin(A)+SYCos(A)+JCos(A+SQ)→Y
A+SQ→W:Goto 1:IfEnd
If Z≤D+C:Then第2段缓和曲线坐标计算
D+C-Z→Z:C→L:Prog“I”
M-GCos(A+SI)-SYSin(A+SI)-JSin(A+SI-SQ)→X
手机科学计算器使用方法

手机科学计算器使用方法手机科学计算器是一款非常实用的工具,它可以帮助我们进行各种复杂的数学计算、科学计算以及工程计算。
在日常生活和工作中,我们经常会用到手机科学计算器,因此掌握其使用方法是非常重要的。
接下来,我将为大家介绍手机科学计算器的使用方法。
首先,打开手机科学计算器应用程序。
在手机的应用程序列表中找到科学计算器应用图标,点击打开应用程序。
一般来说,科学计算器应用程序的图标是一个带有数学符号的图标,比较容易识别。
接着,我们可以看到科学计算器的界面。
科学计算器通常分为标准模式和科学模式两种模式。
在标准模式下,我们可以进行基本的加减乘除运算,而在科学模式下,我们可以进行更为复杂的数学计算,比如三角函数、对数、指数等计算。
在不同的场合下,我们可以根据需要选择不同的模式进行计算。
在科学计算器的界面上,我们可以看到数字键、运算符键、功能键等。
通过点击这些键,我们可以输入数字和进行各种数学运算。
在输入数字时,我们可以直接点击数字键进行输入;在进行运算时,我们可以点击对应的运算符键,比如加号、减号、乘号、除号等。
另外,功能键可以帮助我们进行一些特殊的数学计算,比如开方、求倒数、求平方等。
除了基本的数学运算外,科学计算器还可以进行一些复杂的科学计算。
比如,我们可以使用科学计算器来进行三角函数的计算,比如正弦、余弦、正切等;我们还可以使用科学计算器来进行对数、指数的计算,以及阶乘、组合等特殊运算的计算。
这些功能在科学计算中非常常见,因此掌握科学计算器的使用方法对于进行科学计算是非常重要的。
此外,科学计算器还可以进行工程计算。
在工程领域中,我们经常需要进行一些特殊的计算,比如长度单位的换算、温度单位的换算、压力单位的换算等。
科学计算器可以帮助我们进行这些工程计算,提高工作效率。
总的来说,手机科学计算器是一款非常实用的工具,它可以帮助我们进行各种复杂的数学计算、科学计算以及工程计算。
通过掌握其使用方法,我们可以更加方便、快捷地进行各种计算,提高工作和学习效率。
创建简单计算器程序

实验一创建简单计算器程序实验目标本试验介绍如何创建一个简单的计算器应用程序。
技术要点创建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.程序运行结果如图:实验二使用菜单实验目标本实验介绍如何在应用程序中加入菜单,并通过菜单响应用户的请求技术要点创建窗体应用程序菜单的简单步骤,时间响应方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本程序是一个能计算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;}。