当前位置:文档之家› 哈工大机械设计带传动设计电算大作业vb和c语言程序代码讲义

哈工大机械设计带传动设计电算大作业vb和c语言程序代码讲义

哈工大机械设计带传动设计电算大作业vb和c语言程序代码讲义
哈工大机械设计带传动设计电算大作业vb和c语言程序代码讲义

上机电算说明书

课程名称:机械设计

电算题目:V带传动设计

院系:机电控制学院

班级:1308102班

设计者:尤开灵

学号:1130810222

设计时间:2015.10.17

部分变量说明(所有说明见程序部分变量定义)

ka 工作情况系数 p 输入功率 kw pd 工作功率 kw i 传动比

n1 输入小轮转速 r/min d1 小带轮直径 mm d2 大带轮直径 mm v 皮带速度 m/s jiao 输出包容角度° ff0 初拉力 N ff1 轴间力 N ld 带的长度 mm z 皮带代数根 m 质量 kg

程序运行截图

判断语句:包括速度判断选择小轮直径,输入数据判断小轮直径

输出结果及其函数界面

程序代码

Dim ka1 As Double '工作情况系数变量Dim ka As Double '工作情况系数

Dim p As Double '输入功率

Dim pi As Double 'pi的定义

Dim pd As Double '工作功率

Dim i As Double '传动比

Dim n1 As Double '输入小轮转速

Dim d1 As Double '小带轮直径

Dim d2 As Double '大带轮直径

Dim k As Double '循环变量

Dim a() As Variant '小轮直径选择序列Dim b() As Variant '皮带的长度选择序列Dim nn() As Variant '转速的选择序列Dim mm() As Variant '包容修正系数列表Dim v As Double '皮带速度

Dim aa As Double '输入中心距离

Dim aaa As Double '输出实际中心距

Dim jiao As Double '输出包容角度

Dim ff0 As Double '初拉力

Dim ff1 As Double '轴间力

Dim ld As Double '带的长度

Dim shunxu As Double '基本额定功率顺序Dim shunxu1 As Double '长度顺序

Dim pnum() As Variant '基本功率序列Dim lxishu() As Variant 'c长度系数Dim p0 As Double '基本功率

Dim dp0 As Double '增加功率

Dim z As Double '皮带数

Dim kaa As Double '包容修正系数

Dim kl As Double '长度系数

Dim ki As Double '传动比系数

Dim kb As Double '弯曲系数

Dim m As Double '质量'运行程序

Private Sub Command5_Click() '条件输入确定

Call f0

Call f1

Text5.Text = n1 & "r/min"

Text4.Text = pd & "kw"

End Sub

Private Sub Command2_Click() '小轮直径选择与确定d1 = Val(Text7.Text)

Call f2

Call f3

Call f4

End Sub

Private Sub Command3_Click() '中心距离输入

aa = Val(Text16.Text)

Call f5

End Sub

Private Sub Command4_Click() '计算

Call f6

Call f7

Call f8

Text6.Text = d1 & "mm"

Text9.Text = d2 & "mm"

Text10.Text = z & "根"

Text12.Text = aaa & "mm"

Text11.Text = jiao & "度"

Text13.Text = ff0 & "N"

Text14.Text = ff1 & "N"

End Sub

Private Sub Command1_Click()

End

End Sub

Private Sub f0() '参数赋值函数

pi = 3.14159

p = Val(Text1.Text)

i = Val(Text2.Text)

n1 = Val(Text3.Text)

a() = Array(20, 28, 31.5, 35.5, 40, 45, 50, 56, 63, 71, 75, 80, 90, 100, 112, 125, 140, 150, 160, 180, 200, 224, 250, 280, 315, 355, 400, 425, 450, 500, 560, 600, 630, 710, 800, 0)

b() = Array(200, 224, 250, 280, 315, 355, 400, 450, 500, 560, 630, 710, 800, 900, 1000, 1120, 1250, 1400, 1600, 1800, 2000, 2240, 2500, 2800, 3150, 3550, 4000, 4500, 5000, 0)

nn() = Array(100, 200, 400, 700, 800, 950, 1200, 1450, 1600, 2000, 2400, 2800, 3200, 3600, 4000, 4500, 5000, 5500, 6000, 0)

mm() = Array(0.68, 0.73, 0.78, 0.82, 0.86, 0.89, 0.92, 0.95, 0.98, 1, 1.05, 1.1, 1.15, 1.2, 0)

End Sub

Private Sub f1() '选择ka1 计算pd

If dianjileixing.Text = "I类" And zaihe.Text = "

载荷平稳" And workhour.Text = "<10h/天" Then ka1 = 1

If dianjileixing.Text = "I类" And zaihe.Text = "

载荷平稳" And workhour.Text = "10-16h/天" Then ka1 = 1.1

If dianjileixing.Text = "I类" And zaihe.Text = "

载荷平稳" And workhour.Text = ">16h/天" Then ka1 = 1.2

If dianjileixing.Text = "I类" And zaihe.Text = "

载荷变动小" And workhour.Text = "<10h/天" Then ka1 = 1.1

If dianjileixing.Text = "I类" And zaihe.Text = "

载荷变动小" And workhour.Text = "10-16h/天" Then ka1 = 1.2

If dianjileixing.Text = "I类" And zaihe.Text = "

载荷变动小" And workhour.Text = ">16h/天" Then ka1 = 1.3

If dianjileixing.Text = "I类" And zaihe.Text = "

载荷变动较大" And workhour.Text = "<10h/天" Then ka1 = 1.2 If dianjileixing.Text = "I类" And zaihe.Text = "载荷变动较大" And workhour.Text = "10-16h/天" Then ka1 = 1.3

If dianjileixing.Text = "I类" And zaihe.Text = "载荷变动较大" And workhour.Text = ">16h/天" Then ka1 = 1.4

If dianjileixing.Text = "I类" And zaihe.Text = "载荷变动很大" And workhour.Text = "<10h/天" Then ka1 = 1.3

If dianjileixing.Text = "I类" And zaihe.Text = "载荷变动很大" And workhour.Text = "10-16h/天" Then ka1 = 1.4

If dianjileixing.Text = "I类" And zaihe.Text = "载荷变动很大" And workhour.Text = ">16h/天" Then ka1 = 1.5

If dianjileixing.Text = "II类" And zaihe.Text = "载荷平稳" And workhour.Text = "<10h/天" Then ka1 = 1.1

If dianjileixing.Text = "II类" And zaihe.Text = "载荷平稳" And workhour.Text = "10-16h/天" Then ka1 = 1.2

If dianjileixing.Text = "II类" And zaihe.Text = "载荷平稳" And workhour.Text = ">16h/天" Then ka1 = 1.3

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动小" And workhour.Text = "<10h/天" Then ka1 = 1.2

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动小" And workhour.Text = "10-16h/天" Then ka1 = 1.3

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动小" And workhour.Text = ">16h/天" Then ka1 = 1.4

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动较大" And workhour.Text = "<10h/天" Then ka1 = 1.4

If dianjileixing.Text = "II类" And zaihe.Text = "

