Reputation: 115
I'm new at Visual Basic, doing an assignment right now. This is the code I have
Sub Main()
Console.Write("Please let me know your nickname: ")
Dim name As String = Console.ReadLine()
Console.WriteLine("Thank you " + name + "!")
Console.WriteLine()
Console.Write("How many litres " + name + "<only whole litres please>? ")
Dim litres As Integer = Console.ReadLine()
Console.Write("Premium quality? <y/n>: ")
Dim ans As Char = Console.ReadLine()
Dim prem As Boolean
If ans = "y" Then
prem = True
ElseIf ans = "n" Then
prem = False
End If
Console.WriteLine()
Console.WriteLine("WELCOME TO APU'S GAS STATION")
Console.Write("Quality: ")
If prem = True Then
Console.Write("Premium")
Else : Console.Write("Regular")
End If
Dim price As Double = 12.44
Console.WriteLine("Quantity <l>: " + litres)
Console.WriteLine("Price per l: " + price)
Console.WriteLine("Sum to pay: " + litres * price)
Console.ReadLine()
End Sub
At runtime I can input all data no problem, but then I get an error that I can roughly translate to "invalid cast of the string "Quantity : " to type 'Double'. I'm not so sure what is going on, would appreciate pointers.
Upvotes: 0
Views: 148
Reputation:
to avoid this problem you can use
Console.WriteLine("Quantity <l>: " + litres.ToString)
Or you can use
Console.WriteLine("Quantity <l>: " + CStr(price))
Upvotes: 2
Reputation: 709
I fixed your code, this should work :
Sub Main()
Console.Write("Please let me know your nickname: ")
Dim name As String = Console.ReadLine()
Console.WriteLine("Thank you " & name & "!")
Console.WriteLine()
Console.Write("How many litres " & name & "<only whole litres please>? ")
Dim litres As Integer = Console.ReadLine()
Console.Write("Premium quality? <y/n>: ")
Dim ans As Char = Console.ReadLine()
Dim prem As Boolean
If ans = "y" Then
prem = True
ElseIf ans = "n" Then
prem = False
End If
Console.WriteLine()
Console.WriteLine("WELCOME TO APU'S GAS STATION")
Console.Write("Quality: ")
If prem = True Then
Console.Write("Premium")
Else : Console.Write("Regular")
End If
Dim price As Double = 12.44
Console.WriteLine("Quantity <l>: " & litres)
Console.WriteLine("Price per l: " & price)
Console.WriteLine("Sum to pay: " & (litres * price))
Console.ReadLine()
End Sub
Upvotes: -1