实用计算器程序

合集下载

win7程序员计算器使用方法

win7程序员计算器使用方法

win7程序员计算器使用方法
win7程序员计算器是一个非常实用的工具,尤其是对于程序开发人员而言,使用频率非常高。

以下是该计算器的使用方法:
1. 打开计算器:在win7系统中依次点击“开始”菜单,选择“所有程序”,找到“附件”文件夹,然后点击“计算器”图标即可打开计算器程序。

2. 选择程序员模式:在计算器程序中,点击菜单栏中的“视图”选项,然后选择“程序员”模式,即可进入程序员计算器界面。

3. 输入数字:在程序员计算器界面中,可以输入数字和运算符号,最多支持64位二进制、八进制、十进制和十六进制编码。

输入数字的时候可以直接使用键盘输入,也可以点击计算器界面上对应的数字按钮。

4. 进行运算:在输入完数字和运算符号后,点击“=”按钮即可进行运算,计算器会自动给出计算结果。

5. 十进制和其它进制的转换:在程序员计算器中,支持十进制和其它进制之间的相互转换。

在需要进行转换的时候,点击计算器界面上的“转换”选项,然后选择需要转换的进制类型即可。

6. 历史记录:程序员计算器还具备历史记录功能,可以查看最近的计算历史记录。

在计算器界面中,点击“历史记录”选项即可查看。

以上就是win7程序员计算器的使用方法,希望对程序开发人员们有所帮助。

卡西欧4800P计算器程序

卡西欧4800P计算器程序

环运算语句J 子程序名称H=X+DcosG◣ 公式运算、数据显示语I=Y+DsinG◣ 公式运算、数据显示语T=X—EcosG◣ 公式运算、数据显示语U=Y—EsinG◣ 公式运算、数据显示语最后计算器状态设定语句是大家最容易忽视的。

如果将单位进行预设那么计算器就会默认其使用单位在进行下一单位换算时要一定要进行单位转换,否者会使计算结果错误。

在显示屏幕的左下角可以清楚地发现小提示符号:如D代表度为现在的缺省单位、R代表弧度为现在的缺省单位、G 代表梯度为现在的缺省单位。

首页┊ GPS测量┊工程测量┊遥感测量┊地籍测量┊控制测量┊数字测图┊地图制图┊数据处理┊测绘仪器┊软件应用┊房产测量┊地理信息┊测量管理┊程序开发┊理论文章┊其他┊ 文章更新列表┊游客发布论文所属分类:程序开发来源:作者:更新日期:2006-8-25 阅读次数:156 文章更新列表查看公告列表00-54700”Lbl 1:{ZKB}:Z:K:B:O=1=>Goto 2△O=2=>Goto 3△O=3=>Goto 4△Lbl 2:Z<47264=>Goto 5△Z>501▲Goto 0Lbl 6:Prog“DQXY”:“X=”:X:Pause 0:“Y=”:Y▲Pol(X-Q,Y-U):J<0=>J=360+J△:I=Intg(1000I+.5)Z、待求点的桩号。

K、待求点在左幅输0右幅输1。

B、待求点距中距离。

Goto 5前的桩号为起止点或断链点桩号。

P T÷100T-Int T)÷.6X=Q+Rec(L,T):Y=U+J:“X=”:X:Pause 0:“Y=”:Y▲Lbl 1:Prog“55”:Prog“YS”:Z>48980 oto 4△Prog“FQ”: Goto ZLbl 4:Prog“57-1”:Prog“YS”:Z>50354.96=>Goto 5△Prog“FQ”Z>50167.16 =>Z og“FQ”: Goto ZLbl 7:Prog“60”:Prog“YS”:Z>52546.8=>Goto 8△Prog“FQ”: Goto ZLbl 8:Prog“61”:Pro B△Prog“FQ”: Goto ZLbl B:“CX ERROR”▲ Goto 0Lbl Z:Z=Intg(1000Z+.5)÷1000:B=Intg(1000B+.5)÷100号为第2个曲线组合的ZH点桩号,以后类推。

5800卡西欧计算器程序大全

5800卡西欧计算器程序大全

5800卡西欧计算器程序大全1.基本数学运算程序-加法:输入两个数字,然后计算它们的和。

-减法:输入两个数字,然后计算它们的差。

-乘法:输入两个数字,然后计算它们的积。

