⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 动物识别系统.txt

📁 inlude five files that is migong
💻 TXT
字号:
Dim m As Integer '记录最后一个记录号
Dim Counter As Integer

Private Sub Command1_Click()
Dim str1 As String
Dim n As Integer '计数,当没有规则可以匹配时,结束循环判断
n = 1
m = 0

Open "d:\lib.dat" For Random As #1 Len = 20
If bird.Value = 1 Then
    Put #1, , "bird"
    m = m + 1
End If
If breast.Value = 1 Then
    Put #1, , "breast"
    m = m + 1
End If
If blackandwhite.Value = 1 Then
    Put #1, , "blackandwhite"
    m = m + 1
End If
If blacksplash.Value = 1 Then
    Put #1, , "blacksplash"
    m = m + 1
End If
If blackvitta.Value = 1 Then
    Put #1, , "blackvitta"
    m = m + 1
End If
If canine.Value = 1 Then
    Put #1, , "canine"
    m = m + 1
End If
If cannotfly.Value = 1 Then
    Put #1, , "cannotfly"
    m = m + 1
End If
If chewthecud.Value = 1 Then
    Put #1, , "chewthecud"
    m = m + 1
End If
If claw.Value = 1 Then
    Put #1, , "claw"
    m = m + 1
End If
If darkfleck.Value = 1 Then
    Put #1, , "darkfleck"
    m = m + 1
End If
If eatmeat.Value = 1 Then
    Put #1, , "eatmeat"
    m = m + 1
End If
If egg.Value = 1 Then
    Put #1, , "egg"
    m = m + 1
End If
If fearless.Value = 1 Then
    Put #1, , "fearless"
    m = m + 1
End If
If feather.Value = 1 Then
    Put #1, , "feather"
    m = m + 1
End If
If filemot.Value = 1 Then
    Put #1, , "filemot"
    m = m + 1
End If
If fly.Value = 1 Then
    Put #1, , "fly"
    m = m + 1
End If
If gazestraight.Value = 1 Then
    Put #1, , "gazestraight"
    m = m + 1
End If
If hairiness.Value = 1 Then
    Put #1, , "hairiness"
    m = m + 1
End If
If hoof.Value = 1 Then
    Put #1, , "hoof"
    m = m + 1
End If
If hoofanimal.Value = 1 Then
    Put #1, , "hoofanimal"
    m = m + 1
End If
If longleg.Value = 1 Then
    Put #1, , "longleg"
    m = m + 1
End If
If longneck.Value = 1 Then
    Put #1, , "longneck"
    m = m + 1
End If
If mammal.Value = 1 Then
    Put #1, , "mammal"
    m = m + 1
End If
If meatanimal.Value = 1 Then
    Put #1, , "meatanimal"
    m = m + 1
End If
If swim.Value = 1 Then
    Put #1, , "swim"
    m = m + 1
End If
If white.Value = 1 Then
    Put #1, , "white"
    m = m + 1
End If
Close #1
Dim i As Integer

Open "d:\lib.dat" For Random As #1 Len = 20

For Counter = 1 To 3

For i = 1 To m 'r1:若某动物有奶,则它是哺乳动物。
Get #1, i, str1
If StrComp(Trim(str1), "breast") = 0 Then
    If result("mammal") Then Exit Sub
    If check("mammal") Then
        m = m + 1
        Put #1, m, "mammal"
        Counter = 1
        Exit For
    End If
End If
Next i

For i = 1 To m 'r2:若某动物有毛发,则它是哺乳动物。
Get #1, i, str1
If StrComp(Trim(str1), "hairiness") = 0 Then
    If result("mammal") Then Exit Sub
    If check("mammal") Then
        m = m + 1
        Put #1, m, "mammal"
        Counter = 1
        Exit For
    End If
End If
Next i

For i = 1 To m 'r3:若某动物有羽毛,则它是鸟。
Get #1, i, str1
If StrComp(Trim(str1), "feather") = 0 Then
    If result("bird") Then Exit Sub
    If check("bird") Then
        m = m + 1
        Put #1, m, "bird"
        Counter = 1
        Exit For
    End If
End If
Next i

Dim j As Integer
Dim k As Integer
Dim g As Integer
Dim h As Integer

Dim str3 As String
Dim str4 As String
Dim str5 As String
Dim str6 As String

For i = 1 To m 'r4:若某动物会飞且生蛋,则它是鸟。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "fly") = 0 And StrComp(Trim(str3), "egg") = 0 Then
    If result("bird") Then Exit Sub
    If check("bird") Then
        m = m + 1
        Put #1, m, "bird"
        Counter = 1
        Exit For
    End If
End If
Next j
Next i

For i = 1 To m 'r5:若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5

If StrComp(Trim(str1), "mammal") = 0 And StrComp(Trim(str3), "claw") = 0 And StrComp(Trim(str4), "canine") = 0 And StrComp(Trim(str5), "gazestraight") = 0 Then
    If result("meatanimal") Then Exit Sub
    If check("meatanimal") Then
        m = m + 1
        Put #1, m, "meatanimal"
        Counter = 1
        Exit For
    End If
End If
Next h
Next g
Next j
Next i

For i = 1 To m 'r6:若某动物是哺乳动物且吃肉,则它是食肉动物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "mammal") = 0 And StrComp(Trim(str3), "eatmeat") = 0 Then
    If result("meatanimal") Then Exit Sub
    If check("meatanimal") Then
        m = m + 1
        Put #1, m, "meatanimal"
        Counter = 1
        Exit For
    End If
