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

📄 校园导游.frm

📁 我用VB做的一个校园导游系统!界面友好
💻 FRM
📖 第 1 页 / 共 5 页
字号:
   Begin VB.Label Label1 
      BackStyle       =   0  'Transparent
      Caption         =   "我想知道从:"
      BeginProperty Font 
         Name            =   "华文新魏"
         Size            =   18
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   375
      Left            =   240
      TabIndex        =   15
      Top             =   4470
      Width           =   2055
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Base 1

Dim zuixiao(14) As Integer
Dim a(1 To 12, 1 To 12) As Integer

Const MAX = 999

Dim scount As Integer

Private Sub Command1_Click()
  If Text2.Text = "" Then
    Form3.Show
  ElseIf Text3.Text = "" Then
    Form3.Show
  ElseIf Text2.Text = Text3.Text Then
    Form5.Show
  Else
    If Label5.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label6.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label7.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label8.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label9.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label10.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label11.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label12.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label13.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label14.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label15.Caption = Text3.Text Then
      Form4.Show
    ElseIf Label16.Caption = Text3.Text Then
      Form4.Show
    ElseIf Text3.Text = "" Then
      Form3.Show
    Else
      Text3.Text = ""
      Form2.Show
    End If
  End If
  If scount > 150 Then
    Label19.BackStyle = 0
    Label19.BorderStyle = 0
    Label19.Caption = ""
  End If
End Sub

Private Sub Command2_Click()

Dim n As Integer
Dim m As Integer
Dim i As Integer
Dim j As Integer
Dim z As Integer
Dim b, c, d, e, f, g, h, p, q, r, s As Integer
Dim drawline(100) As Integer
Dim js As Integer


 '初始化画线计数数组
 For js = 1 To 100
   drawline(js) = 0
 Next js

Dim zanxu(1 To 13)
zanxu(1) = 1
zanxu(2) = 0
For j = 3 To 13
 zanxu(j) = 0
 Next j

Dim ding(1 To 14) As Integer
For i = 1 To 14
ding(i) = 1
Next i
  
  
 Dim zongdianxu(1 To 100) As Integer
 For i = 1 To 100
 zongdianxu(i) = 0
 Next i

Dim mudidi(1 To 14) As Integer  '存放要求经过的点
For i = 1 To 14
mudidi(i) = 0
Next i

Dim dianxu(1 To 12) As Integer   '存放路径最短时的景点排序
For i = 1 To 12
dianxu(i) = 0
Next i

Dim changdu As Integer
changdu = 0

Dim min As Integer
min = MAX

'定义原始数据
For i = 1 To 12
  For j = 1 To 12
  a(i, j) = MAX
  Next j
  Next i
a(1, 2) = 5
a(2, 1) = 5
a(1, 6) = 4
a(6, 1) = 4
a(1, 7) = 3
a(7, 1) = 3
a(2, 3) = 2
a(3, 2) = 2
a(3, 4) = 2
a(4, 3) = 2
a(3, 5) = 4
a(5, 3) = 4
a(5, 10) = 6
a(10, 5) = 6
a(6, 7) = 5
a(7, 6) = 5
a(6, 8) = 3
a(8, 6) = 3
a(7, 8) = 4
a(8, 7) = 4
a(7, 11) = 2
a(11, 7) = 2
a(7, 12) = 2
a(12, 7) = 2
a(8, 9) = 3
a(9, 8) = 3
a(9, 10) = 3
a(10, 9) = 3
a(10, 11) = 1
a(11, 10) = 1



