viper2005 Δημοσ. 30 Ιανουαρίου 2015 Δημοσ. 30 Ιανουαρίου 2015 So, ερωτησεις 1) γιατι δεν ξανακαλει το ονομα του? 2) κανει τον υπολογισμο και δεν τον εμφανιζει ή δεν τον κανει καθολου γιαυτο δεν τον εμφανιζει? Option Explicit On Option Strict On Module ConsoleApplication3 ''' <summary> ''' This is where the program begins when started ''' </summary> ''' <remarks></remarks> Sub Main() Dim pump As GasPump ' Declare a referens variable pump = New GasPump() pump.Start() 'This make the Console window wait on the screen ("Read nothing") Console.ReadKey() End Sub End Module Option Explicit On Option Strict On Class GasPump Private customerName As String 'declare variable type Private quantity As Double 'declare variable true or false Private premiumQuality As Boolean Private gasType As String 'declare total amount payed Private totalToPay As Double Const regularPrice As Double = 15.05 ' lund 2013-09-01 Const primePrice As Double = 15.75 Property InputString As String Public Sub Start() '1. ReadInput ReadInput() '2. calculate CalcTotalToPay() '3. Show results PrintReceipt() End Sub Private Sub ReadInput() '1. Read Customer name ReadCustomerName() '2. Read Quantity ReadQuantity() '3. Read Quality ReadQuality() End Sub Private Sub ReadCustomerName() Console.Write("Please let me know your full name:") Dim customerName As String = Console.ReadLine() WriteThankYou() End Sub Private Sub ReadQuantity() Console.WriteLine("") Console.Write("How many units whould you like (only whole numbers please)?") Dim quantity As String = Console.ReadLine() Console.WriteLine("") Console.WriteLine("") End Sub Private Sub ReadQuality() Console.Write("Premium quality? (y/n): ") Dim response As Char = Console.ReadLine().Chars(0) If ((response = "y") Or (response = "Y")) Then premiumQuality = True Console.WriteLine("") Console.WriteLine("your choice: Prime price!") Console.WriteLine("") Else premiumQuality = False Console.WriteLine("") Console.WriteLine("your choice: Regular price") Console.WriteLine("") End If End Sub Private Sub WriteThankYou() Console.WriteLine("Thank you, " + customerName) End Sub Private Sub CalcTotalToPay() If premiumQuality = True Then totalToPay = quantity * primePrice Else totalToPay = quantity * regularPrice End If End Sub Private Sub PrintReceipt() Console.WriteLine("") Console.WriteLine("") Console.WriteLine("++++++++++++++++++++WELCOME TO APU's GAS STATION+++++++++++++") Console.WriteLine("") If premiumQuality = True Then Console.WriteLine("Quality Premium, premiumQuality") Else Console.WriteLine("Quality Regular, regularQuality") End If Console.WriteLine("Quantity " & quantity.ToString()) Console.WriteLine("") Console.WriteLine("") If premiumQuality = True Then Console.WriteLine("Price per unit 15.05, regularQuality") Else Console.WriteLine("Price per unit 15.75, premiumQuality") End If Console.WriteLine("Sum to pay " & totalToPay) Console.WriteLine("") Console.WriteLine("") Console.WriteLine("Welcome Back!", customerName) Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") End Sub End Class thanks
Papakaliati Δημοσ. 30 Ιανουαρίου 2015 Δημοσ. 30 Ιανουαρίου 2015 Δεν σωζεις το quantity πουθενα. Dim quantity As String = Console.ReadLine() To δημιουργεις μεσα στην συναρτηση Private Sub ReadQuantity() και οταν τελειωνει η εκτελεση της χανετε, γιατι ουτε το επιστρεφεις ουτε το σωζεις κατα την διαρκεια της συναρτησης πουθενα. To ιδιο και με την μεταβλητη quality στην procedure ReadQuality().
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα