东华理工大学长江学院课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
摘要
摘要
这个程序是我用VB制作的简单计算器,它可以实现简单的四则运算,数字的平方,平方根,正弦,余弦,倒数,以及进制的相互转换。而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据,退出程序。
在这个计算器的程序中,我用到了单行选择语句If … Then …Else…,If语句的嵌套,多条件选择语句Select Case,而且还用到了组合框,框架,菜单的设计,以及键盘事件,可以通过键盘来用于计算。
在此报告中我重点叙述了计算机的各个功能及用法。特别是进制间的转换和数字与运算符之间的联系。还有
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
了键盘怎样用于操作计算。虽然表达能力不太行,但我会尽力使用系统结构图,程序
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图,划分多个模块,让大家明白我设计的运算器的功能的。
目录
1摘要
2目录
3第一章 任务概述
31.1、目标
31.2、需求概述
31.2.1、鼠标操作
31.2.2、键盘操作
4第二章 总体设计
42.1、系统结构功能图
5第三章 功能分配
53.1、打开计算器界面
73.2、平方根,平方,倒数,正弦,余弦的实现
83.3、退格
83.4、清除
83.4.1、清除当前数据
83.4.2清除所有数据
93.5、鼠标的输入
113.6、进制间的转换
13
小结
学校三防设施建设情况幼儿园教研工作小结高血压知识讲座小结防范电信网络诈骗宣传幼儿园师德小结
第一章 任务概述
1.1、目标
本系统的目标是建立一套可以计算数的平方,平方根,倒数,正弦,余弦,数字的进制转换的计算器系统,系统可以帮助我们更好的学习,更好的节省时间。还能避免出现一些不必要的计算错误。
1.2、需求概述
根据本系统的需求分析,系统的需求可以分为以下的几个方面:
1.2.1、鼠标操作
你可以利用鼠标点击界面上的各个按钮来实现计算器的运算。
1.2.2、键盘操作
当不方便使用鼠标时可以利用键盘来实现运算,数字的复制和粘贴
。
第二章 总体设计
2.1、系统结构功能图
图2-1系统结构功能图
第三章 功能分配
3.1、打开计算器界面
图3-1 计算器界面
Dim dflag As Integer ‘小数点仍然存在吗?
Dim i As Integer
Dim opnre As Integer ‘初始值
Dim prev As Double ‘前面输入的操作数
Dim oflag As Integer ‘等号前后对数字的标记
Dim ind As Integer ‘cmdoperator控件数组的数
Dim x As Double
Dim y As Double
' 运算符 (+, -, x, /, =) 的 Click 事件过程
' 如果接下来的按键是数字键,增加 val(text1.Caption)。
' 如果有一个操作数,则设置 prev。
' 如果有两个操作数,则将 prev设置为 prev 与val(text1.Caption)
' 当前输入字符串的运算结果,并显示结果。
Private Sub cmdnumber_Click(Index As Integer)
If ind = 4 Then
prev = 0
text1.Caption = " "
ind = 0
End If
opnre = 0
If oflag = 0 Then
text1.Caption = " "
End If
oflag = 1
小数点 (.) 按钮的 Click 事件过程
' 如果上一次按键为运算符,初始化opnre 为 "0.";
' 否则显示时追加一个小数点。
If cmdnumber(Index).Caption <> "." Then
If text1.Caption <> " 0" Then
text1.Caption = text1.Caption & cmdnumber(Index).Caption
Else
text1.Caption = " " & cmdnumber(Index).Caption
End If
Else
If dflag = 0 Then
text1.Caption = text1.Caption & "."
dflag = 1
Else
MsgBox ("ILLEGAL SAIRAM")
End If
End If
' 窗体的初始化过程
' 设置所有变量为其初始值。
Private Sub Form_Load()
计算器.Height = 5460
计算器.Width = 4680
prev = 0
oflag = 0
ind = 0
opnre = 0
Clipboard.Clear
End Sub
3.2、平方根,平方,倒数,正弦,余弦的实现
“平方根(sqrt)”按钮的click事件
Private Sub cmdsqrt_Click()
y = Val(text1.Caption)
text1.Caption = Sqr(y)
End Sub
“平方(sqmt)”按钮的click事件
Private Sub Cmdsqmt_Click()
End Sub
x = Val(text1.Caption)
text1.Caption = x ^ 2
End Sub
“倒数(reciprocal)”按钮的click事件
Private Sub cmdreciprocal_Click()
x = Val(text1.Caption)
If x = 0 Then
MsgBox ("除数不能为零!")
Else
text1.Caption = 1 / x
End If
End Sub
“正弦(sine)”按钮的click事件
Private Sub Cmdsine_Click()
text1.Caption = Sin(x)
End Sub
“余弦(cosine)”按钮的click事件
Private Sub cmdcosine_Click()
Dim a As Integer
a = Val(text1.Caption)
text1.Caption = Cos(a)
End Sub
3.3、退格
“退格”按钮的click事件
Private Sub cmdback_Click()
Dim length As Integer
length = Len(text1.Caption)‘数字的长度
If length = 1 Then
If text1.Caption <> "0" Then‘除非结果为零,否则长度都要减一
text1.Caption = "0"
End If
Else
text1.Caption = Left(text1.Caption, length - 1)
End If
flag = True
End Sub
3.4、清除
3.4.1、清除当前数据
C (取消) 按钮的 Click 事件过程
Private Sub Cmdclear_Click()
text1.Caption = " 0"
3.4.2清除所有数据
CE (取消输入) 按钮的 Click 事件过程
' 重新设置显示并初始化变量。
Private Sub CancelEntry_Click()
dflag = 0
prev = 0
oflag = 0
ind = 0
opnre = 0
text1.Caption = " 0"
End Sub
3.5、鼠标的输入
利用keypress事件,当用户按下和松开一个ASCII字符键时发生。
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(".") Then
i = 10
cmdnumber_Click (i)
Beep ‘当按下这个ASCII字符键时会发出响声
ElseIf KeyAscii = Asc("0") Then
i = 0
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("1") Then
i = 1
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("2") Then
i = 2
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("3") Then
i = 3
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("4") Then
i = 4
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("5") Then
i = 5
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("6") Then
i = 6
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("7") Then
i = 7
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("8") Then
i = 8
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("9") Then
i = 9
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("0") Then
i = 0
cmdnumber_Click (i)
Beep
ElseIf KeyAscii = Asc("+") Then
i = 0
cmdoperator_Click (i)
Beep
ElseIf KeyAscii = Asc("+") Then
i = 0
cmdoperator_Click (i)
Beep
ElseIf KeyAscii = Asc("-") Then
i = 1
cmdoperator_Click (i)
Beep
ElseIf KeyAscii = Asc("/") Then
i = 2
cmdoperator_Click (i)
Beep
ElseIf KeyAscii = Asc("*") Then
i = 3
cmdoperator_Click (i)
Beep
ElseIf KeyAscii = Asc("=") Then
i = 4
cmdoperator_Click (i)
Beep
ElseIf KeyAscii = Asc("d") Or KeyAscii = Asc("D") Then
dflag = 0
prev = 0
oflag = 0
ind = 0
opnre = 0
text1.Caption = " 0"
Beep
Beep
ElseIf KeyAscii = Asc("c") Or KeyAscii = Asc("C") Then
text1.Caption = " 0"
Beep
End If
End Sub
3.6、进制间的转换
进制转换按钮的click事件
Private Sub Command1_Click()
Dim x As Long, y As String, s As Integer ‘定义
Dim ch As String, n As Integer
ch = "0123456789ABCDEF" ‘把所有数字归纳
If Combo1.Text = "二进制" Then
n = 2
Else
If Combo1.Text = "八进制" Then
n = 8
Else
n = 16
End If
End If
y = ""
x = Val(text1.Caption)
If x = 0 Then
Text2.Text = ""
MsgBox "请输入要转换的十进制数"
text1.Caption = ""
Exit Sub
End If
Do While x > 0
s = x Mod n ‘取x/n的最大整数
x = Int(x / n) ‘取小于或等于x/n的最大整数
y = Mid(ch, s + 1, 1) + y
Loop
Text2.Text = y
End Sub
图3-6-1十进制转换成二进制
图3-6-2 十进制转换成八进制
图3-6-3 十进制转换成十六进制
小结
通过这次的课程设计,虽然很辛苦,但同时也让我弄懂了许多以前感觉很模糊的概念,也更加巩固了自己所学的知识,使得自己所学的知识更加系统化了,这次的程序设计,做的很疯狂,有时还会熬夜,但心里挺开心的。因为自己可以做出点东西出来,不会觉得自己这半年什么也没学到。这是其他的实验中海没有的事经过这几天的变成训练,。总之,通过这次的程序设计,让我明白了很多,不管是所学的知识还是所领悟的道理。
输入数字
平方根
平方
倒数
正弦
余弦
选择转换的进制
转换
退格
清除说有数据
清除当前数据
结果
12