z = 1                         '提取过程
If Check1.Value = 1 Then
mudidi(z) = 1
z = z + 1
mudidi(14) = mudidi(14) + 1
End If
If Check2.Value = 1 Then
mudidi(z) = 7
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check3.Value = 1 Then
mudidi(z) = 11
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check4.Value = 1 Then
mudidi(z) = 8
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check5.Value = 1 Then
mudidi(z) = 12
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check6.Value = 1 Then
mudidi(z) = 6
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check7.Value = 1 Then
mudidi(z) = 2
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check8.Value = 1 Then
mudidi(z) = 9
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check9.Value = 1 Then
mudidi(z) = 10
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check10.Value = 1 Then
mudidi(z) = 5
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check11.Value = 1 Then
mudidi(z) = 3
z = z + 1
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
If Check12.Value = 1 Then
mudidi(z) = 4
ding(z) = 0
mudidi(14) = mudidi(14) + 1
End If
mudidi(z + 1) = 0
 
'查寻多点最佳路径



Dim zanzuixiao(1 To 12, 1 To 12, 1 To 14) As Integer
For i = 1 To 12
 For j = 1 To 12
  For z = 1 To 14
  zanzuixiao(i, j, z) = 0
  Next z
  Next j
  Next i


'分别求出任意两点目的地间的最短路径
i = 1
j = 1
For i = 1 To 12
 For j = 1 To 12
   If mudidi(i) <> 0 And mudidi(j) <> 0 And i <> j Then
   n = mudidi(i)
   m = mudidi(j)
   Call liangzuixiao(n, m)
   For k = 1 To 14
   zanzuixiao(n, m, k) = zuixiao(k)
   Next k
   End If
  Next j
  Next i




If mudidi(14) <= 10 Then



For b = 2 To mudidi(14)         '求总路程最短时的景点排序
If ding(b) = 0 Then
   zanxu(2) = mudidi(b)
   zanxu(3) = 0
   ding(b) = 1
   changdu = changdu + zanzuixiao(1, mudidi(b), 14)
 
   For c = 2 To mudidi(14)           ''''''''''''
   If mudidi(14) = 2 Then
   If min > changdu Then
   min = changdu
   For i = 1 To mudidi(14)
    dianxu(i) = zanxu(i)
   Next i
   End If
   Exit For
   End If
   If c <> b And ding(c) = 0 Then
   zanxu(3) = mudidi(c)
   zanxu(4) = 0
    ding(c) = 1
   changdu = changdu + zanzuixiao(mudidi(b), mudidi(c), 14)
   
   
    
     For d = 2 To mudidi(14)      ''''''''''''''''
     If mudidi(14) = 3 Then
       If min > changdu Then
   min = changdu
   For i = 1 To mudidi(14)
    dianxu(i) = zanxu(i)
   Next i
 End If
   
   
   Exit For
   End If
   
    If ding(d) = 0 And d <> b And d <> c Then
     zanxu(4) = mudidi(d)
    ding(d) = 1
    changdu = changdu + zanzuixiao(mudidi(c), mudidi(d), 14)
     
     For e = 2 To mudidi(14)        ''''''''''''''''
     If mudidi(14) = 4 Then
     If min > changdu Then
   min = changdu
   For i = 1 To mudidi(14)
    dianxu(i) = zanxu(i)
   Next i
   
   End If
    Exit For
    End If
       If ding(e) = 0 And e <> b And e <> c And e <> d Then
      zanxu(5) = mudidi(e)
       ding(e) = 1
      changdu = changdu + zanzuixiao(mudidi(d), mudidi(e), 14)
       
        For f = 2 To mudidi(14)                     ''''''''''''''''
        If mudidi(14) = 5 Then
           If min > changdu Then
   min = changdu
   For i = 1 To mudidi(14)
    dianxu(i) = zanxu(i)
   Next i
   End If
    Exit For
    End If
        
        If ding(f) = 0 And f <> b And f <> c And f <> d And f <> e Then
        zanxu(6) = mudidi(f)
        ding(f) = 1
      changdu = changdu + zanzuixiao(mudidi(e), mudidi(f), 14)
        
        For g = 2 To mudidi(14)         ''''''''''''''
        If mudidi(14) = 6 Then
          If min > changdu Then
   min = changdu
   For i = 1 To mudidi(14)
    dianxu(i) = zanxu(i)
   Next i
   End If
    Exit For

⌨️ 快捷键说明

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