-除法:输入两个数字,然后计算它们的商。

-平方根:输入一个数字,然后计算它的平方根。

-幂运算:输入两个数字,然后计算第一个数字的第二个数字次方。

2.科学计算程序-对数运算:输入一个数字和一个底数,然后计算它们的对数。

-三角函数:输入一个角度,然后计算它的正弦、余弦和正切值。

-阶乘计算:输入一个数字,然后计算它的阶乘。

-指数函数:输入一个数字,然后计算e的这个数字次方。

-随机数生成:生成一个随机数。

3.金融计算程序-终值计算:输入本金、利率和时间,然后计算将来其中一时刻的价值。

-现值计算:输入将来其中一时刻的价值、利率和时间,然后计算现在的价值。

-年金支付计算:输入每期支付的金额、利率和时间,然后计算总支付金额。

-贷款利率计算:输入贷款金额、每期支付金额和时间,然后计算贷款利率。

-折现计算:输入每期支付金额、利率和时间,然后计算折现值。

4.统计计算程序-平均值计算:输入一组数字,然后计算它们的平均值。

-中值计算:输入一组数字,然后计算它们的中值。

-方差计算:输入一组数字,然后计算它们的方差。

-标准差计算:输入一组数字,然后计算它们的标准差。

-相关系数计算:输入两组数字,然后计算它们的相关系数。

以上只是一部分5800卡西欧计算器程序的示例,卡西欧计算器还提供了更多的功能,例如单位转换、时间计算、日期计算等等,可以根据实际需求选择使用。

希望以上内容对您有所帮助。

最新CASIOfx4500P计算器程序汇总

最新CASIOfx4500P计算器程序汇总

C A S I O f x4500P计算器程序CASIO fx4500P计算器实用程序XCAJCJ 编著二○○一年八月说明本程序稿由于时间仓促及编者水平有限,缺点、错误以及疏漏与不足之处在所难免,恳请大家批评指正。

程序步骤计算:1个字符的文件名算3步(每增加一个字符多算一步),行号算1步,每个字符算1步。

CASIO fx-4500P共有1103步。

XCAJCJ二○○一年八月目录程序1——角度判断 (1)程序2——角度换算① (1)程序3——角度换算② (1)程序4——角度换算③ (1)程序5——角度换算④ (1)程序6——视距测量 (2)程序7——坐标反算 (2)程序8——坐标方位角计算 (3)程序9——坐标正算 (3)程序10——坐标方位角交会计算 (3)程序11——垂距计算 (4)程序12——视差法测距计算 (5)程序13——剖面交点计算 (6)程序14——前方交绘计算 (6)程序15——附合导线近似平差 (7)程序16——渠道中线里程计算 (10)程序17——多边形面积计算 (12)程序18——闭合导线近似平差 (15)程序19——直线交点坐标计算 (16)程序20——极坐标法放样计算 (17)附录1:CASIO fx-4500P错误标示一览表 (18)附录2:常用数学公式 (19)附录3:常用测量公式 (19)附录4:单一附合导线内业平差计算 (22)程序1——角度判断说明:①程序A为子程序,对≥360°或<0°的角值进行判断处理。

程序2——角度换算①程序3——角度换算②程序4——角度换算③程序5——角度换算④说明:①程序B、C、D、E均为子程序,简化测量计算中角度的输入及显示。

注:子程序应先输入CAISOfx-4500P中,以备其它程序调用。

程序6——视距测量说明:①程序用以计算视距测量中测站至照准点的平距及高程;②程序中:H=测站高程+仪高(程序只要求输入该值一次);S=视距、C=切尺、B=竖盘读数;③算例:按Prog 1调用程序显示H?输入测站高程+仪高445.79+1.41,按EXE 键、显示S?输入视距39,按EXE键、显示C?输入切尺2.9,按EXE键、显示B?输入竖盘读数90.12,按EXE键、显示(计算结果)平距38.9995248,按EXE键、显示高程444.1638654,按EXE键、显示S?、输入视距……④竖盘读数90.12是将度分秒值(90°12′00″)以小数的形式输入;其它程序的角度值输入及显示均如此。

简单计算器可视化程序编程

简单计算器可视化程序编程