End If
Next j
Next i

For i = 1 To m 'r7:若某动物是哺乳动物且有蹄,则它是有蹄动物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "mammal") = 0 And StrComp(Trim(str3), "hoof") = 0 Then
    If result("hoofanimal") Then Exit Sub
    If check("hoofanimal") Then
        m = m + 1
        Put #1, m, "hoofanimal"
        Counter = 1
        Exit For
    End If
End If
Next j
Next i

For i = 1 To m 'r8:若某动物是有蹄动物且反刍食物,则它是偶蹄动物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "hoofanimal") = 0 And StrComp(Trim(str3), "chewthecud") = 0 Then
    If result("cloot") Then Exit Sub
    If check("cloot") Then
        m = m + 1
        Put #1, m, "cloot"
        Counter = 1
        Exit For
    End If
End If
Next j
Next i

For i = 1 To m 'r9:若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "meatanimal") = 0 And StrComp(Trim(str3), "filemot") = 0 And StrComp(Trim(str4), "blackvitta") = 0 Then
    If result("tiger") Then Exit Sub
    If check("tiger") Then
        m = m + 1
        Put #1, m, "tiger"
        Counter = 1
        Exit For
    End If
End If
Next g
Next j
Next i

For i = 1 To m ' r10:若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "meatanimal") = 0 And StrComp(Trim(str3), "filemot") = 0 And StrComp(Trim(str4), "blacksplash") = 0 Then
    If result("leopard") Then Exit Sub
    If check("leopard") Then
        m = m + 1
        Put #1, m, "leopard"
        Counter = 1
        Exit For
    End If
End If
Next g
Next j
Next i

For i = 1 To m 'r11:若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5
For k = 1 To m
Get #1, k, str6
If StrComp(Trim(str1), "hoofanimal") = 0 And StrComp(Trim(str3), "longleg") = 0 And StrComp(Trim(str4), "longneck") = 0 And StrComp(Trim(str5), "filemot") = 0 And StrComp(Trim(str6), "darkfleck") = 0 Then
    If result("giraffe") Then Exit Sub
    If check("giraffe") Then
        m = m + 1
        Put #1, m, "giraffe"
        Counter = 1
        Exit For
    End If
End If
Next k
Next h
Next g
Next j
Next i

For i = 1 To m 'r12:若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "hoofanimal") = 0 And StrComp(Trim(str3), "white") = 0 And StrComp(Trim(str4), "blackvitta") = 0 Then
    If result("zebra") Then Exit Sub
    If check("zebra") Then
        m = m + 1
        Put #1, m, "zebra"
        Counter = 1
        Exit For
    End If
End If
Next g
Next j
Next i

For i = 1 To m 'r13:若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5
For k = 1 To m
Get #1, k, str6
If StrComp(Trim(str1), "bird") = 0 And StrComp(Trim(str3), "cannotfly") = 0 And StrComp(Trim(str4), "longleg") = 0 And StrComp(Trim(str5), "longneck") = 0 And StrComp(Trim(str3), "cannotfly") = 0 And StrComp(Trim(str4), "longleg") = 0 And StrComp(Trim(str5), "longneck") = 0 And StrComp(Trim(str6), "blackandwhite") = 0 Then
    If result("ostrich") Then Exit Sub
    If check("ostrich") Then
        m = m + 1
        Put #1, m, "ostrich"
        Counter = 1
        Exit For
    End If
End If
Next k
Next h
Next g
Next j
Next i

For i = 1 To m 'r14:若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5
If StrComp(Trim(str1), "bird") = 0 And StrComp(Trim(str3), "cannotfly") = 0 And StrComp(Trim(str4), "swim") = 0 And StrComp(Trim(str5), "blackandwhite") = 0 Then
    If result("penguin") Then Exit Sub
    If check("penguin") Then
        m = m + 1
        Put #1, m, "penguin"
        Counter = 1
        Exit For
    End If
End If
Next h
Next g
Next j
Next i

For i = 1 To m 'r15:若某动物是鸟且善飞且不怕风浪,则它是海燕。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "bird") = 0 And StrComp(Trim(str3), "fly") = 0 And StrComp(Trim(str4), "fearless") = 0 Then
    If result("salangane") Then Exit Sub
    If check("salangane") Then
        m = m + 1
        Put #1, m, "salangane"
        Counter = 1
        Exit For
    End If
End If
Next g
Next j
Next i
 
Next Counter
Close #1
MsgBox "您给出的证据太少,无法判断是什么动物"
End Sub

Private Function check(ByVal conclusion As String) As Integer
Dim j As Integer
Dim str2 As String
For j = 1 To m
    Get #1, j, str2
    If StrComp(str2, conclusion) = 0 Then
        check = 0
        Exit Function
    End If
Next j
check = 1
End Function

Private Function result(ByVal res As String)
Select Case res
Case "tiger"
    MsgBox "老虎", vbOKOnly, "结果"
    result = 1
    Exit Function
Case "leopard"
    MsgBox "金钱豹"
    result = 1
    Exit Function
Case "giraffe"
    MsgBox "长颈鹿"
    result = 1
    Exit Function
Case "zebra"
    MsgBox "斑马"
    result = 1
    Exit Function
Case "ostrich"
    MsgBox "驼鸟"
    result = 1
    Exit Function
Case "penguin"
    MsgBox "企鹅"
    result = 1
    Exit Function
Case "salangane"
    MsgBox "海燕"
    result = 1
    Exit Function
Case Else
    result = 0
End Select
End Function
Private Sub Command2_Click()
Unload Me
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -