2.4版(会员收费版)Fx5800计算器公路测量程序设计

2.4版(会员收费版)Fx5800计算器公路测量程序设计
2.4版(会员收费版)Fx5800计算器公路测量程序设计

FX5800计算器测量程序集2.4 版

一、程序功能

主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。

新版本优化:1、优化程序语句、2、以复数形式输入变量及做数据库,取消原矩阵数据库;3、修改隧道超欠挖程序为通用形,不受圆心个数限制、4、新增测量资料表计算

二、源程序(绿色为程序名;蓝色为输入计算器内容)紫色为新版改动处(可以根据自己标段情况用相关主程序及子程序,再在0程序中汇总)0.汇总程序(1、坐标计算放样程序(1XY、A、AB、HX、JS、DX、QX、F、XY、X1);2、坐标反算程序(2ZD、A、B、AB、HX、QX、F、ZD、X1);3、高程计算查阅程序(3GC、H、I、QX、S1、I1);4、路基半幅标准宽度查阅程序(4GD、C、QX、G1);5、路基边坡及开挖口放样程序(5BP、

A、B、AB、HX、H、I、C、JS、DX、QX、F、ZD、X1、S1、I1、G1、W1);

6、路基标准距离放样(6FM、A、AB、HX、H、I、JS、DX、QX、F、XY、X1、S1、I1);

7、桥梁锥坡计算放样程序(7ZP、A、AB、HX、C、JS、DX、QX、F、XY、X1、G1);

8、极坐标计算程序(8JS、JS、DS);

9、隧道超欠挖计算程序(A、B、AB、HX、H、I、QX、S、SD、F、ZD、X1、S1、I1、SD1)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。输入-2,返回选择线路。

程序名:0(数子0)

ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY":WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":

WhileEnd: While Z[3]=33:Prog"9SD":WhileEnd:LpWhile Z[3]≠25:”XIE XIE SHI YONG”:

计算内程序排例:0、01(测量资料专用)、1SC(水准测量用)、1XY、2XY-S(由坐标计算面积)、2ZD、3GC、4GD、5BP、6FM、7ZP、8JS、9S D、A、AB、B、B6(测量表格检表6)、B7(检表7)、B8(检表8)、B 9(检表9)、C、DX、DX0、F、G1、H、HX、I、I1、JS、M(度分秒转十进制)、QX、S、S1、SD0、SD1、T、W1、X1、XY、XYH(五点通线元法计算坐标)、ZD

程序内容无电子版。。。全在计算中,本人出售单机卡西欧计算器5800,或者带2.4程序计算器(凡购买带程序计算器者即为会员,享有以后所有版本的使用)详情凳陆淘宝网店:http://shop60 https://www.360docs.net/doc/9710277205.html,(或加QQ详谈,加QQ注明:淘宝。

23.数据子程序(以下子程序除T程序外,其余子程序根据自己标段设计数据修改)

带有不完整缓和曲线的线元转交点数据程序(T)。只为转交交点的辅助程序,不参入任何主程序中运行。

程序名:T

Norm 2: "QKM"?Z:"XQ"?U:"YQ"?V:"LS1"?M:"LS2"?O:"A1"?A:"A2"?B:"FWJ"?G:"ZJ"?P:?R:P÷Abs(P

→Q:A2÷R→H:HM→H:H-M→S:B2÷R→N:N-O→C:O>N=>O→N:H=0=>×10-9→H:H→X:90S2÷(RHΠ→K:G-QK→G:N=0=>×10-9→N: 90C2÷(RNΠ

→D:P+QK+QD→P:Prog"AB":Abs(P→E:(R+C)tan(E÷2)-(C-A)÷sin

(E)+D→T:(R+A)tan(E÷2)-(C-A)÷sin(E)+B→F:X→H:Z-S+T→O:Pro g"HX":U-(A-T)cos(G)+QBsin(G→U:V-(A-T)sin(G)-QBcos(G→V:Fix

3: "JDKM=":Locate 6,4,O: "JDX=":Locate 6,4,U: "JDY=":L ocate 6,4,V◢"FWJ=":G?DMS◢"ZJ=":P?DMS◢"LS1=": Locate

6,4,H: "LS2=": Locate 6,4,N: "T1=": Locate 6,4,T: "T2

=": Locate 6,4,F◢"R=":R◢

说明:运行后“QKM”?输入起点桩号;“XQ”?“YQ”?输入起点X、

Y坐标;“LS1”?“LS2”?输入前段缓和曲线长度,后段缓和曲线长

度;“A1”?“A2”?输入前段缓和曲线参数,后段缓和曲线参数;

“FWJ“?输入起点切线方位角;”ZJ“?输入转角(终点方位角减起

点方位角之差,左转为负,右转为正);计算结果要素同QX子程序中

要素字母。

以下全为数据子程序,根据自己标段设计数据修改黑色部分数据。

①-1程序名:X1(线路1和线路2坐标计算要素程序,)

Z[4]=0=>Return:Z[4]=1=>Goto 1:Z[4]=2=>Goto 2:

LbI 1:If Z ≤241.086:Then -336.478+60i →R:2600441.639+514392.519i →U:280。

20’28.78”+203。

08’28.32”i →G:106.667+81.667i →H:-270.668-283.056i →T: Prog "F ":Return:IfEnd

LbI 2:If Z ≤273.006:Then 171.674+180i →R:2600784.547+514635.863i →U:58。

49’17.2”+68。

09’26.91"i →G:93.889+125i →H:171.674+184.771i →T:Prog "F ": Return:IfEnd

If Z≤466.227:Then 341.96+445i→R:2600664.76+514799.865i→U: 123。43’25.9”+15。58’49.5”i→G:138.211i→H:68.954+125.273i→T:Prog”F”:Return:IfEnd

Z[4]=0=>Return:Z[4]=1=>Goto 1:Z[4]=2=>Goto 2:

LbI 1:If Z≤40.858:Then 0→O:2600509.148→U:5144063.566→V:29 9。43’39”→G:40.857→H:97.25→P: 60→R:1→Q:Return:IfEnd

If Z≤159.42:Then 40.857→O:2600537.297→U:514034.668→V:331。16’15.1”→G:118.562→H:60→P: 60→R:1→Q:Return:IfEnd

If Z≤241.087:Then 159.419→O:2600625.86→U:514081.521→V:84。29’22.4”→G:81.667→H:60→P: 1×1045→R:1→Q:Return:IfEnd

LbI 2: If Z≤93.89:Then 0→O:2600695.67→U:514488.986→V:58。4 9’17.2”→G:93.889→H: 1×1045→P:180→R:1→Q:Return:IfEnd

If Z≤198.568:Then 93.889→O:2600736.998→U:514572.974→V:73。45’51.6”→G:104.678→H: 180→P:180→R:1→Q:Return:IfEnd

If Z≤273.007:Then 198.567→O:2600736.233→U:514676.181→V:10 7。5’4.3”→G:74.439→H: 180→P:445→R:1→Q:Return:IfEnd

程序字母说明:O-线元起点桩号;U-起点X坐标;V-起点Y坐标;G-线元起点桩号切线方位角; H-线元长度,P-线元起点曲率半径,R-线元终点曲率半径,Q-线元判别(以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0)。

说明:1、If Z≤计算交点段终点桩号(或者直线段任意桩号):Then 交点桩号+圆半径i→R:交点X坐标+交点Y坐标i→U:起点至交点方位角+交点转角i→G:交点前段缓和曲线长度+交点后段缓和曲线长度i→H:交点前段切线长度+交点后段切线长度i→T: Prog”F”: Return: IfEnd (转角则为交点段终点方位角减起点方位角,分正负,左偏为负,右偏为正)如整条线无曲线,全为直线段,则交点为终点桩号,XY为终点坐标,方位角为起点方位角,转角和圆半径为1,其它全为0。

②-1程序名:S1(线路1和线路2高程竖曲线要素子程序)

Z[4]=1=>Goto 1:Z[4]=2=>Goto 2:

LbI 1:If Z≤241.09:Then 2000→R:95.356+40.742i→C:-3.155+.81 2i→I: Return:IfEnd:

LbI 2:If Z≤133.601:Then 1525→R:106+45.12i→C:-.64+2.98i→I: Return:IfEnd:If Z≤466.23:Then 1945→R:298+50.841i→C:2.98-1. 968i→I:Return:IfEnd:

程序字母说明:R-竖曲线半径:C-竖曲线交点桩号+交点桩号高程i(未竖曲线调整的);I-竖曲线前纵坡+竖曲线后纵坡i

③-1程序名:I1(线路1和线路2高程超高参数子程序)

0→K:1→W: Z[4]=1=>Goto 1:Z[4]=2=>Goto 2:

LbI 1:If Z≤159.419:Then 0→S:6-6i→M: Return:IfEnd:

If Z≤187.987:Then 28.568+28.568i→S:159.419→C:6-6i→M:2-2i

→N: Return:IfEnd:If Z≤241.086:Then 0→S:2-2i→M: Return:IfE nd:

LbI 2:If Z≤77.872:Then 0→S:2-2i→M:Return:IfEnd:

If Z≤93.889:Then 16.017+16.017i→S:77.872→C:2-2i→M:5-5i→N: Return:IfEnd:If Z≤198.567:Then 0→S: 5-5i→M:Return:IfEnd: I f Z≤273.006:Then 74.439→S:198.567→C:5-5i→M:2-2i→N:Return: IfEnd:If Z≤335:Then 0→S:2-2i→M:Return:IfEnd: If Z≤346.235: Then 11.235+11.235i→S:335→C:2-2i→M:1.5-1.5i→N:Return:IfEn d

子程序中字母表示说明:

K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);S-超高渐变段左距离+右距离i(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点左横坡+右横坡i,N-超高渐变段终点左横坡+右横坡i(不是渐变段,无需输入)。

④-1程序名:G1(线路1和线路2路基标准半幅宽度参数子程序)

Z[4]=1=>Goto 1:Z[4]=2=>Goto 2:

LbI 1:If Z≤40.857:Then 40.857i→S:0→C:3.5+5i→A:5.25i→B: R eturn:IfEnd:If Z≤159.419:Then 0→S:3.5+5.25i→A:Return:IfEnd: If Z≤187.987:Then 28.568i→S:159.419→C:3.5+5.25i→A:5.5i→

B: Return:IfEnd:If Z≤241.086:Then 0→S:3.5+5.5i→A:Return:If End:

LbI 2: If Z≤321.611:Then 0→S:3.5+5i→A:Return:IfEnd:If Z≤3 46.235:Then 24.624i→S:321.611→C:3.5+5i→A:5.75i→B: Return: IfEnd:If Z≤466.227:Then 0→S:3.5+5.75i→A:Return:IfEnd

子程序中字母表示说明:

C-宽度渐变段起点桩号(不是渐变段不输);A-宽度渐变段起点左侧宽度+右侧宽度i; B-宽度渐变段终点左侧宽度+右侧宽度i(不是渐变段,无需输入);S-宽度渐变段左侧距离+右侧距离i(不是渐变段输0)。

⑤-1程序名:SD1(隧道1和隧道2参数子程序)

If Z[4]=1:Then 5→I:1.4→V:12+19。16’i→Z[16]:1.4+51。42’18”i →Z[17]:5.1+218。3’i→Z[18]: 1.4+51。42’18”i→Z[19]:12+19。16’i→Z[20]:Return:IfEnd:

If Z[4]=2:Then 5+2.2i→I:3.825→V:4.355→Z[16]:4.355-251。18’4 6”i→Z[17]: 6.07+217。22’28”i→Z[18]:4.355-108。41’14”→Z[1 9]:4.355-180i→Z[20]:Return:IfEnd:

子程序中字母表示说明:

I-隧道开挖面里圆心个数和直线段共个数+隧道中线距设计路中线距

离(右正左负)i;V-路中线标高至设计隧道中线底高差+底部圆心水平偏移距离(向左偏为负,向右偏为正);Z[16]-Z[16+I]-隧道中线

型数据,直线段为:长度-起点方位角;圆曲线段为:圆半径+偏角(即圆心夹角).

⑥-1程序名:W1(线路1和线路2路基填挖边坡参数子程序)

10→E:10→F:2.6→M:2→N:2→U:1.5→I:1.75→J:8→W:2→V:Z[4]=1=>Goto 1:Z[4]=2=>Goto 2:LbI 1: If D<0:Then Goto L:Else Goto R:IfEnd:LbI L:1→A:1.25→B:1.25→C:Return:

LbI R:If Z≤110:Then 1.25→A:1.25→B:1.5→C: Return:Else Goto L: IfEnd

LbI 2:If D<0:Then Goto L:Else Goto R:IfEnd:LbI L:0.75→A:0.75→B:0.75→C:Return:LbI R:If Z≤445:Then Goto L:Else If Z≤506. 9:Then 0.25×(Z-445)÷21.2→Q:.75+Q→A:A→B:A→C:Return:IfEnd 子程序中字母表示说明:

A-挖方第一阶边坡边率;B-挖方第二阶边坡边率;C-挖方第三阶边坡边率;E-挖方第一阶高度;F-挖方第二阶高度;M-挖方路基碎落台及水沟宽度;N-挖方第二台阶平台宽度;U-挖方第三台阶平台宽度;I-填方第一阶边坡边率;J-填方第二阶边坡边率; W-填方第一阶高度;V-填方第二台阶平台宽度。(注:本程序只做出挖方三个台阶,填方二个台阶,如需增加,先需在程序5BP程序相应增加。再如一标段有坡率及坡高不一样时,可以照其它参数程序一样,用判别语句。)

三、使用说明

1、规定

(1) 坐标计算以交点方式计算,一般情况下一个交点计算一段线是:直线+缓和曲线+圆曲线+缓和曲线+直线。在匝道中先根据实际线来调整,可以单独计算一段不完整的缓和曲线+圆曲线。也可以单独计算一段缓和曲线或一段圆曲线,需先运行T程序整理成交点数据。无缓和曲线时,缓和长度输0。

(2) 程序中:×10-9为10的负9次方即0.000000001;×1045为10的45次方;Π为圆周率即3.1415926;√为根号;"X=":X前有空格二个,为了显示效果,-336.478+60i中i是复数中虚数符号,在计算器从上向下第三排键,第一个。

(3) 为了区别字母O及数子0,特把字母0加粗。

2、输入与显示说明

输入提示部分:

"A:XY=1, ZD=2 ,GC=3, GD=4, BP=5, FM=6, ZP=7, JS=8,SD=9"? 按对应数子键约半秒:1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序

XZ?YZ?为置仪点坐标,第一次运行输一次,以下运行不需再输入,下次再运行此程序调上次输值,如需改,则输入,不需改,则按确认键。(后附有导线点坐标存储子程序,有兴趣的可加上)

“QX:X1=1,X2=2”?选择经路,坐标计算中输入0值,变为输入线

元段曲线要素。输1为第一条线路。输2为第二条线路,本程序暂设计实例为2条线路。

KM?算输入大概桩号)输入-1,返回输入选择计算类型,输入-2,返回选择线路。

KM+Di?正算时输入所求点桩号和所求点距中线的边距(左侧取负值,右侧取正值,在中线上后面不输)

X0+YOi?反算时所求点的X+Y坐标(放样程序中实测X+Y坐标)以复数形式一次输入。

L0? 涵洞放样程序中涵距中心桩号前后距离,前为正,后为负.(即涵洞半幅宽度)

M0? 放样程序中原地面标高输入

H-B?计算面至路面高差(默认路面为0)

PJ1?+PJ2? 为路线中线与边线的右夹角+边线至路前进方向夹角,默认值均为90度.,不是涵洞桥梁计算不需输PJ2,后面也不会出行L0?

TH-GH?边坡放样中填方超放宽值,默认值为0.5m.

"LD:Z-,Y+"? 桥梁锥坡向左右方向边长,左为负数,右为正数。(即为锥坡高程减地面高程后乘以填方坡比)

"LR"? 锥坡向路线前进或向后退方向边长。"Z0"? 锥坡顶边桩号"L0:SZ+,DZ-"?锥坡放样中,椭圆上分段放样距离,小桩号锥坡输正数,大桩号锥坡输负数。

“CQHD”? 隧道超欠挖程序中衬砌厚度, 默认值为0.65m.

QX子程序中和T程序结果中:““JDKM”?输入交点桩号;“JDX”?“JDY”?输入交点X、Y坐标;“FWJ“?输入起点至交点方位角”ZJ “?输入转角(终点方位角-起点方位角之差,左转为负,右转为正);“LS1”?“LS2”?输入交点前段缓和曲线长度,交点后段缓和曲线长度;“T1”?“T2”?输入交点前段切线长度,交点后段切线长度;”R”?圆半径

输出部分

X=*** 正算时,计算得出的所求点的X坐标

Y=*** 正算时,计算得出的所求点的Y坐标

FWJ=*** 正算时,计算得出的所求点的至置仪点方位角

S=*** 正算时,计算得出的所求点的至置仪点距离

KM=*** 反算时,计算得出的所求点的里程

D=*** 反算时,计算得出的所求点的边距

H=*** 所求点位置设计计算面顶标高

I=*** 所求点位置设计路面横坡(D输0时为,本段路基纵坡)LGD=*** 所求点位置设计路面顶左半幅标准宽度

LGD=*** 所求点位置设计路面顶右半幅标准宽度

LX=*** 边桩放样程序中实测点至设计边坡点距离,正向内移,负向外移。(隧道程序中为超欠挖值,正为超挖,负为欠挖) TW=*** 边桩放样程序中,实测放样边坡点至止桩号设计顶填挖高度值(负为挖方值,正为填方值)

H0=*** 隧道放样程序中测量点至设计面高度

四、结束语

1、本套程序实例线路给二条,如标段像匝道有多条线时,同理增加。

2、为了更好的开发计算器程序,本人特建一QQ群,欢迎各位测友加入,QQ群号是:17507020。

3、因本人QQ加人已满,以后有问题请在群内或论坛中回复。

附后为坐标计算参数子程序X1、X2和高程计算子程序S1、S2数据来源(X1、S1为C线,X2、S2为I线)

交点数据均需先运行T程序,计算出交点数据

例如X1要素:先运行T程序,输入表中C线参数:QKM输0;XQ输2600509.148;YQ输514063.566;LS1输40.857;LS2输81.667;A1输80,A2输70;FWJ输299。43‘39“;ZP输183。45‘18.1“;R输60。计算后各要素结果记录在本上,再对应做X1子程序就可以了。

直线、曲线及转角表

S11-6-5(3)

S11-6-5(9)

https://www.360docs.net/doc/9710277205.html,

https://www.360docs.net/doc/9710277205.html,

c语言程序设计课程计算器设计报告

课程设计说明书 题目计算器程序设计 起讫日期2006 年7月3日至2006 年8月6日 所在院系软件学院 专业机械+软件班级04-2 学生姓名偶偶哦学号 指导教师 2006年8 月日

摘要 当今社会是信息社会,科技经济高速发展的社会!为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活中的必备品! 随着科技的发展计算器的种类变得更多,功能变得更强大,体积变得更小!电脑的出现改变人们的生活习惯,很多事情都可以电脑来完成!电脑的更大一个优点就是可以通过软件的应用无限的延伸电脑功能的外延!下面我们将用我们学习的c语言编写一个简易的计算器程序!实现简单的初步的计算功能! 本程序的编写基础是Tubro C2.0汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。生成的程序可移植性强兼容性好稳定!现在只实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,以及一个时钟原代码。这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。但是,每次只能运算一个表达式。不能运算多个表达式。在程序里面在添加一组选择函数即可。本论文主要介绍了本课题的开发背景,开发的过程和所要完成的功能。重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。 关键词:C语言T ubro c 2.0汉化版计算器时钟

目录 第一章综述 (1) 1.1 课题的现实意义 (1) 1.2 软件环境 (1) 1.3 硬件环境 (1) 第二章系统设计流程图 (2) 2.1 系统流程图 (2) 2.2 主要功能表 (2) 第三章系统分析和设计 (3) 3.1 图形的绘制和输出 (3) 3.2 文本的输出显示 (3) 3.3 计算函数的调用 (4) 3.4 程序的运行和退出 (5) 第四章系统测试 (6) 4.1 系统测试 (6) 4.2 调试 (6) 4.3 错误原因分析一 (6) 4.4 错误原因分析二 (6) 第五章用户使用说明书 (8) 5.1 运行Turbo C程序进入计算器界面 (8) 5.2 计算器的使用 (9) 5.3 退出程序 (9) 第六章工作总结 (10) 参考文献 (11) 附录: 源代码

C语言程序设计之简单计算器

攀枝花学院 学生课程设计(论文) 题目:简易计算器 学生姓名:葛肪瑜学号:201010801018 所在院(系):计算机学院 专业:计算机科学与技术 班级:10计本(1)班 指导教师:陈三清职称:讲师 2011年6月25日 攀枝花学院教务处制

攀枝花学院本科学生课程设计任务书 题目计算器的设计 1、课程设计的目的 本课程设计的目的和任务:(1)巩固和加深学生对C语言课程的基本知识的理解和掌握;(2)掌握C语言编程和程序调试的基本技能;(3)利用C语言进行简单软件设计的基本思路和方法;(4)提高运用C语言解决实际问题的能力。 2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等) 一、用C实现如下功能: 使用C语言编写一个类似于Windows附件提供的计算器软件,实现计算器的基本功能,能进行浮点数的加、减、乘、除、乘方和求模运算。 二、撰写课程设计报告或课程设计总结课程设计报告要求:总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。 3、主要参考文献 [1] 潭浩强,《C程序设计》,清华大学出版社 [2] 王声决,《C语言程序设计》,中国铁道出版社 [3] 潭浩强,《C程序设计题解与上机指导》,清华大学出版社 [4] 刘玲等,《C语言程序设计应用教程》,西南师范大学出版社 4、课程设计工作进度计划 第1天完成方案设计与程序框图 第2、3天编写程序代码 第4天程序调试分析和结果 第5天课程设计报告和总结 指导教师(签字)日期年月日 教研室意见: 年月日 学生(签字): 接受任务时间:年月日注:任务书由指导教师填写。

简易计算器的设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:单片机系统综合课程设计课程设计题目:简易计算器的设计与实现 院(系): 专业: 班级: 学号: 姓名: 指导教师: 完成日期:

沈阳航空航天大学课程设计报告 目录 第1章总体设计方案 (1) 1.1设计内容 (1) 1.2设计原理 (1) 1.3设计思路 (2) 1.4实验环境 (2) 第2章详细设计方案 (3) 2.1硬件电路设计 (3) 2.2主程序设计 (7) 2.2功能模块的设计与实现 (8) 第3章结果测试及分析 (11) 3.1结果测试 (11) 3.2结果分析 (11) 参考文献 (12) 附录1 元件清单 (13) 附录2 总电路图 (14) 附录3 程序代码 (15)

第1章总体设计方案 1.1 设计内容 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除1位无符号数字的简单四则运算,并在6位8段数码管上显示相应的结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的8751单片机,输入采用4×4矩阵键盘。显示采用6位8段共阳极数码管动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,最终选用汇编语言进行编程,并用protel99se涉及硬件电路。 1.2 设计原理 在该课程设计中,主要用到一个8751芯片和串接的共阳数码管,和一组阵列式键盘。作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。 1)提出方案 以8751为核心,和数码管以及键盘用实验箱上已有的器件实现计算器的功能。 2) 总体方案实现 (1)要解决键值得读入。先向键盘的全部列线送低电平,在检测键盘的行线,如果有一行为低电平,说明可能有按键按下,则程序转入抖动检测---就是延时10ms再读键盘的行线,如读得的数据与第一次的相同,说明真的有按键按下,程序转入确认哪一键按下的程序,该程序是依次向键盘的列线送低电平,然后读键盘的行线,如果读的值与第一次相同就停止读,此时就会的到键盘的行码与列码

Fx5800计算器公路测量程序设计

FX5800计算器测量程序集版 一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本优化:1、优化程序语句、2、以复数形式输入变量及做数据库,取消原矩阵数据库;3、修改隧道超欠挖程序为通用形,不受圆心个数限制、4、新增测量资料表计算

二、源程序(绿色为程序名;蓝色为输入计算器内容)紫色为新版改动处(可以根据自己标段情况用相关主程序及子程序,再在0程序中汇总)0.汇总程序(1、坐标计算放样程序(1XY、A、AB、HX、JS、DX、QX、F、XY、X1);2、坐标反算程序(2ZD、A、B、AB、HX、QX、F、ZD、X1);3、高程计算查阅程序(3GC、H、I、QX、S1、I1);4、路基半幅标准宽度查阅程序(4GD、C、QX、G1);5、路基边坡及开挖口放样程序(5BP、 A、B、AB、HX、H、I、C、JS、DX、QX、F、ZD、X1、S1、I1、G1、W1); 6、路基标准距离放样(6FM、A、AB、HX、H、I、JS、DX、QX、F、XY、X1、S1、I1); 7、桥梁锥坡计算放样程序(7ZP、A、AB、HX、C、JS、DX、QX、F、XY、X1、G1); 8、极坐标计算程序(8JS、JS、DS); 9、隧道超欠挖计算程序(A、B、AB、HX、H、I、QX、S、SD、F、ZD、X1、S1、I1、SD1)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。输入-2,返回选择线路。 程序名:0(数子0) ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY":WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":

计算器程序设计报告

题目一计算器 1.1 题目简介 用Java语言、MyEclipse工具、设计一个GUI简易计算器,编写计算器的基本运算的程序,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算,基本实现计算器的四则运算和三角函数运算功能以及开方和求对数的基本运算。本计算器只适用十进制的运算,不限制十进制的大小。编写本计算器运用java的类得调用和直接在程序中定义类,实现计算器的基本功能,在这个计算器中对于执行的操作可以进行复制和保存以便以后能直接查看运行结果本计算器保存没不得运行结果,只有点清除键是才可以清除每步的结果。 1.2 设计的内容、要求和目标 设计内容:设计一个GUI简易计算器,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算。 设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT事件来处理等实现具体功能。 (1)、应具有相应的界面,可参考下图进行设计:

(2)、操作符号定为:“+”“-”,“*”,“/”等。 (3)、用户通过点击面板中的各种组件输入的表达式,应在上方文本框。 (4)、党用户点击“=”时,文本框中之前的内容应清空,直接显示表达式运算结果。例如:输入表达式“7*8”之后按“=”,显示结果“56”。 (5)、具有菜单栏,内有相应的编辑“复制”、“粘贴”等菜单,提供相应的功能。 设计目标:利用Java语言设计一个简单的计算器,以实现基本的加减乘除功能,还有sin、|cos、tan、log等算术运算;同时实现退格、清零等运算。 1.3总体设计 1)、对计算器面板的整体布局 首先是对计算器的整体面板进行一个简单的设计,整体布局是采用layout (边框布局)布局,对计算器中的一些数字按钮和运算符按钮采用gridlayout 布局(网格布局)。 2)、创建实现程序所需的类 整理思路,确定一个主类CalculatorWindow,然后对Dialog、HandleBack、HandleClear、HandleCos、HandleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree等类的创建。 3)、对所创建类算法的分析和实现 确定了主类CalculatorWindow,其他类为其所调用。编写各类的实现算法,增加面板所需的按钮,并对程序进行调试运行及分析。

c面向对象程序设计MFC简单计算器实验报告

计算机与信息工程学院 《程序设计基础》课程设计报告 题目名称:60.编写一个能实现简单功能的计算器学生姓名:刘沛东 学生学号:2011508154 专业班级:电子信息工程(1)班 指导教师:高攀

1 课程设计的题目 编写一个能实现简单功能的计算器 2 题目要求 1. 有一个计算器图形。 2. 能实现加、减、乘、除及乘方的运算。 3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色 例如:输入数字1 时,在计算器图形上的1键变为红色。 4. 屏幕、图形颜色、形状自定 3 总体设计 3.1 总体框架 图1 系统框架

3.2 系统功能说明 在VC++6.0中绘制计算器界面,各控件的设置 对0~9控件设定相应的ID和其他属性: 图2 “1”控件设置 对“+、-、*、\”控件设定相应的ID和其他属性: 图2 “+”控件设置 对其它控件设定相应的ID和其他属性: 图3 其它控件设置

主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。 4 程序详细设计 4.1系统主调模块 图5 程序流程图

4.2各模块详细设计 4.2.1 建立的变量,控件的命名,对应的消息处理函数对应表 double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。 double m_Dis; //Edit控件上需要显示的数字 BOOL point_flag; //小数点表示位,判定是否是小数,是小数为1,不是小数为0。 double numfirst; //保存计算过程中的前一个数字, double numsecond;//保存计算过程中的第二个数字 char op;//记录当前的计算符号,可以为’+’,’-’,’*’,’/’,’=’,’c’,’n’ 变量初始化: poz=1; m_Dis = 0.0; numfirst=0; numsecond=0; op=0;

CASIO fx-5800P计算器测量程序设计2.1版

CASIO fx-5800P计算器测量程序设计2.1版 一、程序功能 主要功能:采用线元法与交点法相结合计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本特点:1、建主程序合并原所有计算类型,在主程序中可选择操作类型。隧道欠超挖增加变量衬砌厚度,因有设计衬砌厚度根据石岩来定的。增加锥坡放样计算。 二、源程序 1.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后输入1~9数子则选择1至9的程序,返回时,在桩号输入-1,返回选择选择计算类型。输入-2,返回选择线路。坐标计算中输入-3,则显示本段曲线要素。 程序名:0ZCX LbI 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 9 LbI 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 B LbI 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": "X O"?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 D LbI 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 E LbI 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]: "K M"?Z:Z=-1=>Goto 0:Z=-2=>Goto G:Prog"KM":?D:Prog"TH

《计算器程序设计》课程设计

成都理工大学 C#计算器 课程设计报告(计算机科学与技术学院) 题目:计算器 班级:XX 姓名:XXX 指导教师:XXX 2013-2014学年度第二学期

目录 1.需求分析 (1) 1.1计算器应用软件的功能分析(二级标题,四号黑体) (1) 1.2计算器软件的功能图 (1) 2.界面设计 (1) 3.功能实现 (2) 3.1计算数字现实的功能代码 (2) 3.2小数点设置的功能代码 (3) 3.3连续运算的功能代码 (3) 3.4实现键盘控制的功能代码 (4) 3.5删除的功能代码 (5) 4.设计总结 (5) 参考文献 (6)

计算器的开发与应用 摘要:计算器的产生和发展是建立在电子计算机基础之上的,现代社会很需要一个健全、高效率的计算器。为了提高自己的实践能力和将来开发一个更实用更全能更智能的计算器,以设计与实现计算器为课题。此次设计的计算器应用软件从visual studio 2012编程环境中开发,是一个简单的窗体应用程序,实现简单的计算器功能。以微软自带的计算器为模板,设计了简单易懂的计算器。这款计算器不仅实现了简单的四则运算的功能,还能连续运算,实现小键盘的操作,光标的转移。虽然这个简单的计算器只能实现这些功能,但是具有简洁的图文外观,即时准确的获得所需要要计算的结果,充分降低了数字计算器的难度和所需要的时间,对人们生活和学习具有有很大的帮助。 关键词:计算器;功能;界面;窗口;事件。 1.需求分析 通过对微软附件计算器软件进行调研、分析,研究,使用。我们了解到了作为一个计算器所应该有的一些简单功能和界面的排版,我们知道了怎样使编写的计算器程序向微软附件计算器靠拢。 1.1计算器应用软件的功能分析 计算器软件的主要功能是: 1)可以显示计算数字 2)可以进行加减乘除四则运算 3)可以实现键盘操控的功能 4)可以进行清零运算 5)可以进行退格键运算 6)可以进行连续计算 1.2计算器软件的功能图 根据以上需求分析,计算器软件功能如图1-1所示。 2.界面设计计算器主界面 显示 计算 数字 连 续 计 算 功 能图1-1计算器功能图 进 行 四 则 运 算 键 盘 操 控 清 零 运 算 退 格 键 功 能

简单计算器c++课程设计讲解

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

MFC做的一个简单的计算器

目录 一.设计题目。 (1) 二.设计目的和内容。 (1) 三.基本功能描述。 (2) 四.设计思路。 (2) 五.软件设计:设计步骤、界面设计、关键功能的实现。 (3) a)设计步骤。 (3) b)界面设计。 (4) c)关键功能的实现。 (5) 六.附录。 (8) 一.设计题目。 小型计算器程序的编写. 二.设计目的和内容。 【设计目的】 1学习Visual C++的MFC开发程序的步骤。 2综合运用所学的类、继承和多态的知识。 3进一步掌握程序的调试方法。 【设计内容】 1利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件; 第1页

2实现算术加、减、乘、除等运算; 3选做:三角函数的运算、对数运算、指数运算、进制转换等。 三.基本功能描述。 具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果,按‘C E’键清屏。 四.设计思路。 a)首先考虑对所有按键分为两类,数字类和符号类。0,1,2,3,4,5,6,7,8,9为 数字类,+,-,*,/为符号类。数字在计算过程中最多需要保存两个,所以定义了两个double型变量num1和num2来进行存储,符号需要一个char型变量cal来存储。 b)为显示数字的编辑框设立一个double型的关联变量m_Num,为显示符号的编 辑框设立一个CString型的关联变量m_result,设立一个int型的小数点标志dotflag,设立一个int型的键入数字标志numflag,设立一个long型的小数部分权值quan,最后为了防止用户输入错误,设立一个判断输入是否为数字的int型标志mark。 c)然后考虑到在计算过程中num1和num2的储存状态有三种,num1==0和 num2==0,也就是程序开始运行还没有开始录入数字的状态;num1!=0和num2==0,也就是第一个数字已经录入,第二个数字还没有录入的状态这时候把m_Num的值赋给num1,m_Num归零;num1!=0和num2!=0,把m_Num的值赋给num2,m_Num归零,令m_Num等于num1和num2合并后的值。

计算器编程(修改版5800)

FX5800计算器公路测量常用程序集2.3 版 一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本优化:1、优化程序语句、2、取消原线元法计算,化线元法为交点法。 3、高程计算修改, 4、附计算坐标及高程参数设计要素输入实例 二、源程序(绿色为程序名;蓝色为输入计算器内容)红色为网友调试后修改笔误。 0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。输入-2,返回选择线路。 程序名:0(数子0) ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY”:WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While

Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":WhileEnd: While Z[3]=33:Prog"9SD":WhileEnd:LpWhile Z[3]≠25:”XIE XIE SHI YONG”: 1.主程序:一般坐标计算及放样程序 程序名:1XY Prog "DX":Prog"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z [1]:B→Z[9]: Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ? D: 0→L: "L0"?L:L→Z[10]: Porg"A":Z[2]+Z[1] →A :A-Z[9]→E:I+Dcos(A)+Z[10]cos(E→X:J+Dsin(A)+Z[10]sin(E→Y:Prog"XY": Prog"JS":LpWhile Z≠-1 2.主程序:由大概桩号及坐标反算桩号及距离 程序名:2ZD Prog"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-1 3.主程序:任意点高程计算及横坡 程序名:3GC P rog"QX":0→B: "H-B"?B: B→Z[9]: Do: "KM"?Z:Z=-1=>Stop: Z=-2=>Break:?D:Prog"H":Fix 3: " H=": Locate 6,4,H-Z [9]:" I=":Locate 6,4,I:LpWhile Z≠-1

my计算器程序设计报告

计算器程序设计报告 计算器是一种在日常生活中很常用的计算工具,它在计算方面给了我们提供很大的方便。本程序的功能包括:(1)加,减,乘,除运算,正弦,余弦,正切,余切,反正切,反余切,反正弦,反余弦,自然对数,以10为底的对数还有阶乘等函数功能。(2)还包括存储清,存储显示,存储相加。 “计算器”是一个关于多种控件,以及控件数组应用的程序,它包含许对字符串的处理,多模块程序设计,数学函数的使用。它所需知识点较多,必须对各个方面都有所了解. 数学模型:主界面 界面:进制转化界面 数学函数代码 代码:存储清代码 进制转化代码 第一步,要编辑计算器界面,如右图, 对于界面上的按钮较多,我们可以分成四组,这就是控件数组的使用,而且每个按钮的属性都一一设置,而且要调入图片.第二个界面如右图 比较简单,只是一些普通的控件. 计算器是一个输入原始数据,运算中间数据和结果数据都显示在窗口顶部的同一个文本框的工具,这就要求我们可以把文本框的内容付给两个不同的变量,对于这一点我们就可以用一个逻辑变量来实现.比如, If not boolean str1=str Else str2=str 计算器的主要功能就是运算,但是任何一个数值的输入都是以字符串的形式进行的,而字符串是无法参与运算的,所以必须用CInt()转换成整形变量,而输出时必须用CStr()转化成字符串的形式输出,更为麻烦的是,在进行进制转换时,两种变量之间的转换更为频繁。在编程过程中要时刻注意!就拿一个简单的程序中的一部分来说吧:

If not boolean then str=str1 Else str=str2 Str=text1.text n=CInt(str) ‘“将其转换成整形变量" ……. t4 =str( ) ‘“ 将返回值转换成字符串" 计算器的功能程序简单易懂,但编制过程极为烦琐,我在编程的过程中,体会最深的就是其过程有重复,但又不得再编,在这里尤其要注意,有些过程虽然相似,但它们却存在着质的区别,就拿删除按扭来说吧, "C","0->M","CE","->"按扭都有删除的功能,在这里我就它们的区别作一下详细介绍: 将"C","CE","->"作为一个控件数组,其程序如下: If not boolean str1=str else str2=str Select Case Index Case 0 str1=" ",str2=" ", Text1.text=" " "C"键 Case1 str=" " "CE"键 Case2 str=Left(str,len(str)-1) "->"键 而"0->M"在另一个数组控件中,其程序的一部分如下: Case0 n4=0: Text1.text="0" 可见它们的代码是存在区别的,这就要求在编程时弄清楚它们的区别,不可想当然把同一种代码复制过来. 这里我再介绍一下小数点的使用 Private Sub Command2_Click(Index As Integer) If Index<10 Then str=str+CStr(Index) "输入数字" Else If InStr(str,".")=0 Then str=str+"." "输入小数点" End If If Len(str)>1 And Left(str,1)="0" And Mid(str,2,1)<>"."Then str=Right(str,Len(str)-1) "删除前面多余的0" End If Text1.text=str "显示输入的数据 " If not boolean Then str1=str Else str2=str "用两个字符串变量存放" End Sub 计算器虽复杂,但大部分还是比较简单的,最难的地方就是进制转换器的编码了,要编好这一部分必须对各进制之间的转换关系了如指掌.其中各个进制都和二进制有着直接的转换关系.而其他三个之间都不可直接进行转换.对于不能直接转化的,可以间接转化,例如,可以将十六进制先转化成十进制然后再转化成八进制. ElseIf Option4 = True Then t4 = "" str = Text1.Text

(完整word版)C语言简易计算器课程设计.doc

C语言课程设计报告书题目:简易计算器 院系: 班级: 学号: 姓名:

摘要 该软件为用户提供在windows 系统上的简易计算器,能进行简单的加、减、 乘、除四则运算与混合运算。目的是为了巩固和加深 C 语言课程的基本知识的理 解和掌握,利用 C语言进行基本的软件设计,掌握 C 语言的编程和程序调试 的基本技能,掌握书写程序设计说明文档的能力,提高运用 C 语言解决实际问 题的能力。 关键词: C; 简易计算器 ; 程序 ; 基本算法;混合运算 SUMMARY the software provides a simple calculator in Windows system for users ,can be a simple add,subtract,multiply,divide.The purpose is to consolidate and deepen the basic knowledge of C language courses to understand and master, The use of C language for software design basic, To master the basic skills of C language programming and program debugging, Master the writing program design documentation ability,improve the ability to use C language to solve practical problems.

第02讲 简易计算器的设计

第02讲计算器 2.1 计算器简介 大家都知道,计算器是日常生活中不可缺少的一个工具,在Microsoft的Windows操作系统中,附带了一个计算器程序,有标准型和科学型两种模式。Windows XP下的标准型和科学型计算器程序分别如图2-1和图2-2所示。 图2-1 Windows XP下的标准型计算器 图2-2 Windows XP下的科学型计算器 Windows操作系统下附带的计算器程序功能相当的强大,本课我们将模仿Windows的计算器,使用Visual C# 2005开发平台开发一个功能相对简单的计算器应用程序,它能完成加、减、乘、除运算。 接下来详细的介绍简易计算器的设计方法和步骤。

2.2 界面设计及属性设置 用户界面设计是软件开发中非常重要的一个部分,用户界面的好坏直接影响软件的质量,本节将介绍如何设计简易计算器的用户界面以及界面上各控件的属性设置。 2.2.1 界面设计 打开Visual Studio 2005开发工具,新建一个Windows应用程序,然后在窗体上依次放置1个TextBox和17个Button控件,如图2-1所示(设置好属性后)。 图2-1 计算器用户界面 2.2.2 属性设置 窗体和各控件的属性设置如表2-1所示。 表2-1 窗体和各控件的属性

2.3 编写代码 本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量: //****************************************************************** double num1, num2, result; // 操作数及运算结果 bool decimalFlag = false; // 判断输入的是否为小数 string myOperator; // 操作类型 //******************************************************************

5800计算器公路三维全能程序.(丢掉图纸轻松测量)(棋走四方超牛)!

请大家不要因为我的程序去买5800计算器了,建议买9860,我有时间了,就把这个程序改成9860 本程序比较复杂.测量原理不是很明白的朋友慎用 请大家经常关注程序B-H的更新 2009,5,10日修改见超高子程序B-H黄色部分,另超高数据库增加在超高缓和段输入超高为公路外侧超高说明 2009,5,8日正反算选择程序:ZS-FS 更改小错,详见紫色修改内容 2009,4,30日更改如下:把原来的4个子程序分解成5个子程序,解决了一个大的竖曲线不能包含几个超高变化段,另外程序内也有两处改变请看红色区域. 本程序经过综合考虑5800的设计缺陷,计算速度较慢故只使用高斯四节点法为计算内核.支持多条线路正反算,中桩,边桩高程计算,超高计算,超高缓和计算,加宽计算,加宽缓和计算,边坡开口线计算,挡土墙坡脚线计算,考虑了中间绿化带的影响,适用与国家高速公路至乡村四级公路计算和放样,路基路面工程可以直接得出中边桩的设计三维坐标,去掉加宽和超高影响的计算困难,边坡和坡脚线计算可直接在边坡上提取坐标带入程序,经过所有设计因素的综合,得出更改边距并显示修改偏差后的坐标.反算速度明显提高,只需要3秒.程序无错,可放心输入,另本程序可以增加隧道超欠挖计算子程序,非常方便,因为每个隧道的断面数据不一样,所以在此没有明确写出,有需要的可以联系我.本人QQ76805071,只为交友. 计算器主程序:ZHU-CHENG-XU Lbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。。。。。。。”?U: U=1=>Prog”ZS-FS”:进入公路三维程序 U=2=>Porg”ZS”:进入坐标正算程序 U=3=>Porg”FS”:进入坐标反算程序 U=4=>Porg”XY =>SG”:进入大地坐标转施工坐标程序 …………Goto0: 说明:计算器总的主程序,进入选择各种分支计算程序。1为公路三维计算,2为普通正算,3为普通反算,4为大地坐标转施工坐标。。。。。。。。选择错误重新选择。此程序可以不用输入,只为给大家一个思路,可以把计算器所有程序集中到一个主程序内管理. 公路三维部分 正反算选择程序:ZS-FS Deg: //设置角度模式 20→DimZ: //扩展变量 “1LZ=>XY,2XY=>LZ,3BIANPO-FY”?U://正反算选择,正算选1,反算选2,坡口坡脚选3 If U=1: ThenProg”ZS-XH”:IfEnd://进入正算循环主程序 IfU=2:Then Prog”FS-XH”:IfEnd: //进入反算循环主程序 IfU=3:ThenProg”BP-FY”:IfEnd://进入边坡开挖主程序 正算循环主体程序ZS-XH “1PT-2SJ”?W://普通计算和设计边距计算选择 “XL-XZ“?U://选择线路1~N

C#计算器程序设计

C#计算器程序设计 1)创建项目 ①单击文件-》新建-》项目,弹出如下对话框 ②模板中选择“windows窗体应用程序”-》名称中输入“jsq”-》位置单击“留了”-》选择“J:\新建文件夹”-》单击确定按钮 2)计算器界面设计

①向Form1中添加1个TextBox控件,1个Label控件和27个Button控件,控件布局如图所示 ②修改27个Button控件的Text属性,结果如图 ③Label控件的BorderStyle属性选择“Fixed3D”-》Text属性设置为“”-》Form1的Text属性设置为“计算器”-》Backspace控件、CE控件等的ForeColor属性选择“Red”,结果如图:

3)显示窗口数据对齐方式设置 TextBox控件的TextAlign属性选择“Right”;4)数字键程序设计 ①双击”0”按钮控件-》编写代码如下: if (textBox1.Text != "0")//不能连续多个0出现 { textBox1.Text += "0";//添加“0”数字 } ②双击”1”按钮控件-》编写代码如下: if (textBox1.Text == "0")//数字前面不能出现多个0 { textBox1.Text = "1"; } else { textBox1.Text += "1";//添加“1”数字 } ③双击”2”按钮控件-》编写代码如下: if (textBox1.Text == "0")//数字前面不能出现多个0 { textBox1.Text = "2"; } else { textBox1.Text += "2";//添加“2”数字 } ④双击”3”按钮控件-》编写代码如下: if (textBox1.Text == "0")//数字前面不能出现多个0 { textBox1.Text = "3";

简单计算器编程

计算器程序 包括4个数字按钮,1个小数点按钮,+-*/= 5个计算按钮 不接受键盘输入 计算规则:当前正在输入的数存储到字符串变量 用户输入操作符,存储已经输入的数,作为第一个数,存储操作符 用户输入第二个数 用户输入操作符,与第一个数计算,并存储为第一个数,存储操作符 小数点只能输入一次 1 创建基于对话框的程序 2 打开对话框模板,增加控件: 编辑框1个 按钮4个,文字1-4 按钮1个,文字:小数点 按钮5个,文字:+ - * / = 按钮1个,文字:关闭 3 打开类向导 为编辑框加成员变量,CString m_edit 为所有按钮加消息映射

注意:以上都加再对话框类中。 4 打开对话框类的声明,加成员变量 double m_result; //前面的结果,即第一个数 int m_opt; //前面的操作符,0=,1+,2-,3*,4/ int ,m_dot; //是否输入了小数点 CString m_string; //当前正在输入的数,存为字符串 5 继续在话框类,声明2个函数 void calculation(void); //执行计算 void NumInput(CString x) //执行数字按钮输入 6 打开函数OnInitDialog(),加初始化代码 m_result = 0; m_opt = 0; m_dot = 0; m_string = ""; 6 “关闭按钮”消息映射代码: OnOK(); 8 分别打开数字按钮1-4的消息映射函数,分别输入代码: NumInput("1");

NumInput("2"); NumInput("3"); NumInput("4"); 9 打开小数点按钮的消息映射函数,输入代码: if ( m_dot==0 ) { m_dot = 1; NumInput("."); } 10 分别打开 + - * / 按钮的消息映射函数,分别输入代码: calculation(); m_opt = 0; calculation(); m_opt = 1; calculation(); m_opt = 2; calculation();

简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

相关文档
最新文档