石家庄铁道学院课程设计任务书
专业班级: 学生姓名: 指导教师(签名):
一、课程设计题目
计算器
二、本次课程设计应达到的目的
通过该题目的设计,使学生掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
三、本次课程设计任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
要求:
(1)1人完成
(2)界面如图所示。
四、进度安排
1. 第1天:选题、查阅资料
2. 第2天: 确定设计方案;
3. 3 -8天:方案的实现、调试与验证;
4. 9-10天:撰写课程设计报告初稿并修改;
五、主要参考文献:
1.《Visual Basic 6.0编程案例精解》, 张路平,电子工业出版社
2.《Visual Basic 程序设计》 王学军,中国铁道出版社
3. MSDN
先建立一个新的项目文件,里面包含一个Form1的窗体。然后,添加控件,包括一个Text框(Text1),和17个按钮,这17个按钮使用的名称都是Command1,只是Index属性不同,就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮(Command1),然后在Command1上击鼠标右键,选择复制(Copy),然后在窗体上任意部位击右键,选择粘贴(Paste),系统会提示是否创建控件组,选择“是”,重复上面步骤,直至创立17个按钮为止。各控件属性如下表:
Text1:
BackColor=&H00C0FFFF&
Text=“0.”
Command1:
Index 0――16
Index 0――9 Caption=“0”-“9”
Index 10 Caption=“.”
Index 11 Caption=“=”
Index 12 Caption=“+”
Index 13 Caption=“-”
Index 14 Caption=“×”
Index 15 Caption=“÷”
Index 16 Caption=“清除”
程序如下:
Dim Num1, Num2 As Single
Dim StrNum1, StrNum2 As String
Dim FirstNum As Boolean '判断是否是数字开头
Dim PointFlag As Boolean '判断是否已有小数点
Dim Runsign As Integer '储存运算符号
Dim SignFlag As Boolean '判断是否已有运算符号
Sub ClearData()
Num1 = 0
Num2 = 0
StrNum1 = ""
StrNum2 = ""
FirstNum = True
PointFlag = False
Runsign = 0
SignFlag = False
Text1.Text = "0."
End Sub
Sub Run()
Num1 = Val(StrNum2)
Num2 = Val(StrNum1)
Select Case Runsign
Case 1
equal = Num1 + Num2
Case 2
equal = Num1 - Num2
Case 3
equal = Num1 * Num2
Case 4
equal = Num1 / Num2
End Select
StrNum2 = Str(equal)
StrNum1 = StrNum2
Text1.Text = StrNum2
End Sub
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0 To 9
If FirstNum Then
StrNum1 = Str(Index)
FirstNum = False
Else
StrNum1 = StrNum1 + Str(Index)
End If
Text1.Text = StrNum1
Case 10
If Not PointFlag Then
If FirstNum Then
StrNum1 = "0."
FirstNum = False
Else
StrNum1 = StrNum1 + "."
End If
Else
Exit Sub
End If
PointFlag = True
Text1.Text = StrNum1
Case 12 To 15
FirstNum = True
PointFlag = False
'还原标记值
If SignFlag Then
Call Run
Else
SignFlag = True
StrNum2 = StrNum1
StrNum1 = ""
End If
Runsign = Index - 11
Case 11
If Not SignFlag Then
Text1.Text = StrNum1
equal = Val(StrNum1)
FirstNum = True
PointFlag = False
Else
Call Run
SignFlag = False
End If
Case Else
Call ClearData
End Select
End Sub
Private Sub Form_Load()
Call ClearData
End Sub
参考资料:http://vbworld.sxnw.gov.cn/vbbooks/bookhtm/book_begin04.htm