0

每次输入新数据时,我都无法让我的总数累积。该练习适用于汽车经销商,其中每个销售人员都有一个由 4 个字符组成的 ID 号。第一个字符是数字 1 或 2。数字 1 表示此人出售新车,而 2 表示二手车。中间的两个字符是人名的首字母。最后一个字符是 F 或 P。F 代表 Full-Time,P 代表 Part-Time。该应用程序应允许您输入 ID 和为所需的销售人员销售的汽车总数。它应该计算并显示以下 4 个类别的汽车总销量:全职员工、兼职员工、新车员工和二手车员工。我对 Visual Basic 还是很陌生,并且无法理解如何处理所有事情。当必须编写任何累积或有计数器的代码时,我似乎总是遇到问题。非常感谢任何正确方向的帮助或指导。

Option Explicit On
Option Strict On
Option Infer Off

Public Class frmMain

    Dim intTotalPart As Integer = 0
    Dim intTotalNew As Integer = 0
    Dim intTotalUsed As Integer = 0
    Dim intTotalFull As Integer = 0

    Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub txtId_Enter(sender As Object, e As EventArgs) Handles txtId.Enter
        txtId.SelectAll()
    End Sub

    Private Sub txtNumSold_Enter(sender As Object, e As EventArgs) Handles txtNumSold.Enter
        txtNumSold.SelectAll()
    End Sub

    Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
        'declare variables
        Dim strId As String
        Dim intNumSold As Integer
        Dim intTotalFullTime As Integer
        Dim intTotalPartTime As Integer
        Dim intTotalNewCar As Integer
        Dim intTotalUsedCar As Integer

        'store input entered by user
        strId = txtId.Text

        'convert input to a number
        Integer.TryParse(txtNumSold.Text, intNumSold)

        'add NumSold to Total 
        intTotalFull = intTotalFull + intTotalFullTime
        intTotalPart = intTotalPart + intTotalPartTime
        intTotalNew = intTotalNew + intTotalNewCar
        intTotalUsed = intTotalUsed + intTotalUsedCar

        'check for length of 4 characters
        'check for starting with 1 or 2
        'check for ending in F or P
        'if not display message, invalid ID
        'otherwise calculate totals sold
        Dim blnValidLength As Boolean = strId.Length.Equals(4)
        Dim blnId As Boolean = strId.ToUpper Like "[12][A-Z][A-Z][FP]"

        If Not blnValidLength OrElse Not blnId Then
            MessageBox.Show("Invalid ID. Must be 4 characters long, begin with 1 or 2 and end in F or P")
            Return
        Else
            'calculate number cars sold
            If strId.StartsWith("1") Then
                intTotalNewCar = CInt(txtNumSold.Text)
            End If

            If strId.StartsWith("2") Then
                intTotalUsedCar = CInt(txtNumSold.Text)
            End If

            If strId.EndsWith("F") Then
                intTotalFullTime = CInt(txtNumSold.Text)
            End If

            If strId.EndsWith("P") Then
                intTotalPartTime = CInt(txtNumSold.Text)
            End If

            'display number of cars sold
            lblTotalFullTime.Text = intTotalFullTime.ToString
            lblTotalPartTime.Text = intTotalPartTime.ToString
            lblTotalNew.Text = intTotalNewCar.ToString
            lblTotalUsed.Text = intTotalUsedCar.ToString

        End If

    End Sub
End Class
4

0 回答 0