All pastes #1227026 Raw Edit

Mine

public text v1 · immutable
#1227026 ·published 2008-10-14 17:39 UTC
rendered paste body
Public Class Form1

    '*****************************************************************
    ' Programmer:     Michele Davis
    ' Date Modified:  Oct. 14, 2008
    ' Purpose:        The program allows to user to output employee number
    'name type of employee, hours worked, and weekly pay, with totals
    'per employee/store and grand total
    '*****************************************************************

    ' Pseudocode
    '
    'I.  Input
    '    A.  Open sales.txt
    '    B.  Click on button
    'II. Process
    '    A.  Compute the paytype, payrate, weekly pay, total per worker/store
    'and grand total
    'III. Output
    '    A.  Print the employee number, name, type of employee, hours worked, and
    'wkly pay, then the totals per employee/store and grand total
    'IV.  End

    Dim sr As IO.StreamReader = IO.File.OpenText("Sales.txt")
    Dim storehold As String
    Dim emplyhold As String
    Dim strnmb, emplynmb, payrate, hrswrk, rlhr, rate, wklypy, storetotal, totalpay, temppay, storetmp, grandtotal, grandtemp, tempstore As Double
    Dim emplyname, paytype, paycat, type, cat, empyhold As String
    Dim frm1 As String = "{0,-10}{1,8}{2,10}{3,10}{4,10:C2}"
    Dim pagenum As Double = 1
    Dim linecntr As Double = 1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        sr = IO.File.OpenText("Sales.txt")
        storehold = sr.ReadLine
        emplyhold = sr.ReadLine
        sr.Close()
    End Sub
    Private Sub btnrpt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnrpt.Click
        Call PrintpgHeaders()
        sr = IO.File.OpenText("Sales.txt")

        Do While sr.Peek <> -1
            strnmb = sr.ReadLine
            emplyname = sr.ReadLine
            emplynmb = sr.ReadLine
            paytype = sr.ReadLine
            payrate = sr.ReadLine
            paycat = sr.ReadLine
            hrswrk = sr.ReadLine

            If paytype = "H" Then
                type = "Hourly"
            ElseIf paytype = "C" Then
                type = "Comission"
            End If

            If paytype = "H" And payrate = "1" Then 'convert pay type and pay rate into rl numbers
                rate = 5.5
            ElseIf paytype = "H" And payrate = "2" Then
                rate = 9.99
            ElseIf paytype = "H" And payrate = "3" Then
                rate = 15.25
            ElseIf paytype = "C" And payrate = "1" Then
                rate = 500.0
            ElseIf paytype = "C" And payrate = "2" Then
                rate = 1000.0
            ElseIf paytype = "C" And payrate = "3" Then
                rate = 1500.0
            End If

            If paycat = "F" Then ' convert f and t into ft/pt
                cat = "Full Time"
            ElseIf paycat = "P" Then
                cat = "Part Time"
            ElseIf paycat = "X" Then
                cat = "Commission"
            End If
            If hrswrk = 1 Then 'convert 1-4 into rl numbers
                rlhr = 20
            ElseIf hrswrk = 2 Then
                rlhr = 25
            ElseIf hrswrk = 3 Then
                rlhr = 30
            ElseIf hrswrk = 4 Then
                rlhr = 40
            End If

            If paytype = "H" Then
                wklypy = rate * rlhr
            ElseIf paytype = "C" Then
                wklypy = rate
            End If

            If emplyname <> emplyhold Then
                Call emplyBreak()
            End If
            totalpay = totalpay + wklypy

            If strnmb <> storehold Then
                Call storeBreak()
                Call PrintHeaders()
            End If
            lstrpt.Items.Add(String.Format(frm1, emplynmb, emplyname, type, rlhr, wklypy))
            linecntr = linecntr + 1
            If linecntr >= 55 Then
                pagenum = pagenum + 1
                Call PrintpgHeaders()
            End If

            linecntr = linecntr + 1
        Loop
        Call emplyBreak()
        Call storeBreak()
        Call grandbreak()
        

        sr.Close()
    End Sub
    Sub PrintHeaders()
        lstrpt.Items.Add("Store " & storehold)
        lstrpt.Items.Add("")
        lstrpt.Items.Add(String.Format(frm1, "Emp", "Emp", "Pay", "Hours", "Weekly"))
        lstrpt.Items.Add(String.Format(frm1, "ID", "Name", "Type", "Worked", "Pay"))
        lstrpt.Items.Add("")
        linecntr = linecntr + 5
    End Sub
    Sub PrintpgHeaders()
        lstrpt.Items.Add("10/14/08                                  Page " & pagenum)
        lstrpt.Items.Add(String.Format(frm1, "Emp", "Emp", "Pay", "Hours", "Weekly"))
        lstrpt.Items.Add(String.Format(frm1, "ID", "Name", "Type", "Worked", "Pay"))
        lstrpt.Items.Add("")
        linecntr = linecntr + 4
    End Sub
    Sub storeBreak()
        storetotal = storetmp 'use temp variables so numbers are not lost
        lstrpt.Items.Add(String.Format(frm1, "Store Total", "", "", "", storetotal))
        lstrpt.Items.Add("")
        storehold = strnmb 'use temp variables so numbers are not lost
        tempstore = storetotal 'use temp variables so numbers are not lost
        grandtemp = grandtemp + storetotal 'use temp variables so numbers are not lost
        storetmp = 0
        linecntr = linecntr + 2
    End Sub
    Sub emplyBreak()
        lstrpt.Items.Add(String.Format(frm1, "Employee Total:", "", "", "", totalpay))
        lstrpt.Items.Add("")
        emplyhold = emplyname 'use temp variables so numbers are not lost
        temppay = totalpay 'use temp variables so numbers are not lost
        storetmp = storetmp + totalpay 'use temp variables so numbers are not lost
        totalpay = 0
        linecntr = linecntr + 2
    End Sub
    Sub grandbreak()
        grandtotal = grandtemp
        lstrpt.Items.Add(String.Format(frm1, "Grand Total:", "", "", "", grandtotal))
        lstrpt.Items.Add("")
        linecntr = linecntr + 2
    End Sub

End Class