【问题标题】:Car Database Loop汽车数据库循环
【发布时间】:2015-10-19 16:31:44
【问题描述】:

此代码似乎不起作用。我真的不知道使用什么循环来获取它也添加用户放入机器的信息以再次打印。

这样做的目的是让用户选择:

  1. 打印他们在早期数据库中键入的菜单。如果他们没有在数据库中输入任何内容,那么它应该是空白的

  2. 应该让用户在数据库中输入信息(我最苦恼的事情)并进行错误检查,以便在他们应该输入字母时告诉他们是否输入了数字和

  3. 结束程序。

当我这样做时 (2) 它可以让我输入,但它不会回忆数据库中的信息。它还需要一个数字 (4),它应该返回到主菜单。我认为这是循环出现的地方,但我不知道该使用哪一个。

代码如下:

Structure Cars
 Public carmake As String
 Public carmodel As String
 Public caryear As Integer
 Public carlicence As String
End Structure

Module Module1
 Sub Main()
    Dim userchoice
    Console.WriteLine("Choose weather to open the database(1), print it (2) or end (3)")
    userchoice = Console.ReadLine()
    If userchoice = 1 Then
        Dim cardatabase(4) As Cars
        Console.WriteLine("This will allow you to view the database.")
        Console.WriteLine("Please enter the car make,licence,model and year")
        cardatabase(1).carmake = Console.ReadLine()
        cardatabase(1).carlicence = Console.ReadLine()
        cardatabase(1).carmodel = Console.ReadLine()
        cardatabase(1).caryear = Console.ReadLine()
    ElseIf userchoice = 2 Then
        Console.WriteLine("The database is,")
    ElseIf userchoice = 3 Then
        Console.WriteLine("Thanks for using this program.")
    End If
    Console.ReadLine()
 End Sub
End Module

【问题讨论】:

    标签: vb.net random


    【解决方案1】:

    此代码有几个问题。以下是我的建议:

    1. 您需要某种循环结构,例如While 循环。您的测试条件可能是 userchoice 变量。

    2. 在您的If 语句中,您需要检查userchoice 是否等于字符串值而不是整数值。所以If userchoice = 1 Then 这行实际上应该是If userchoice = "1" Then

    3. cardatabase 数组应在循环外声明。当您在循环中声明它时,它将继续重新创建数组,而不是向其中添加更多项。

    4. 您的Cars 结构必须位于Module Module1 块内。

    5. 由于您不知道用户在退出之前可能想要添加多少次新车,因此我建议使用列表而不是数组。列表允许轻松动态调整大小。

    6. 您需要一个整数变量来跟踪输入的汽车数量,并将其用作cardatabase 集合的索引。

    7. 数组/列表索引从 0 开始。

    8. Cars 应该是一个类而不是一个结构。此外,它应该命名为Car。它是一个单一的结构(或类,如果你改变它)。数组本身应称为cars,因为它是多个Car 结构(或对象,如果将其更改为类)的集合。

    我打算在这里编写示例代码来证明我的观点,但这几乎是一个完整的重写,这不会帮助您理解为什么我做了我所做的更改。

    我对您的最佳建议是回顾您之前阅读的书籍或教程,以达到这一点,并真正尝试理解他们在说什么。如果您不了解这个概念,请在其他地方查找,直到您了解为止。

    免责声明:我的建议并不全面。当我立即发现上述所有问题时,我停止检查您的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 2017-04-15
      • 2023-01-28
      • 2012-05-29
      • 1970-01-01
      相关资源
      最近更新 更多