载荷变动较大" And workhour.Text = "10-16h/天" Then ka1 = 1.5

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动较大" And workhour.Text = ">16h/天" Then ka1 = 1.6

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动很大" And workhour.Text = "<10h/天" Then ka1 = 1.5

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动很大" And workhour.Text = "10-16h/天" Then ka1 = 1.6

If dianjileixing.Text = "II类" And zaihe.Text = "载荷变动很大" And workhour.Text = ">16h/天" Then ka1 = 1.8

If Check1.Value = 0 Then ka = ka1

If Check1.Value = 1 Then ka = ka1 * 1.1

pd = p * ka

End Sub

Private Sub f2() '计算带轮直径

d1 = Val(Text7.Text)

d2 = 0

For k = 0 To 50 Step 1

If a(k) = 0 Then

Exit For

End If

If Abs((a(k) / d1 - i) / i) <= 0.05 Then

d2 = a(k)

Exit For

End If

Next k

If d2 = 0 Then

MsgBox "小带轮直径和带型选择不合适!,重新输入直径" Exit Sub

End If

End Sub

Private Sub f3() '判断速度

v = pi * d1 * n1 / 60 / 1000

If v > 20 Then

MsgBox "小带轮直径过大!,重新输入直径"

Exit Sub

End If

If v < 5 Then

MsgBox "小带轮直径过小!,重新输入直径"

Exit Sub

End If

End Sub

Private Sub f4() '估计中心距离

Dim aa0 As Double

Dim aa1 As Double

aa0 = 0.7 * (d1 + d2)

aa1 = 2 * (d1 + d2)

Text15.Text = aa0 & "-" & aa1

End Sub

Private Sub f5() '确定带长和中心距和角度

Dim ll As Double

Dim c1 As Double

Dim c2 As Double

If Text8.Text = "Y" Then lxishu = Array(0.81, 0.82, 0.84, 0.87, 0.9, 0.92, 0.96, 1, 1.02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "Z" Then lxishu = Array(0, 0, 0, 0,

0, 0, 0.87, 0.89, 0.91, 0.94, 0.96, 0.99, 1, 1.03, 1.06, 1.08, 1.1, 1.14, 1.16, 1.18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "A" Then lxishu = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.81, 0.83, 0.85, 0.87, 0.89, 0.91,

0.93, 0.96, 0.99, 1.01, 1.03, 1.06, 1.09, 1.11, 1.13,

1.17, 1.19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "B" Then lxishu = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.82, 0.84, 0.86, 0.88,

0.9, 0.92, 0.95, 0.98, 1, 1.03, 1.05, 1.07, 1.09,

1.13, 1.15, 1.18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "C" Then lxishu = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.83, 0.86,

0.88, 0.91, 0.93, 0.95, 0.97, 0.99, 1.02, 1.04, 1.07,

1.09, 1.12, 1.15, 1.18, 1.21, 1.23, 0, 0, 0, 0)

If Text8.Text = "D" Then lxishu = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.83, 0.86, 0.89, 0.91, 0.93, 0.96, 0.98, 1, 1.03, 1.06, 1.08, 1.11, 1.14, 1.17, 1.2, 1.22)

If Text8.Text = "E" Then lxishu = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 0.92, 0.96, 0.97, 1, 1.02, 1.05, 1.07, 1.1, 1.12, 1.15, 1.18)

ll = 2 * aa + pi / 2 * (d1 + d2) + (d1 - d2) ^ 2 / (4 * aa)

c2 = 5000

For k = 0 To 100 Step 1

c1 = Abs(b(k) - ll)

If c1 < c2 Then

c2 = c1

ld = b(k)

shunxu1 = k

End If If b(k) = 0 Then

Exit For

End If

Next k

kl = lxishu(shunxu1)

aaa = aa + (ld - ll) / 2

jiao = 180 - ((d2 - d1) / aaa * 57.3)

End Sub

Private Sub f6() '确定根数

Dim c1 As Double

Dim c2 As Double

c2 = 5000

If Text8.Text = "Y" And Text7.Text = "20" Then pnum = Array(0, 0, 0, 0, 0, 0.01, 0.02, 0.02, 0.03, 0.03, 0.04, 0.04, 0.06, 0.06, 0.07, 0.08, 0.09, 0.1)

If Text8.Text = "Y" And Text7.Text = "28" Then pnum = Array(0, 0, 0, 0, 0.03, 0.04, 0.04, 0.05, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15)

If Text8.Text = "Y" And Text7.Text = "35.5" Then pnum = Array(0, 0, 0, 0.04, 0.05, 0.05, 0.06, 0.06, 0.07, 0.08, 0.09, 0.11, 0.12, 0.13, 0.14, 0.16, 0.18, 0.19, 0.2)

If Text8.Text = "Y" And Text7.Text = "40" Then pnum = Array(0, 0, 0, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.11, 0.12, 0.14, 0.15, 0.16, 0.18, 0.19, 0.2, 0.22, 0.24)

If Text8.Text = "Z" And Text7.Text = "50" Then pnum = Array(0, 0.04, 0.06, 0.09, 0.1, 0.12, 0.14, 0.16, 0.17, 0.2, 0.22, 0.26, 0.28, 0.3, 0.32, 0.33, 0.34, 0.33, 0.31)

If Text8.Text = "Z" And Text7.Text = "63" Then pnum

= Array(0, 0.05, 0.08, 0.13, 0.15, 0.18, 0.22, 0.25, 0.27, 0.32, 0.37, 0.41, 0.45, 0.47, 0.49, 0.5, 0.5, 0.49, 0.48)

If Text8.Text = "Z" And Text7.Text = "71" Then pnum = Array(0, 0.06, 0.09, 0.17, 0.2, 0.23, 0.27, 0.3, 0.33, 0.39, 0.46, 0.5, 0.54, 0.58, 0.61, 0.62, 0.62, 0.61, 0.58)

If Text8.Text = "Z" And Text7.Text = "80" Then pnum = Array(0, 0.1, 0.14, 0.2, 0.22, 0.26, 0.3, 0.35, 0.39, 0.44, 0.5, 0.56, 0.61, 0.64, 0.67, 0.67, 0.66, 0.64, 0)

If Text8.Text = "A" And Text7.Text = "75" Then pnum = Array(0, 0.15, 0.26, 0.4, 0.45, 0.51, 0.6, 0.68, 0.73, 0.84, 0.92, 1, 1.04, 1.08, 1.09, 1.07, 1.02, 0.96, 0.8)

If Text8.Text = "A" And Text7.Text = "90" Then pnum = Array(0, 0.22, 0.39, 0.61, 0.68, 0.77, 0.93, 1.07, 1.15, 1.34, 1.5, 1.64, 1.73, 1.83, 1.87, 1.88, 1.82, 0, 0)

If Text8.Text = "A" And Text7.Text = "100" Then pnum = Array(0, 0.26, 0.47, 0.74, 0.83, 0.95, 1.14, 1.32, 1.42, 1.66, 1.87, 2.05, 2.19, 2.28, 2.34, 2.33, 0, 0, 0)

