0

我正在寻找在下面程序结束时生成的表格,可以选择将其保存到 .txt 中,以便以后可以查看它,但我正在努力实现这一点。

    Module Module1
    Dim kTick As Integer
    Dim kName(64) As String
    Dim kHours(64) As Integer
    Dim kHoursPay(64) As Integer
    Dim kGross(64) As Integer
    Dim kTax As Integer = 20
    Dim kNet(64) As Integer
    Dim kTotal As Integer
    Dim kAverage As Integer
    Sub Main()
        'Assigning kTick (Number of employee's)
        Assign()
        'Imputting the data
        Entry()
        'Calculating kGross, kTax, kNet and kTotal
        Print()
    End Sub
    Sub Assign()
        Console.ForegroundColor = ConsoleColor.Gray
        Console.WriteLine("Please enter the total amount of employee's:")
        Console.ForegroundColor = ConsoleColor.White
        kTick = Console.ReadLine()
        Console.Clear()
    End Sub
    Sub Entry()
        For kCounter = 1 To kTick
            Console.ForegroundColor = ConsoleColor.DarkGray
            Console.WriteLine("Employee " & kCounter)
            Console.ForegroundColor = ConsoleColor.Gray
            Console.WriteLine("Please enter the employee name below:")
            Console.ForegroundColor = ConsoleColor.White
            kName(kCounter) = Console.ReadLine()
            Do
                Console.ForegroundColor = ConsoleColor.Gray
                Console.WriteLine("Please enter the employees total hours worked below:")
                Console.ForegroundColor = ConsoleColor.White
                kHours(kCounter) = Console.ReadLine()
            Loop Until kHours(kCounter) >= 0 And kHours(kCounter) <= 60
            Do
                Console.ForegroundColor = ConsoleColor.Gray
                Console.WriteLine("Please enter the employees Hourly Pay below:")
                Console.ForegroundColor = ConsoleColor.White
                kHoursPay(kCounter) = Console.ReadLine()
            Loop Until kHoursPay(kCounter) >= 6 And kHoursPay(kCounter) <= 250
            Console.Clear()
        Next
    End Sub
    Sub Print()
        For kCounter = 1 To kTick
            kGross(kCounter) = kHours(kCounter) * kHoursPay(kCounter)
        Next
        For kCounter = 1 To kTick
            kNet(kCounter) = (kGross(kCounter) / 10) * 8
        Next
        For kCounter = 1 To kTick
            kTotal = kTotal + kHours(kCounter)
        Next
        kAverage = kTotal / kTick
        Console.ForegroundColor = ConsoleColor.Gray
        Console.WriteLine("Name" & vbTab & "Hours" & vbTab & "Hourly Rate" & vbTab & "Gross Pay" & vbTab & "Tax" & vbTab & "Net Pay")
        Console.ForegroundColor = ConsoleColor.White
        For kCounter = 1 To kTick
            Console.WriteLine(kName(kCounter) & vbTab & kHours(kCounter) & vbTab & "£" & kHoursPay(kCounter) & vbTab & vbTab & "£" & kGross(kCounter) & vbTab & vbTab & kTax & "%" & vbTab & "£" & kNet(kCounter))
        Next
        Console.ForegroundColor = ConsoleColor.Gray
        Console.WriteLine("Total hours worked: " & kTotal)
        Console.WriteLine("Total average hours worked: " & kAverage)
        Console.WriteLine("Total number of employees: " & kTick)
        Console.ReadLine()
        Save()
    End Sub
    Sub Save()

    End Sub
End Module

我正在尝试在 Save 子例程中获取代码,任何帮助将不胜感激!

谢谢凯

4

2 回答 2

1

请注意:您不应该Save来自,Print因为两者本质上是无关的。因此,您可能希望打印而不保存或保存而不打印到控制台。

一种简单的方法是使用File类,例如使用File.WriteAllText(path)or File.WriteAllLines(path)。因此,您需要将要输出的文本(到控制台和文件)存储在某处。例如在一个List(Of String)变量中。

于 2012-11-16T10:33:24.433 回答
0

您正在寻找StreamWriter类。它有可以帮助你的方法WriteWriteLine它的工作方式与Console.WriteLine您使用的方式相同。

于 2012-11-16T10:33:22.763 回答