简单计算器一、基本功能描绘二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算科学计算函数,包括( 反 ) 正弦、 ( 反) 余弦、 ( 反 ) 正切、 ( 反 ) 余切、开方、指数等函数运行以角度、弧度两种方式实现上述部分函数具备历史计算的记忆功能对不正确的表达式能指出其错误原因二、流程图输入数据子函数编写框关系变量m_num=0键入一个数N可否为正数?Ym_num m_num=10*m_num+i=10*m_num-i可否为小数?Y复原 m_numN依照小数点后位数将键入的数除以 n 次 10 累加到 m_numY连续键入数字?N用 UpdateData(FALSE) 刷新显示图 1 输入数据子函数流程图图 2三、设计步骤翻开 Microsoft Visual C++ 6.0 , 在文件中点击新建,在弹出框内选择MFC AppWizard[exe] 工程,输入工程名Calculter及其所在位置,点击确定,如图3所示。

将弹出这样,图 3 新建 MFC AppWizard[exe] 工程MFC AppWizard-step 1对话框,选择基本对话框,点击达成,如图图 4 基本对话框MFC AppWizard 就成立了一个鉴于对话窗口的程序框架,如图图 5 新建的对话框4 所示。

5 所示。

四、界面设计1、创立控件在图 5 所示的 Resoure View 选项卡中翻开Dialog 资源组,双击IDD_CALCULATOR_DIALOG,在右边的窗口中显示出待编写的对话框。

开始摆放控件,包括编写框和按钮的创立。

按钮的创立1)在图 5 中 Controls 的“编写框”按钮上单击鼠标左键,在对话框编写窗口上合适的地点按下鼠标左键并拖动鼠标画出一个大小合适的编写框。

在编写框上单击鼠标右键,在弹出的快捷莱单中选择属性选项,此时弹出Edit 属性对话框,如图 6 所示,在该对话框中输入ID 属性。

卡西欧FX5800P编程计算器应用及程序

卡西欧FX5800P编程计算器应用及程序

程序示例
U“Z=0 Y≠0”=0
K0+=0 H0=3014.6 ≥=1/74.09 D=2.9 E=2.46 R=1.671
【1】 直线段
实测坐标(m)
圆拱段超欠(m) 直墙超欠(m) 底板超欠(m) 至拱肩高差(m)
111.139 93.763 64.030 94.543 116.748
18°52ˊ49.81" 91°24ˊ13.56" 88°26ˊ53.49" 49°40ˊ03.20" 60°41ˊ09.73"
移 动 值(m)
DV=、0.254 D∧=、0.700 DV=、0.049 DV=、0.140 DV=、0.168
据目录(个数)是利用“ ”,按 FUNCTION->7->2->1->EXE 就可以看到个数了。
在程序中调用统计储存器中的数据时,是利用 List 调用的。具体格式如下: List X[A]+Y[A]i->C
式中 A 是点号,C 是任意储存单元。具体示例详见“程序部分”->“极程序放样” (2)、利用统计计算(SD/REG)
2、以 形式计算。以坐标换算为例:
坐标重合点 A 旧坐标 98042.831->SHIFT->RCL->A 11430.122->SHIFT->RCL->B A+Bi->E 新坐标值均为零,就不必另行输值,新旧坐标方位角差值 69°56"23"->W。 要求计算施工坐标 X=27,Y=29.1 的 B 点的测量坐标。 计算赋值:27->U,29.1->V。U+Vi->F
<=、0.663 =>、0.023 <=、0.218 <=、0.561 =>、0.298

fx-580p计算器程序

fx-580p计算器程序

一、大地坐标化直角坐标计算程序(DA HUAN ZHI)1、程序功能本程序可用于国家统一投影带的正算求解(由B、L换算为X、Y)平面坐标,可输出加上带号和500Km 常数的Y值。

2、数学模型x=X+((((H-58)H+61)M/30+(4E+5)Q-H)M/12+1)/NTM/2y=5×105((((H-18)H-(58H-14)E+5)M/20+Q-H)M/6+1)NW。

式中:X=RB-SC(32005.7801+V(133.9123+0.7032V));S=SinB;C=CosB;V=Sin2B;R=6367558.49686;B 为纬度。