If Text8.Text = "A" And Text7.Text = "125" Then pnum = Array(0, 0.37, 0.67, 1.07, 1.19, 1.37, 1.66, 1.92, 2.07, 2.44, 2.74, 2.98, 3.16, 3.26, 0, 0, 0, 0, 0)

If Text8.Text = "B" And Text7.Text = "125" Then pnum = Array(0, 0.48, 0.84, 1.3, 1.44, 1.64, 1.93, 2.19, 2.33, 2.64, 2.85, 2.96, 2.94, 2.8, 0, 0, 0, 0, 0) If Text8.Text = "B" And Text7.Text = "140" Then pnum = Array(0, 0.59, 1.05, 1.64, 1.82, 2.08, 2.47, 2.82, 3, 3.42, 3.7, 3.85, 3.83, 0, 0, 0, 0, 0, 0)

If Text8.Text = "B" And Text7.Text = "160" Then pnum = Array(0, 0.74, 1.32, 2.09, 2.32, 2.66, 3.17, 3.62, 3.86, 4.4, 4.75, 4.89, 0, 0, 0, 0, 0, 0, 0) If Text8.Text = "B" And Text7.Text = "180" Then pnum = Array(0, 0.88, 1.59, 2.53, 2.81, 3.22, 3.85, 4.39, 4.68, 5.3, 5.67, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "C" And Text7.Text = "200" Then pnum = Array(0, 1.39, 2.41, 3.69, 4.07, 4.58, 5.29, 5.84, 6.07, 6.34, 6.02, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "C" And Text7.Text = "250" Then pnum = Array(0, 2.03, 3.62, 5.64, 6.23, 7.04, 8.21, 9.04, 9.38, 9.62, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "C" And Text7.Text = "315" Then pnum = Array(0, 2.84, 5.14, 8.09, 8.92, 10.05, 11.53, 12.46, 12.72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "C" And Text7.Text = "400" Then pnum = Array(0, 3.91, 7.06, 11.02, 12.1, 13.48, 15.04, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "D" And Text7.Text = "355" Then pnum = Array(3.01, 5.31, 9.24, 13.7, 14.83, 16.15, 17.25, 16.77, 15.63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "D" And Text7.Text = "400" Then pnum = Array(3.66, 6.52, 11.45, 17.07, 18.46, 20.06, 21.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "D" And Text7.Text = "450" Then pnum = Array(4.37, 7.9, 13.85, 20.63, 22.25, 24.01, 24.84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "D" And Text7.Text = "500" Then pnum = Array(5.08, 9.21, 16.2, 23#, 25.76, 27.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "E" And Text7.Text = "500" Then pnum = Array(6.21, 10.86, 18.55, 26.21, 27.57, 28.32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "E" And Text7.Text = "560" Then pnum = Array(7.32, 13.09, 22.49, 31.59, 33.03, 33.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "E" And Text7.Text = "630" Then pnum

= Array(8.75, 15.65, 26.95, 37.26, 38.62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

If Text8.Text = "E" And Text7.Text = "710" Then pnum = Array(10.31, 18.52, 31.83, 42.87, 43.52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

For k = 0 To 20 Step 1

c1 = Abs(nn(k) - n1)

If c1 < c2 Then

c2 = c1

shunxu = k

End If

If nn(k) = 0 Then

Exit For

End If

Next k

p0 = pnum(shunxu)

If Text8.Text = "Z" Then

kb = 0.0002925

ElseIf Text8.Text = "A" Then

kb = 0.0007725

ElseIf Text8.Text = "B" Then

kb = 0.0019785

ElseIf Text8.Text = "C" Then

kb = 0.005625

ElseIf Text8.Text = "D" Then

kb = 0.01995

ElseIf Text8.Text = "E" Then

kb = 0.03735

End If

If i >= 1 And i <= 1.01 Then

ki = 1

ElseIf i >= 1.02 And i <= 1.04 Then

ki = 1.0136 ElseIf i >= 1.05 And i <= 1.08 Then

ki = 1.0276

ElseIf i >= 1.09 And i <= 1.12 Then

ki = 1.0419

ElseIf i >= 1.13 And i <= 1.18 Then

ki = 1.0567

ElseIf i >= 1.19 And i <= 1.24 Then

ki = 1.0719

ElseIf i >= 1.25 And i <= 1.34 Then

ki = 1.0875

ElseIf i >= 1.35 And i <= 1.51 Then

ki = 1.1036

ElseIf i >= 1.52 And i <= 1.99 Then

ki = 1.1202

ElseIf i >= 2 Then

ki = 1.1373

End If

For k = 0 To 21 Step 1

c1 = Abs(100 + k * 10 - jiao)

If c1 <= 5 Then

kaa = mm(k)

End If

Next k

dp0 = kb * n1 * (1 - 1 / ki)

z = pd / (p0 + dp0) / kaa / kl

z = Round(z, 0)

If z >= 10 Then

MsgBox "小带轮直径和带型选择不合适!,重新输入直径和选择带型"

Exit Sub

End If

End Sub

Private Sub f7() '选择质量函数

If Text8.Text = "Z" Then

m = 0.06

ElseIf Text8.Text = "A" Then

m = 0.1

ElseIf Text8.Text = "B" Then

m = 0.17

ElseIf Text8.Text = "C" Then

m = 0.3

ElseIf Text8.Text = "D" Then

m = 0.6

ElseIf Text8.Text = "E" Then

m = 0.9

End If

End Sub

Private Sub f8() '计算初拉力和轴向力

ff0 = 500 * pd / z / v * (2.5 - kaa) / kaa + m * v * v

ff1 = 2 * z * ff0 * Sin(jiao * pi / 2 / 180)

ff0 = Round(ff0, 3)

ff1 = Round(ff1, 3)

aaa = Round(aaa, 3)

jiao = Round(jiao, 3)

End Sub

#include

#include

#include

#define PAI 3.14

#include

float Select_dd1(int TYPE)

{

int i;

float dd1;

float

DD1[6][4]={{50,63,71,80},{75,90,100,125},{125,14 0,160,180},

{200,250,315,400},{355,400,450,500},{500,560 ,630,710}};

printf("该带型推荐的小带轮基准直径有(mm):\n");

for(i=0;i<4;i++)

{

printf("%.2f ",DD1[TYPE][i]);

}

printf("\n请选择小带轮基准直径dd1:");

scanf("%f",&dd1);

return dd1;

}

float Select_dd2(int dd1,float i)

{

float

DD2[]={50,56,63,71,80,90,100,112,125,140,150,160 ,180,200,224,

250,280,315,355,400,425,450,500,560,600,630, 710,800};

float dd2,temp,t;

int j=0;

temp=i*dd1;

for(j=0;j<28;j++)

{

t=temp-DD2[j];

if(t<=0)

break;

}

if((DD2[j]-temp)<(temp-DD2[j-1]))

dd2=DD2[j];

else

dd2=DD2[j-1];

return dd2;

}

float* Compute_LAK(float dd1,float dd2,int TYPE) {

int j=0;

float a1,a2,a0,Ld0,temp,KALF,Ld,a,KL;

float LAK[3];

float

kl[23][6]={{400,0.87},{450,0.89},{500,0.91}, {560,0.94},{630,0.96,0.81},{710,0.99,0.83},{ 800,1.00,0.85,0.82},{900,1.03,0.87,0.84,0.83},{1 000,1.06,0.89,0.86,0.86,0.83},

{1120,1.08,0.91,0.88,0.88,0.86},{1250,1.10,0 .93,0.90,0.91,0.89},{1400,1.14,0.96,0.92,0.93,0. 91},{1600,1.16,0.99,0.95,0.95,0.93},

{1800,1.18,1.01,0.98,0.97,0.96},{2000,0,1.03 ,1.00,0.99,0.98},{2240,0,1.06,1.03,1.02,1.00},{2 500,0,1.09,1.05,1.04,1.03},

{2800,0,1.11,1.07,1.07,1.06},{3150,0,1.13,1. 09,1.09,1.08},{3550,0,1.17,1.13,1.12,1.11},{4000 ,0,1.19,1.15,1.15,1.14},{4500,0,0,1.18,1.18,1.17 },{5000,0,0,0,1.21,1.20}};

a1=0.7*(dd1+dd2);

a2=2*(dd1+dd2);

printf("请选择输入初估中心距a0(范围

为%.2fmm~%.2fmm):",a1,a2);

scanf("%f",&a0);

Ld0=2*a0+(dd1+dd2)*PAI/2+(dd2-dd1)*(dd2-dd1) /a0/4;

for(j=0;j<23;j++)

{

temp=Ld0-kl[j][0];

if(temp<=0)

break;

}

if((Ld0-kl[j-1][0])>(kl[j][0]-Ld0))

{ Ld=kl[j][0];

KL=kl[j][TYPE+1];

}

else

{ Ld=kl[j-1][0];

KL=kl[j-1][TYPE+1];

}

a=a0+(Ld-Ld0)/2;

LAK[0]=Ld;

LAK[1]=a;

LAK[2]=KL;

return LAK;

}

int main()

{

float

ka1[4][3]={{1.0,1.1,1.2},{1.1,1.2,1.3},{1.2,1.3, 1.4},{1.3,1.4,1.5}};

float

ka2[4][3]={{1.1,1.2,1.3},{1.2,1.3,1.4},{1.4,1.5, 1.6},{1.5,1.6,1.8}};

float

K1[6]={0.246,0.449,0.794,1.48,3.15,4.57};

float

KI[10]={1.0000,1.0136,1.0276,1.0419,1.0567,1.071 9,1.0875,1.1036,1.1202,1.1373};

float

I[10]={1.00,1.02,1.05,1.09,1.13,1.19,1.25,1.35,1 .52,2.00};

float

K2[6]={7.44,19.02,50.6,143.2,507.3,951.5};

float

K3[6]={0.441e-4,0.765e-4,1.31e-4,2.34e-4,4.77e-4 ,7.06e-4};

float

KB[6]={0.2925e-3,0.7725e-3,1.9875e-3,5.625e-3,19 .95e-3,37.35e-3};

float

kalf[2][14]={220,210,200,190,180,170,160,150,140 ,130,120,110,100,90,1.20,1.15,1.10,1.05,1.00,0.9 8,0.95,0.92,

0.89,0.86,0.82,0.78,0.73,0.68};

float M[6]={0.06,0.1,0.17,0.3,0.6,0.9};

float f[6]={8,10,12.5,17,23,29};

float e[6]={12,15,19,25.5,37,44.5};

float

P,H,i,n1,KA,Ki,dd1,dd2,V,P0,DIFP0,Pd,VMAX,*LAK,m ,Ld,KALF,a,KL,z,F0,ALF1,Q,B,Kb;

int YDJ,GZJ,TYPE,ANS,j;

char type,ans;

printf(" V带传动设计程序\n");

START: printf("请输入初始参数:\n");

printf("电机额定功率P(KW):");

scanf("%f",&P);

printf("小带轮/电动机转速n1(r/min):");

scanf("%f",&n1);

printf("传动比i:");

scanf("%f",&i);

printf("每天工作时间H(h):");

scanf("%f",&H);

printf("原动机类型(1或):");

scanf("%d",&YDJ);

printf("工作机载荷类型:\n1,载荷平稳\n2,载荷变动较小\n3,载荷变动较大\n4,载荷变动很大\n");

scanf("%d",&GZJ);

DX: printf("选择V带带型:");

scanf(" %c",&type);

if(type<91)

type+=32;

switch(type)

{

case 'z':

TYPE=0;

break;

case 'a':

TYPE=1;

break;

case 'b':

TYPE=2;

break;

case 'c':

TYPE=3;

break;

case 'd':

TYPE=4;

break;

case 'e':

TYPE=5;

break;

case 'y':

TYPE=6;

break;

case 's':

TYPE=7;

break;

case 'n':

TYPE=8;

}

if(YDJ==1)

{

if(H<10)

KA=ka1[GZJ-1][0];

else if(H>16)

KA=ka1[GZJ-1][2];

else

KA=ka1[GZJ-1][1];

}

if(YDJ==2)

{

if(H<10)

KA=ka2[GZJ-1][0];

else if(H>16)

KA=ka2[GZJ-1][2];

else

KA=ka2[GZJ-1][1];

}

Pd=KA*P;

switch(TYPE)

{

case 0:

case 1:

case 2:

case 3:

VMAX=25;

break;

case 4:

case 5:

VMAX=30;

break;

}

DD1:dd1=Select_dd1(TYPE);

V=PAI*dd1*n1/60000;

while(V>VMAX)

{

printf("V带速度验算不符!小带轮基准直径过小!请重新选择!\n");

dd1=Select_dd1(TYPE);

V=PAI*dd1*n1/60000;

}

dd2=Select_dd2(dd1,i);

P0=(K1[TYPE]*pow(V,-0.09)-K2[TYPE]/dd1-K3[TY PE]*V*V)*V;

for(j=9;j>=0;j--)

{

m=i-I[j];

if(m>=0)

break;

}

Ki=KI[j];

Kb=KB[TYPE];

DIFP0=Kb*n1*(1-1/Ki);

LAK=Compute_LAK(dd1,dd2,TYPE);

Ld=LAK[0];

a=LAK[1];

KL=LAK[2];

ALF1=180-57.3*(dd2-dd1)/a;

for(j=0;j<14;j++)

{

if(ALF1kalf[0][j+1])

{

KALF=kalf[1][j]+(kalf[1][j]-kalf[1][j+1])*(ALF1-kalf[0][j])/10;

break;

}

}

z=ceil(Pd/(KALF*KL*(P0+DIFP0)));

if(z>=10)

goto DX;

m=M[TYPE];

F0=500*Pd*(2.5-KALF)/(z*V*KALF)+m*V*V;

Q=2*z*F0*sin(ALF1*PAI/360);

B=(z-1)*e[TYPE]+2*f[TYPE];

printf("小带轮基准直径dd1:%.3f mm\n大带轮基准直径dd2:%.3f mm\n中心距a:%.3f mm\n带长L:%.3f mm\n带宽B:%.3f mm\n带的根数Z:%.3f\n初拉力F0:%.3f N\n轴压力FQ:%.3f N\n",dd1,dd2,a,Ld,B,z,F0,Q);

X: printf("计算下一组带轮直径按'Y',重新开始按'S',结束按'N':");

scanf(" %c",&ans);

if(ans=='y')

goto DD1;

else if(ans=='s')

goto START;

else if(ans=='n')

printf("程序结束");

else

{

printf("输入错误,请重新输入");

goto X;

}

return 0; }

哈工大机械设计大作业V带传动设计完美版

哈工大机械设计大作业V带传动设计完美版

————————————————————————————————作者:————————————————————————————————日期: ?

Harbin Instituteof Technology 机械设计大作业说明书 大作业名称:机械设计大作业 设计题目:V带传动设计 班级: 设计者: 学号: 指导教师: 设计时间: 2014.10.25 哈尔滨工业大学

目录 一、大作业任务书 ........................................................................................................................... 1 二、电动机的选择 ........................................................................................................................... 1 三、确定设计功率d P ..................................................................................................................... 2 四、选择带的型号 ........................................................................................................................... 2 五、确定带轮的基准直径1d d 和2d d ............................................................................................. 2 六、验算带的速度 ........................................................................................................................... 2 七、确定中心距a 和V 带基准长度d L ......................................................................................... 2 八、计算小轮包角 ........................................................................................................................... 3 九、确定V 带根数Z ........................................................................................................................ 3 十、确定初拉力0F ......................................................................................................................... 3 十一、计算作用在轴上的压力 ....................................................................................................... 4 十二、小V 带轮设计 .. (4) 1、带轮材料选择 ............................................................................................................. 4 2、带轮结构形式 . (4) 十二、参考文献 ............................................................................................................................... 6 ?

哈工大c语言 练习题

求用户输入得两个数得商,程序运行时,以如下格式输入数据: Input twointegers:42↙ 请改正程序中得错误,使它能得出正确得结果。 #include<stdio、h> main() { inta, b, c; printf("Input two integers:"); scanf("%d,%d",&a, &b); c= a\b; printf("Thequotient ofaandbis:%d", c); } #include〈stdio.h> int main() { ?inta,b,c; printf("Inputtwointegers:"); scanf ("%d%d",&a,&b); ?c=a/b; printf(”The quotient of a and b is:%d\n”,c); ?return 0; } 使用const常量定义圆周率pi=3、14159,编程从键盘输入圆得半径r,计算并输出圆得周长与面积。输出得数据保留两位小数点。输入格式要求:”%lf" 提示信息:”Input r:” 输出格式要求: "printf WITHOUT width or precision specifications:\n" "circumference = %f, area= %f\n”"printf WITHwidth and precision specifications:\n" "circumference=%7、2f, area = %7。2f\n” 程序运行示例如下: Input r:5。3 printf WITHOUT width or precision specifications: circumference =33、300854,are a=88.247263 printf WITHwidthand precision specifications: circumference = 33。30, area = 88、25 #include〈stdio。h> int main() { const double PI=3.14159; double r; printf(”Inputr:"); scanf("%lf”, &r); printf("printf WITHOUT width orprecision specification s:\n"); printf("circumference = %f, area= %f\n",2*PI*r,PI*r*r); printf("printf WITHwidth and precisionspecifications:\n”); ?printf("circumference=%7.2f, area =%7、2f\n",2*PI*r,PI*r*r); return 0; } 写一个程序,将接收得华氏温度转换为对应得摄氏温度。程序应显示如下得提示信息: Please inputfahr: 然后输入一个十进制数并回车,然后程序以合适得消息形式输出转换后得华氏温度。程序使用如下得公式完成转换:摄氏温度= 5.0 *(华氏温度–32.0)/ 9.0 输入格式要求:"%lf" 提示信息:"Pleaseinput fahr: ” 输出格式要求:"Thecelsis: %.2f" #include <stdio。h〉 #include<stdlib.h> int main() { doublef; double c; printf(”Please input fahr: "); scanf("%lf",&f); c=5、0*(f-32.0)/9.0; printf("Thecels is: %、2f”,c);

哈工大机械设计大作业轴系

HarbinI n s t i tut e o fTech n o logy 机械设计大作业说明书大作业名称:轴系设计 设计题目: 5.1.5 班级:1208105 设计者: 学号: 指导教师: 张锋 设计时间:2014.12.03 哈尔滨工业大学

哈尔滨工业大学 机械设计作业任务书 题目___轴系部件设计____ 设计原始数据: 方案电动机 工作功 率P/k W 电动机满 载转速n m /(r/min) 工作机的 转速n w /(r/min) 第一级 传动比 i1 轴承座 中心高 度 H/mm 最短工 作年限 工作环 境 5.1.5 3 710 80 2 170 3年3 班 室内清 洁 目录 一、选择轴的材料 (1) 二、初算轴径 (1) 三、轴承部件结构设计 (1) 3.1轴向固定方式 (2) 3.2选择滚动轴承类型 (2) 3.3键连接设计 (2) 3.4阶梯轴各部分直径确定 (2) 3.5阶梯轴各部段长度及跨距的确定 (2) 四、轴的受力分析 (3) 4.1画轴的受力简图 (3) 4.2计算支反力 (3) 4.3画弯矩图 (3) 4.4画转矩图 (5) 五、校核轴的弯扭合成强度 (5)

六、轴的安全系数校核计算………………………………………………6 七、键的强度校核 (7) 八、校核轴承寿命 (8) 九、轴上其他零件设计 (9) 十、轴承座结构设计 (9) 十一、轴承端盖(透盖).........................................................9参考文献 (10)

一、选择轴的材料 该传动机所传递的功率属于中小型功率,因此轴所承受的扭矩不大。故选45号钢,并进行调质处理。 二、初算轴径 对于转轴,按扭转强度初算直径 3min m P d C n ≥ 式中: P ————轴传递的功率,KW ; m n ————轴的转速,r/mi n; C————由许用扭转剪应力确定的系数,查各种机械设计教材或机械设计手册。 根据参考文献1表9.4查得C=118~106,取C=118, 所以, mm n P C d 6.23355 85.211833==≥ 本方案中,轴颈上有一个键槽,应将轴径增大5%,即 ????d ≥23.6×(1+5%)=24.675mm 按照GB 2822-2005的a R 20系列圆整,取d=25mm。 根据GB/T1096—2003,键的公称尺寸78?=?h b ,轮毂上键槽的尺寸 b=8m m,mm t 2.0013.3+= 三、轴承部件结构设计 由于本设计中的轴需要安装带轮、齿轮、轴承等不同的零件,并且各处受力不同,因此,设计成阶梯轴形式,共分为七段。以下是轴段的草图: 3.1及轴向固定方式 因传递功率小,齿轮减速器效率高、发热小,估计轴不会长,故轴承部件的固定方式可采用两端固定方式。因此,所涉及的轴承部件的结构型式如图2所示。然后,可按轴上零件的安装顺序,从min d 处开始设计。 3.2选择滚动轴承类型 因轴承所受轴向力很小,选用深沟球轴承,因为齿轮的线速度,齿轮转动时飞溅的润滑油不足于润滑轴承,采用油脂对轴承润滑,由于该减速器的工作环境清 洁,脂润滑,密封处轴颈的线速度较低,故滚动轴承采用毡圈密封,由于是悬臂布置所以不用轴上安置挡油板。 3.3 键连接设计 轴段⑦ 轴段⑥ 轴段⑤ 轴段④ 轴段③ 轴段② 轴段① L1 L2 L3 图1

哈工大C语言课程设计

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计说明书(论文) 课程名称:C语言课程设计 设计题目:音乐程序与波特图 院系:航天学院控制科学与工程系 班级: 设计者: 学号: 指导教师: 设计时间: 哈尔滨工业大学教务处 哈尔滨工业大学课程设计任务书

题目一 1.1题目详细描述: 播放音乐程序,实现了自选音乐曲目和直接使用键盘弹奏,而且可以在曲目播放结束后循环选择乐曲。 1.2程序设计思路及流程图: 1.3 #include #include #include #include #include #include #define N1 16 #define N2 8 #define N4 4 #define N8 2 #define N16 1 #define END 0 void playmusic(int n,int *c); void typemusic(); enum NOTES{ C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,

C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494, C1=523,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988, C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976,S=10 }; typedef enum NOTES SONG; SONG song1[]={C0,N4+N2,E0,N4,G0,N2,G0,N2,A0,N1,G0,N1,E0,N4+N2, C0,N4,G0,N1/3,G0,N1/3,G0,N1/3,E0,N1,C0,N1,G10,N1/3,G10,N1/3, G10,N1/3,G10,N1/3,G10,N1/3,G10,N1/3,C0,N1,END,END}; SONG song2[]={A0,N2,B0,N2,C1,N1+N2,B0,N2,C1,N1,E1,N1,B0,N1+N1,S,N1,E0,N1, A0,N1+N2,G0,N2,A0,N1,C1,N1,G0,N1+N1,S,N1,E0,N2,E0,N2,F0, N1+N2,E0,N2,F0,N1,C0,N1,E0,N1+N1,S,N1,C1,N2,C1,N2,B0,N1+N2,370, N2,F0,N1,B0,N1,B0,N1+N2,S,N1,A0,N2,B0,N2,C1,N1+N2,B0,N2,C1,N1, E1,N1,B0,N1+N2,END,END}; int main() { int m,n,c=1; char b='y'; while(b=='y') { printf("Hello,what do you want to do by this program?\n"); printf("1.Listen to music.-------Press 1\n"); printf("2.Play music by yourself.-------Press 2\n"); scanf("%d",&m); while(m!=1&&m!=2&&m!=3) /*选择方式*/ { printf("You typed wrong!Do not push me around.:(\n"); scanf("%d",&m); } if(m==1) { printf("I have two musics,choose one!(Press 1/2)\n"); scanf("%d",&n); while(n!=1&&n!=2) { printf("You typed wrong!Do not push me around.:(\n"); scanf("%d",&n); } playmusic(n,&c); } else if(m==2) { typemusic(); } getchar(); printf("Do you want to continue?(y/n)\n"); scanf("%c",&b);

C语言程序设计苏小红版答案

C语言程序设计苏小红 版答案 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

#include<> main() { float x=,y=,z=; printf("x=%f\n",x); printf("y=%f\n",y); printf("z=%f\n",z); } (1) #include<> main() { int a=12,b=3; float x=,y=; printf("%d\n",(float)(a*b)/2); printf("%d\n",(int)x%(int)y); } #include<> main() { int x,b0,b1,b2,s; printf("Inputx:"); scanf("%d",&x); b2=x/100; b1=(x-b2*100)/10; b0=x%10; s=b0*100+b1*10+b2; printf("s=%d\n",s); } #include<> #include<> main() { float rate=; float n,capital,deposit; printf("Input n,capital:"); scanf("%f,%f",&n,&capital); deposit=capital*pow(1+rate,n); printf("deposit=%f\n",deposit); } #include<> #include<> main() { float a,b,c;

double x,y; printf("Inputa,b,c:"); scanf("%f,%f,%f",&a,&b,&c); x=(-b+sqrt(b*b-4*a*c))/(2*a); y=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x=%f,y=%f\n",x,y); } (1) #include<> main() { char c1='a',c2='b',c3='c'; printf("a%cb%cc%c\n",c1,c2,c3); } (2) #include<> main() { int a=12,b=15; printf("a=%d%%,b=%d%%\n",a,b); } (3) #include<> main() { int a,b; scanf("%2d%*2s%2d",&a,&b); printf("%d,%d\n",a,b); } #include<> main() { long a,b; float x,y; scanf("%d,%d\n",&a,&b); scanf("%f,%f\n",&x,&y); printf("a=%d,b=%d\n",a,b); printf("x=%f,b=%f\n",x,y); } #include<> main() { float a; printf("Innputa:"); scanf("%f",&a); if(a>=0) { a=a;

哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n"

当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n");

哈工大c语言 练习题

求用户输入的两个数的商,程序运行时,以如下格式输入数据: Input two integers:4 2↙ 请改正程序中的错误,使它能得出正确的结果。 #include <> main() { int a, b, c; printf("Input two integers:"); scanf("%d,%d", &a, &b); c = a\b; 、 printf("The quotient of a and b is :%d", c); } # include <> int main () { int a,b,c; printf ("Input two integers:"); scanf ("%d %d",&a,&b); c=a/b; printf ("The quotient of a and b is :%d\n",c); > return 0; } 使用const常量定义圆周率pi=,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。输出的数据保留两位小数点。 输入格式要求:"%lf" 提示信息:"Input r:" 输出格式要求: "printf WITHOUT width or precision specifications:\n" "circumference = %f, area = %f\n" "printf WITH width and precision specifications:\n" ~ "circumference = %, area = %\n" 程序运行示例如下: Input r:printf WITHOUT width or precision specifications: circumference = , area = printf WITH width and precision specifications: circumference = , area = #include <> int main() ~ { const double PI=; double r; printf("Input r:"); scanf("%lf", &r); printf("printf WITHOUT width or precision specifications:\n"); printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r); printf("printf WITH width and precision specifications:\n"); printf("circumference = %, area = %\n",2*PI*r,PI*r*r); return 0; | } 写一个程序,将接收的华氏温度转换为对应的摄氏温度。程序应显示如下的提示信息: Please input fahr: 然后输入一个十进制数并回车,然后程序以合适的消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度= *(华氏温度–)/ 输入格式要求:"%lf" 提示信息:"Please input fahr: " 输出格式要求:"The cels is: %.2f" #include <> | #include <> int main() { double f; double c;

哈工大机械设计大作业一千斤顶

Harbin Institute of Technology 哈尔滨工业大学 机械设计作业设计计算说明书 题目:设计螺旋起重器(千斤顶) 系别: 班号: 姓名: 日期:

Harbin Institute of Technology 哈尔滨工业大学 机械设计作业任务书 题目:设计螺旋起重器 设计原始数据:题号3.1.1 起重量Fq=30 kN 最大起重高度H=180mm

一 选择螺杆、螺母的材料 螺杆采用45#调制钢,由参考文献[2]表10.2查得抗拉强度b 600 MPa σ=,s 355 MPa σ=。 螺母材料用铝黄铜ZCuAl10Fe3。 二 耐磨性计算 螺杆选用45# 钢,螺母选用铸造铝黄铜ZCuAl10Fe3,由参考文献[1]表 5.8 查得[]p =18~25MPa 从表 5.8 的注释中可以查得,人力驱动时[]p 值可以加大20%,则[]p =21.6~30MPa 取[]25MPa p = 。 按耐磨性条件设计螺纹中径2d ,选用梯形螺纹,则 2d ≥ 由参考文献[1]查得,对于整体式螺母系数2ψ==1.2—2.5,取2ψ=。 则 式中:Q F -----轴向载荷,N ; 2d -----螺纹中径,mm ; []p -----许用压强,MPa ; 查参考文献[2]表11.5取公称直径28d =mm ,螺距3P =mm ,中径226.5d =mm ,小径 324.5d =mm ,内螺纹大径428.5D =mm 。 三 螺杆强度校核 螺杆危险截面的强度条件为: 219.6d mm ≥==

e []σσ=≤ (2) 式中:Q F -----轴向载荷,N ; 3d -----螺纹小径,mm ; 1T -----螺纹副摩擦力矩,2 1tan(') 2Q d T F ψρ=+ (3) ψ为螺纹升角,ψ ; []σ-----螺杆材料的许用应力,MPa 。 查参考文献[1]表5.10得钢对青铜的当量摩擦因数'0.08~0.10f =,螺纹副当量摩擦角 'arctan 'arctan 0.08~arctan 0.10 4.5739~5.7106f ρ===,取'5.7106ρ=(由表5.10的注 释知,大值用于启动时,人力驱动属于间歇式,故应取用大值)。把数据代入(3)式中,得 把数据代入(2)式中,得 由参考文献[1]表5.9可以查得螺杆材料的许用应力 s []4σ σ= (4) 其中s 355 MPa σ=,则 []88.75a MP σ= 显然,e []σσ<,螺杆满足强度条件。 四 螺母螺牙强度校核 螺母螺纹牙根部的剪切强度条件为 4[]Q F Z D b ττπ= ≤ (5) 式中:Q F -----轴向载荷,N ; 4D -----螺母螺纹大径,mm ; 126.5 30000tan(2.0637 5.1427)502612T N mm =??+?= ?70.4e MPa σ==

哈工大C语言程序设计习题ex6

习题6 6.3 阅读程序,按要求在空白处填写适当地表达式或语句,使程序完整并符合题目要求. (1)下面程序模拟了骰子地6000次投掷,用rand函数产生1~6之间地随机数face,然后统计1~6每一面出现地机会(概率)存放到数组frequency中. (2)从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素地下标位置,并输出. (3)下面程序地功能是从键盘输入一行字符,统计其中有多少单词.假设单词之间以空格分开. (4)下面地函数Squeeze(char s[],char c)地功能是删除字符串s中所出现地与变量c相同地字符. (5)下面地函数MyStrcmp()用于实现函数strcmp()地功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符地ASCII码值之差作为函数值返回. 6.4 编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和. 6.5 从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数地位置对换后,再输出调整后地数组. 6.6 输入5×5阶地矩阵,编程实现: (1)求两条对角线上地各元素之和. (2)求两条对角线上行、列下标均为偶数地各元素之积. 6.7 编程打印如下形式地杨辉三角形. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 6.8 编程将下列矩阵中地元素向右移动一列,最右一列移至第一列. 1 4 6 8 10 12 6.9 利用公式c ij=a ij+b ij计算m×n阶矩阵A和m×n阶矩阵B之和.已知a ij为矩阵A地元素,

b ij 为矩阵B 地元素, c ij 为矩阵C 地元素(i =1,2,…,m ;j =1,2,…,n ).*6.10 利用公式c ij =∑=n k ik a 1 *b kj 计算矩阵A 和矩阵B 之积.已知a ij 为m ×n 阶矩阵A 地元素 (i =1,2,…,m ;j =1,2,…,n ),b ij 为n ×m 阶矩阵B 地元素(i =1,2,…,n ;j =1,2,…,m ),c ij 为m ×m 阶矩阵C 地元素(i =1,2,…,m ;j =1,2,…,m ).6.11 输入一行字符,统计其中地英文字符、数字字符、空格和其他字符地个数. 6.12 编写一个函数Inverse(),实现将字符数组中地字符串逆序存放地功能. 6.13 不用函数strcat(),编程实现字符串连接函数strcat()地功能,将字符串srcStr 连接到字符串dstStr 地尾部.

哈工大机械设计大作业

哈尔滨工业大学 机械设计作业设计计算说明书 题目: 轴系部件设计 系别: 英才学院 班号: 1436005 姓名: 刘璐 日期: 2016.11.12

哈尔滨工业大学机械设计作业任务书 题目:轴系部件设计 设计原始数据: 图1 表 1 带式运输机中V带传动的已知数据 方案d P (KW) (/min) m n r(/min) w n r 1 i轴承座中 心高H(mm) 最短工作 年限L 工作 环境 5.1. 2 4 960 100 2 180 3年3班 室外 有尘 机器工作平稳、单向回转、成批生产

目录 一、带轮及齿轮数据 (1) 二、选择轴的材料 (1) 三、初算轴径d min (1) 四、结构设计 (2) 1. 确定轴承部件机体的结构形式及主要尺寸 (2) 2. 确定轴的轴向固定方式....................................... 错误!未定义书签。 3. 选择滚动轴承类型,并确定润滑、密封方式 .................. 错误!未定义书签。 4. 轴的结构设计................................................ 错误!未定义书签。 五、轴的受力分析 (4) 1. 画轴的受力简图 (4) 2. 计算支承反力 (4) 3. 画弯矩图 (5) 4. 画扭矩图 (5) 六、校核轴的强度 (5) 七、校核键连接的强度 (7) 八、校核轴承寿命 (8) 1. 计算轴承的轴向力 (8) 2. 计算当量动载荷 (8) 3. 校核轴承寿命 (8) 九、绘制轴系部件装配图(图纸) (9) 十、参考文献 (9)

大学MOOC哈工大C语言程序设计精髓第六周编程题答案

大学M O O C哈工大C语言程序设计精髓第六周 编程题答案 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出?Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include<> #include <> int main() { char score[100]; int flag = 0, i, s; char grade; printf("Please input score:\n"); while (1) { flag=0; scanf("%s", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue;

} else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf("Input error!\n"); printf("Please input score:\n"); continue; } else{ break; } } s = atoi(score); if (s >= 90) {

哈工大机械原理大作业-凸轮机构设计(第3题)

机械原理大作业二 课程名称:机械原理 设计题目:凸轮设计 院系:机电学院 班级: 1208103 完成者: xxxxxxx 学号: xx 指导教师:林琳 设计时间:

工业大学 凸轮设计 一、设计题目 如图所示直动从动件盘形凸轮,其原始参数见表,据此设计该凸轮。 二、凸轮推杆升程、回程运动方程及其线图 1 、凸轮推杆升程运动方程(6 50π?≤ ≤) 升程采用正弦加速度运动规律,故将已知条件mm h 50=,6 50π =Φ带入正弦加速度运动规律的升程段方程式中得: ??? ?? ???? ??-=512sin 215650?ππ?S ;

?? ? ?????? ??-= 512cos 1601ππωv ; ?? ? ??= 512sin 1442 1?π ωa ; 2、凸轮推杆推程远休止角运动方程( π?π ≤≤6 5) mm h s 50==; 0==a v ; 3、凸轮推杆回程运动方程(9 14π ?π≤≤) 回程采用余弦加速度运动规律,故将已知条件mm h 50=,9 5'0π= Φ,6 s π = Φ带入余弦加速度运动规律的回程段方程式中得: ?? ? ???-+=)(59cos 125π?s ; ()π?ω--=59 sin 451v ; ()π?ω-=59 cos 81-a 21; 4、凸轮推杆回程近休止角运动方程(π?π 29 14≤≤) 0===a v s ; 5、凸轮推杆位移、速度、加速度线图 根据以上所列的运动方程,利用matlab 绘制出位移、速度、加速度线图。 ①位移线图 编程如下: %用t 代替转角 t=0::5*pi/6; s=50*((6*t)/(5*pi)-1/(2*pi)*sin(12*t/5)); hold on plot(t,s); t=5*pi/6::pi; s=50; hold on plot(t,s); t=pi::14*pi/9; s=25*(1+cos(9*(t-pi)/5));

哈尔滨工业大学机械设计大作业——V带传动设计说明书

目录 一 任务书 (2) 二 选择电动机 (3) 三 确定设计功率d P (3) 四 选择带的型号 (3) 五 确定带轮的基准直12d d d d 和 (3) 六 验算带的速度 (4) 七 确定中心距a 和V 带基准长d L (4) 八 计算小轮包1 (4) 九 确定 V 带Z (4) 十 确定初拉0F (5) 十一 计算作用在轴上的压Q (6) 十二 带轮结构计 (6) 十三 参考文献 (7) 十四 附表 (7)

一哈尔滨工业大学 机械设计作业任务书题目:带式运输机 结构简图见下图: 原始数据如下: 机器工作平稳,单向回转,成批生产

二 选择电动机 由方案图表中的数据要求,查表-1 Y 系列三相异步电动机的型号及相关数据选择可选择Y100L1-4。 可查得轴径为28mm,长为50mm. 三 确定设计功率d P 设计功率是根据需要传递的名义功率、载荷性质、原动机类型和每天连续工作的时间长短等因素共同确定的,表达式如下: d A m P K P = 式中 m P ——需要传递的名义功率 A K ——工作情况系数,按表2工作情况系数A K 选取A K =1.4; 考虑到本装置的工作环境,A K 值应扩大1.1倍 所以 1.1 1.4 2.2 3.388d A m P K P KW ==??= 四 选择带的型号 查看教材图7.11可选取A 型带。 五 确定带轮的基准直径12d d d d 和 查表3. V 带带轮最小基准直径min d d 知A 型带min d d =75mm,又由教材表7.3选取 小带轮基准直径:1100d d mm =; 大带轮基准直径:211 2.3100230d d d i d mm ==?= 查教材表7.3选取大带轮基准直径2224d d mm =; 其传动比误差224 2.3100100% 2.6%5%2.3 i - ?=?=<,故可用。 六 验算带的速度 11 1001420 7.43/601000 601000 d d n v m s ππ??= = =?? 式中 1n --电动机转速; 1d d ——小带轮基准直径;

哈尔滨工业大学机械设计课程大作业螺旋起重机的设计千斤顶哈工大

工业大学 机械设计课程大作业 螺旋起重机的设计 (最终版) 设计人:段泽军 学号: 1120810810 院系:机电工程学院 专业:机械设计制造及其自动化 班级: 1208108

目录 机械设计大作业任务书 .................................. - 1 -一,螺杆、螺母材料的选择 .............................. - 2 -二,耐磨性设计........................................ - 2 -三,螺杆强度设计...................................... - 2 -四,螺母螺纹牙强度校核 ................................ - 2 -五,自锁条件校核...................................... - 3 -六,螺杆的稳定性校核 .................................. - 3 -七,螺母外径及凸缘设计 ................................ - 4 -八,手柄设计.......................................... - 4 -九,底座设计.......................................... - 6 -十,其他配件设计...................................... - 7 -十一,参考文献........................................ - 7 -

中国大学MOOC 哈工大 C语言程序设计精髓第六周编程题答案

6.1 下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include #include int main() { char score[100]; int flag = 0, i, s; char grade; printf("Please input score:\n"); while (1) { flag=0; scanf("%s", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue; } else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf("Input error!\n"); printf("Please input score:\n"); continue; } else{ break; } } s = atoi(score); if (s >= 90)

grade = 'A'; } else if (s >= 80) { grade = 'B'; } else if (s >= 70) { grade = 'C'; } else if (s >= 60) { grade = 'D'; } else { grade = 'E'; } printf("grade: %c\n", grade); return 0; } 6.2 编程计算a+aa+aaa+…+aa…a(n个a)的值(4分) 题目内容: 编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。 #include #include int main() { int n,a,i,j; double p=0,q=0; printf("Input a,n:\n"); scanf( "%d,%d",&a,&n); for(i=1;i<=n;i++) { for(j=0,p=0;j

哈工大机械设计大作业之千斤顶说明书

工业大学 机械设计作业设计计算说明书 题目螺旋起重器(千斤顶) 系别机电工程学院 班号 0908103 孟子航 学号 1090810314 日期 2011年9月13日

工业大学 机械设计作业任务书 题目 螺旋起重器(千斤顶) 设计原始数据: 表3.1 螺旋起重器的示意图及已知数据 题号 起重器/Q F kN 最大起重高度/H mm 3.1.1 30 180 3.1.2 40 200 3.1.3 50 150 设计要求: (1) 绘制装配图一,画出起重器的全比结构,按照比例装配图要求标注尺寸、序号及填 写明细栏、标题栏、编写技术要求。 (2) 撰写设计说明书一份,主要包括起重器各部分尺寸的计算,对螺杆和螺母螺纹牙强 度、螺纹副自锁性、螺杆的稳定性的校核等。

目录 一、设计题目---------------------------------------------------------------2 二、螺母、螺杆选材---------------------------------------------------------2 三、螺杆、螺母设计计算 3.1 耐磨性计算 ------------------------------------------------------------------------------------------------2 3.2 螺杆强度校核 ---------------------------------------------------------------------------------------------3

相关主题
文本预览
相关文档 最新文档