.net 亨廷顿汽车公司

.net 亨廷顿汽车公司,.net,vb.net,visual-studio,.net,Vb.net,Visual Studio,所以我在VB.NET中做了一个小的高级练习,我对我所做的有点僵化。任务是“亨廷顿汽车公司为每位销售人员分配了一个由四个字符组成的ID号。第一个字符是数字1或数字2。1表示销售人员销售新车,2表示销售人员销售二手车。中间两个字符是销售人员的首字母,最后一个字符是字母F或字母P。字母F表示销售人员是全职员工。字母P表示他或她是兼职员工。。。该应用程序应允许销售经理根据需要输入为尽可能多的销售人员销售的汽车的ID和数量。应用程序应计算并显示以下四类员工销售的汽车总数:全职员工、兼职员工、销售新车的员工

所以我在VB.NET中做了一个小的高级练习,我对我所做的有点僵化。任务是“亨廷顿汽车公司为每位销售人员分配了一个由四个字符组成的ID号。第一个字符是数字1或数字2。1表示销售人员销售新车,2表示销售人员销售二手车。中间两个字符是销售人员的首字母,最后一个字符是字母F或字母P。字母F表示销售人员是全职员工。字母P表示他或她是兼职员工。。。该应用程序应允许销售经理根据需要输入为尽可能多的销售人员销售的汽车的ID和数量。应用程序应计算并显示以下四类员工销售的汽车总数:全职员工、兼职员工、销售新车的员工和销售二手车的员工。” 这是我目前的代码:

Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles 
btnCalculate.Click
    'variables
    Dim strInput As String = ""
    Dim strOutput As String = ""
    Dim intFullTime As Integer = 0
    Dim intPartTime As Integer = 0
    Dim intNewCar As Integer = 0
    Dim intUseCar As Integer = 0
    Dim intNumSold As Integer
    strInput = txtId.Text
    ' changes the id number case to upper
    strInput = txtId.Text.ToUpper()
    ' sets the focus
      txtId.Focus()

   Integer.TryParse(txtNumberSold.Text, intNumSold)
    If strInput Like "[12][A-Z][A-Z][FP]" Then
        If strInput.Substring(0) = "1" Then
            intNewCar = intNewCar + intNumSold
            txtNewCar.Text = intNewCar.ToString
        Else
            intUseCar = intUseCar + intNumSold
            txtUsedCar.Text = intUseCar.ToString
        End If

        If strInput.Substring(3) = "F" Then
            intFullTime = intFullTime + intNumSold
            txtFullTime.Text = intFullTime.ToString
        Else
            intPartTime = intPartTime + intNumSold
            txtPartTime.Text = intPartTime.ToString
        End If
    End If

End Sub
End Class

现在我的问题是,当输入第一个字符为1的ID时,结果不会打印在txt.NewCar.Text上。另一个问题是,我如何计算售出的汽车数量?任何提示都将不胜感激。我不确定我是否做得对。

对于第一个问题,您通过传递错误地使用了该函数如果只有一个值,则指示它提供从该点到结尾的字符串。您应该做的是:

strInput.Substring(0, 1) ' Get the first character


对于第二个问题,
intFullTime
intPartTime
都是局部变量,它们在每次单击按钮时都会被创建并初始化为0。您应该将这两个变量移动为类的成员变量,然后每次单击按钮和解析/处理值时,总数都应该累积sed.

我基本上都明白了。谢谢你的有用提示!除了全职和兼职之外,一切都在积累。这个数字保持不变,或者在我改变售出的汽车数量时发生变化。但是没有累计。有什么提示吗?你是否将
intFullTime
intPartTime
变量移到了成员变量中表单/类的?如果您创建了新变量并将旧变量保留在单击事件中,它将无法按您希望的方式工作。它现在正在工作!感谢您抽出时间!由于某种原因Visual Studio出现故障。但是一切都正常!再次感谢您!不要使用
Substring()
对于应使用的单个字符。
 strInput.Substring(3, 1) ' Get the fourth character