T=tgB;h=T2;E=67.385254×10-4;M=W2;W=CosB;(Q;l=L+L0。

Q=l+E;N=6399698.90178/)3、实用计算程序程序名称:DA HUAN ZHI程序清单:“B=”?B:“L=”?L:“A=”?A:“P=”?P:If P=3:Then(A÷3)×10∧(6)+5×10∧(5)→D:Else (A+3) ÷6×10∧(6)+5×10∧(5)→D:IfEnd:π÷180→S:6367558.49686→R:tan(B) →T:Cos(B) →C:TT→H:TC→U:UU→v:(L-A)CS →W:WW→M:0.006738525415CC→E:(1+E)→Q:6399698.9018÷)(Q→N:RBS-UC (32005.78006+V(133.92133+0.7031V))→I:”X=”:I+((((H-58)H+61)M÷30+(4E+5)Q-H)M÷12+1)NTM÷2◣“Y=”:D+((((H-18)H-(58H-14)E+5)M ÷20+Q-H)M÷6+1)NW◣”OK”4、变量名称和存储器内容此程序是大地坐标化为直角坐标,即B、L坐标化为X、Y坐标。

FX5800计算器公路测量常用程序2.1版及详细说明

FX5800计算器公路测量常用程序2.1版及详细说明

FX5800计算器公路测量常用程序2.1版及详细说明一、程序功能主要功能:采用线元法与交点法相结合计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。

新版本特点:1、建主程序合并原所有计算类型,在主程序中可选择操作类型。

隧道欠超挖增加变量衬砌厚度,因有设计衬砌厚度根据石岩来定的。

增加锥坡放样计算。

二、源程序1.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后输入1~9数子则选择1至9的程序,返回时,在桩号输入-1,返回选择选择计算类型。

输入-2,返回选择线路。

坐标计算中输入-3,则显示本段曲线要素。

程序名:0ZCXLbI Q: 15→DimZ:Norm 2:1→A:"A:XY=1, ZD=2 ,GC=3, GD=4,BP=5, FM=6, ZP=7, JS=8, SD=9"?A:A=1=>Goto 1:A=2=>Goto 2:A=3=>Goto 3:A=4=>Goto 4:A=5=>Goto 5:A=6=>Goto 6:A=7=>Goto 7:A=8=>Goto 8:A=9=>Goto 9LbI 1:Prog "DX":LbI A:Prog"QX":90→B: "PJ1"?B:B→C: "PJ2"?C:B→Z[1]:C→Z[8]:LbI B:1→F: "KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A:Z=-3=>Goto X:Prog"KM":?D:Porg"THB":O→L: "L0"?L:Z[2]+Z[1]-Z[8] →E:X+L cos(E) →X:Y+Lsin(E) →Y:Prog"XY":Prog"JS":Goto BLbI 2:2→F:90→Z[1]:Prog"QX":LbI C: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto 2:Z=-3=>Goto X:Prog"KM": "XO"? X: "Y0"?Y:Prog"THB":Porg"ZD":Goto C:LbI 3:Prog"QX":0→B: "H-B"?B:B→Z[9]:LbI D: "KM"?Z: Z=-1=>Goto 0:Z=-2=>Goto 3:?D:Porg"H":Fix 3: " H=":Lc oate 6,4,H-Z[9] ◢" I=":Locate 6,4,I◢ Goto DLbI 4:Prog"QX":LbI E: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto 4:?D:Prog"GD":Fix 3: " SJGD=":Locate7,4,L◢ Goto ELbI 5:Prog"QX":0.5→B:"TH-GD"?B:B→Z[15]:LbI F:2→F:90→Z[1]:"KM"?Z:Z=-1 =>Goto 0:Z=-2 =>Goto 5:Prog"KM": "X0"?X: "Y0"?Y:0→M:”M0”?M: M→Z[4]:Prog"3FBZ"Fix 2:Z[3] →D:Abs(D)-S→O: " L0=":Locate 6,4,O◢Prog"ZD": Z[5]→T:" TW=":Lcoate 6,4,T◢ Goto F:LbI 6:Prog"DX":LbI G:Prog"QX":LbI H:1→F:90→Z[1]: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto G:Prog"KM":?D:Prog"THB":Prog"XY":Prog"JS":Prog"H":0→M: "M0"?M:Fix 2:H-M→T: " TW=":Locate 6,4,T◢ Goto H:LbI 7:Prog"DX":LbI I:Prog"QX":0→D: "LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: "Z0"?Z: D→Z[6]:R→Z[7]:Z→Z[8]:LbIJ:0→Y: "L0:SZ+,DZ-"?Y:Y=-1=>Goto 0:Y=-2=>Goto I:Prog"ZP":Goto J:LbI 8:Prog"DX":LbI K:?X:X=-1=>Goto 0:X=-2=>Goto 8:?Y:Prog"JS":Goto K:LbI 9:Porg"DX":LbI L:Prog”QX”:LbI M:2→F:90→Z[1]: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto L:Z=-3=>Goto X: Prog"SD1":0.5→A:“CQHD"?A:“X0"?X:"Y0"?Y:0→M="M0"?M:M→Z[8]:A→Z[15]:Prog"5SD": Goto M:LbI X:Mat F◢ Goto 02、次程序:路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:3FBXProg”THB”:D→P:Prog”GD”:If D<0:Then 0.75-L→D:Goto H:E lse L-0.75→D:Goto H:IfEndLbI H:Prog“H”:H-0.03-Z[4] →Z[4]: Prog “W1”:If Z[4]<0: Then –Z[4] →G:Goto W:Else Z[4] →G:Goto T:LbI W:Z[8]+Z[9] →A: If G>A:Then Goto 1:Else If G>Z[8]:The n Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[10]+Z[11]+Z[12]+(G-A)×Z[7]+Z[9]×Z[6]+Z[8]×Z[5]→S:Goto Z:LbI 2:L+Z[10]+Z[11]+(G-Z[8])×Z[6]+Z[8]×Z[5] →S:Goto Z: LbI 3:L+Z[10]+G×Z[5] →S:Goto Z:LbI T:L+Z[17]→T:If G>Z[15]:Then (T+Z[16]+(G-Z[15])×Z[14] +Z[15]×Z[13])→S:Goto Z:Else (T+G×Z[13])→S:Goto Z:LbI Z3.次程序3.隧道超欠挖值计算放样程序(输入隧道线路,大概桩号、输入衬砌厚度、测量三维坐标,计算准确桩号及位置、计算欠超挖值)程序名:5SDProg”KM”:Prog“THB”: D→Z[13]:0→D:Prog“H”:Cos(Z[10]) ×Z[4] →E: H+Z[5] →Z[5]: H+Z[7] →Z[7]: E+Z[5] →Z[10]:I f Z[8]>Z[10]:Then Goto R:Else Goto S:IfEnd:LbI R:√((Z[13]-Z[9]) 2+(Z[8]-Z[5]) 2 )- Z[4]-Z[15] →L:Goto L:LbI S:Z[4]-Z[6] →S:√(S 2-(Z[7]-Z[5]) 2 ) ×S÷Abs(S)→T:Abs(Z[13]-Z[9])-T→T:√(T 2+(Z[8]-Z[7]) 2 )- Z[6]-Z[15] →L:Goto L:LbI L: Fix 2:” L0=”: Locate 6,4,L◢Prog”ZD”:“ H0=”: Locate 6,4,Z[8]-H◢4:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSX:Y:Z[11]→K:Z[12]→L:Pol(X-K, Y-L):IF J<0:Then J+360→J:IFEnd:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J: Fix 4:” FWJ=”: Locate 6,4,J◢F ix 3:” S=”:Locate 6,4,I◢5.路基宽度子程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名: GD1→S: Prog “G1”:Z-C→E:(B-A)*E/S+A→L:6.坐标计算次程序(THB)程序名:THBIf Q=2:Then Goto J: Else 1÷P→C:(P-R)÷(2HPR)→S:180÷Π→E:If F=1:Then Abs(Z-0) →W:Prog "A":Goto 2:El se X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 2: IfEnd:LbI J: If F=1:Then Prog "Z":Goto 1:Else Prog "ZX":Go to 2: IfEnd:LbI 1:I+D×COS(Z[2]+Z[1]) →X: J+D×Sin(Z[2]+Z[1]) →Y: Lb I 27. 线元法正算子程序(A)程序名:A0.1184634425→A: 0.2393143352→B:0.2844444444→N:0.0469 10077→K: 0.2307653449→L:0.5→M: U+W(Acos(G+QEKW(C+KW S))+Bcos(G+QELW(C+LWS))+Ncos(G+QEMW(C+MWS))+Bcos(G+QE(1 -L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS))) →X:V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW (C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)WS))) →Y:G+QEW(C+WS)→Z[2]:X+Dcos(Z[2]+ Z[1])→X: Y+Dsin(Z[2]+ Z[1])→Y8. 线元法反算子程序(B)程序名:BG-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W: 0→D:Lbl 0:Prog "A": T+QEW(C+WS) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto 1:Else W+D→W:Goto 0: If End:←┘Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]+90) →D9. 交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4) ÷2688÷R∧(3)→A:H÷2-H∧(3) ÷240÷R2→B:(R+A)tan(Abs(P) ÷2)+B→T:O-T→C:C+H→L:L+ΠR×Abs(P) ÷180→N:N-H→E:P÷Abs(P) →W:0→M:If Z<C:Then Z-O→S:G→Z[2]:Goto 2: IfEnd: If Z≥N:Then Z-N+T→S:G+P→Z[2]:Goto 2: IfEnd: If Z≥E:Then N-Z→S:Prog“HX”:G+P→S:S-WK→Z[2]:U+(T-A)Cos(S)-WBSin(S)→I:V+(T-A)Sin(S)+WBcos(S)→J:Goto 3: IfEnd:If Z>L:Then 180(Z-L+0.5H) ÷R÷Π→S :H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:H2÷R÷24-H∧(4) ÷2688÷R∧(3)+R(1-Cos(S))→B:R→M:G+WS→Z[2]:Goto 4: IfEnd:Z-C→S:Prog “HX”:G+WK→Z[2]:LbI 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G) →J:Goto 3:LbI 2:U+Scos(Z[2])→I:V+Ssin(Z[2]) →J: LbI 310. 交点法缓和段转化子程序(HX)程序名:HXS-S∧(5) ÷40÷R2÷H2+S∧(9) ÷3456÷R∧(4) ÷H∧(4)→A:S∧(3) ÷6÷R÷H-S∧(7) ÷336÷R∧(3) ÷H∧(3)+S∧(11) ÷42240÷R∧(5)÷H∧(5)→B:90S2÷Π÷R÷H→K:RH÷S→M11. 交点法反算子程序(ZX)程序名:ZXZ:0→D:LbI 0:Prog “Z”:Pol(X-I,Y-J):J-Z[2] →J:Isin(J) →S: Icos(J) →I:If Abs(I)<0.1:Then Z+I→Z:S→D:Goto 2:Else Got o 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:Eles Pol(M-WS,I):(JM Π)/180→I:Z+I→Z:Goto 0:IfEndLbI 212.高程计算子程序(H)程序名:HP rog “S1”:C-T→F:Z-F→S:C+T→E:G-TI→Q:If T=O:Then Q+SI →H:Goto 0:Else If Z<F:Then Q+SI→H:Goto 0:Else If Z≤E:Th en Q+SI+S2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:L bI I13.高程超高计算程序(I)程序名:IIf Z[3]=1:Then Prog “I1”:Goto 1:Else Prog “I2”:Goto1:IfEnd:LbI 1: If W=1:Then:Goto Z:Else:Goto X: IfEndLbI Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:LbI X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V14.导线点子程序(DX)程序名:DXZ[11] →K:Z[12] →L:“X Z”?K:”YZ”?L:K→Z[11]:L→Z[12]15.线路选择子程序(线路选择输0时。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图4等号按键响应函数流程图
用户输入完计算式后可以按下等号如图4计算结果,它的核心是调用了一个自己写的WorkR()函数计算最后的结果。但在之前需要判断是否真的需要计算,如果Edit控件中显示的是一个算好记忆条,那么直接截取记忆条等号后的结果出来显示就行了。
图5WorkR函数流程图
如图5所示进来的算式先判定括号的对数以及左右括号是否匹配,完全正确才能开始计算。它通过cket函数、cut函数、GetStr函数和GetResult函数,最后得到一个不含括号的算式,再通过GetStr函数和GetResult函数得到最后的结果。
针对用户的c类操作,我的对策是在每个计算按键中写入判断语句,如果是计算过的就直接截取等号后的结果进行显示或者再运算。
4
本次C++课程设计是非常贴近生活的,也非常实用的,计算器是我们生活中非常常见的产品,它的历史也已经很“悠久”了。以前都认为计算器应该是挺简单的,也是因为这个我选择了计算器的课程设计。但真是不做不知道,一做吓一跳,小小计算器却大有乾坤。不仅从它各个按键的排版,到实现各种计算的算法,都是很讲究的。
由于有记忆功能,所以在每一次按下按键时,只要产生了UpdateData(FALSE),就需要将Edit变量中的值更新到当前条记忆SHOW[0]中暂存。这样做的好处是在用户一个算式还没计算完时,去查看上一条记忆后还能再返回当前条继续计算,而不会由于Edit控件显示了上一条记忆而丢失当前正在计算的算式。
IDC_EDIT1

Button数字0~
Button数字9
IDC_BUTTON_0
IDC_BUTTON_9
0~
9
Button小数点
IDC_DOT
.
Button退格
IDC_BACKSPACE
<-
Button加法
IDC_ADD
+
Button减法
IDC_SUBTRACT
-
Button乘法
IDC_MULTIPLY
这个WorkR函数所解决的重点是对于多重括号的运算。我的算法的中心思想就是寻找括号:不论用户给的算式有多少的括号,我只寻找第一个封闭的括号,那么封闭括号中的算式就肯定是没有括号的,这个括号中的算式使用GetStr和GetResult函数计算出结果在替换到第一个括号的位置。这样就剥除了第一个括号,再重复寻找第一个封闭括号,一次类推。例如:
图7GetResult结果计算函数流程图
如图7所示此函数的作用是对通过图6函数分拣过的算式进行计算,通过图6函数分拣后,算式被分拣到a、b数组中。GetResult函数通过对a中数据进行b中算符运算,最终得到结果存放在数据数组a的a[0]中。
图8科学计算按钮响应函数
图8表示的是一类运算的流程图,由于类似所以由一个流程表现。设计科学计算都为单目运算,所以在按下科学运算相关运算时会先做一个类似于等号的操作:先判断是否为计算过的记忆式,在判断是否按下科学计算前是否按下过等于计算,如果都没有则表明Edit中是没有计算的算式,则需要计算一次,得到结果再进行科学计算。只要之前计算过,就可以直接截取等号后的结果进行科学运算。
针对用户的b类操作,我的对策就是在每次UPdateData(FALSE)后就将Edit变量m_strResult中的数据复制给当前条SHOW[0],不论用户何种操作,即使是使用了清空键(清空的响应函数UpdateData(FALSE)后面并没有添加SHOW[0]更新的语句,为了达到类似于误清空撤销的效果),也能使用点击“当前计算”找回刚才未算完的算式。
针对用户的a类操作,我的对策是在计算完当前算式后只是把它存在当前条SHOW[0]中暂时不用SHOW[0]去覆盖SHOW[1]。当用户开始下一次运算时才将SHOW[1]用SHOW[0]覆盖,将SHOW[0]解放出来存当前算式。于是我就设计了记忆标志位Remember,只要属于运算的按键按下,且计算成功了,记忆标志位Remember就会被置位(true)。此后只要按下例如数字、左括号这种可以开始新一次运算的按键,SHOW[0]中的数就会被推入SHOW[1],记录为上一条。
图3左右括号按键响应流程图
左括号和右括号的响应是有差异的,所以这里分别绘制了如图3的流程图。由于左括号是可以出现在一个算式的开头的,所它和数字按键类似,拥有添加和覆盖两种行为。当现在用户在键入一条算式,按下左括号,其对应的响应应该是添加左括号;当用户输入完毕按下了不论哪种运算,得到结果后,再按下左括号,说明下一次运算开始了,就需要对应覆盖的行为。而右括号是不能在左括号出现前出现的,所以在规则中添加限制。而且左括号前不能是数字和右括号,而右括号前不能是运算符和左括号,由于我的设计的算法的限制不能有括号的出现。
根据程序主流程图可以看出,我们需要一些能响应用户操作的响应函数来实现我们的计算器相应按键的功能。
图1程序主流程图
说明:所以流程图由深圳市亿图软件有限公司的流程图绘制软件(试用版)绘制,转存PDF后导出为图片加入到word中的,所以可能会打印效果不好,但确实为本人绘制。
图2数字按键与普通算符按键响应流程图
Sin
Button反正弦运算
IDC_arcSin
arcSin
Button余弦运算
IDC_Cos
Cos
Button反余弦运算
IDC_arcCos
arcCos
Button清空
IDC_BUTTON_CLEAR
清空
PictureControl
IDC_SEPARATOR

其中只有Edit控件关联了CString类型的值变量。
3
(1)等号运算
在计算器中最关键的功能就是等于的运算。在我的程序中进入等号响应函数后首先是判断Edit变量m_strResult中的存的是否是一个没有计算过的算式,即检查m_strResult中是否有等号,如果有则直接截取等号后的数值送给m_strResult,再通过UpdateData(FALSE)显示出来;如果是没有计算过的算式,就需要先检查算式的正确性,是否可以等于运算,如果不可以就弹出警告框,警告算式有错误。最核心的就是算式正确了,需要计算的步骤。
首先来说这个按键的排版,我做了好多次,一开始就是按顺序排放就是了,但在后面调试使用时就感觉很别扭,用着没有人家的计算器顺手。后来从市面上比较成熟的产品中看出些门道。一般数字键盘都是从左上方数字键“1”开始依次到“9”组成3X3的矩形,然后数字“0”是在数字“8”的下方,数字“0”的两侧可以放小数点和双零按键,然后由于加号运算和等号的使用频率较高,一般都会把这两个键做大一点,或者用其它颜色突出,然后使用频率越高的按键离数字键盘的位置就越近。这个也算是我的一点小发现把。
4)调试程序。
3
图9科学型用户界面
如图9所示为用户界面,初始时为科学计算型界面,显示所有的计算内容。当按下按键“普通计算”时,右边的科学计算就会被“折叠”消失,如图10所示。
图 10普通型用户界面
构成界面的控件及其属性如表1所示:
表1计算器对话框中各个控件及其属性表
对象
ID
Caption
Eidt编辑框
(7)界面为科学型和普通型,可在两界面间通过按钮转换。
2.
计算器属于桌面小程序,适合使用基于对话框的MFC应用程序设计实现。首先要思考的问题是:我的程序需要实现什么样的功能?需要哪些控件?需要哪些变量?需要哪些响应?
我们知道基于对话框的MFC应用程序的执行过程是:初始化、显示对话框,然后就开始跑消息循环列表,当我们在消息循环列表中获取到一个消息后,由相应的消息响应函数执行相应的操作。根据这个流程我们制定出计算器程序的程序框架主流程图,如下页图1所示。
IDC_SQRT
sqrt
Button平方运算
IDC_PINFANG
x^2
Buttone的x次方运算
IDC_E_X
e^x
Button自然对数运算
IDC_LN_X
ln x
Button阶乘运算
IDC_x_jiecheng
x!
Button 10为底的对数运算
IDC_LG_X
lg x
Button正弦运算
IDC_Sin
b.计算完一条算式开始计算下一条算式,这是刚计算按完的算式就成为了上一条,现在在计算的成为了当前计算,在这是他希望查看上一次的计算,而且他还要返回来继续当前计算;
c.不论在什么时候,他查看了一条完整的计算记录(有等号的完整计算),他又希望在现在查看的记录的基础上继续运算。
针对以上可能的情况我设定了一个两元素的数组SHOW[2]来存放,SHOW[0]存放当前条、SHOW[1]存放上一条。每次遇到UpdateData(FALSE)更新Edit时就意味着需要同步更新当前条SHOW[0]中的内容了,当按下等于或者科学计算算符是就意味着算式输入完毕。当等号响应函数中UpdateData(TRUE)之后就需要将算式存入当前条SHOW[0]中,等待计算成功得到结果后,通过相应的方式组装完整计算式存入当前条,如等号组装方式:SHOW[0] = SHOW[0] + "\r\n=" + m_strResult(其中\r\n是为了让等于及其之后的结果在Edit控件中换行显示);Sin运算的组装方式:SHOW[0] = "Sin(" + SHOW[0] + ")°\r\n=" + m_strResult。对于完整的计算式下次对它操作计算时只需截取等号后的结果就可以了。
计算3+(3+(1-2)*3+(3-2)/2)+(2+3)*5;
第一步:寻找第一个封闭括号,即(1-2)这个括号;
第二步:将原算式切开存成三段存储,即”3+(3+”、”1-2”、”*3+(3-2)/2)+(2+3)*5”;
相关文档
最新文档