Dame cambio Aprende programación con ejercicios Visual Basic (VB.net)

Lección:

Control del Flujo


Ejercicio:

Dame cambio 83


Objetivo:

Cree un programa de Visual Basic (VB.net) para devolver el cambio de una compra, utilizando monedas (o billetes) lo más grandes posible. Supongamos que tenemos una cantidad ilimitada de monedas (o billetes) de 100, 50, 20, 10, 5, 2 y 1, y no hay decimales. Por lo tanto, la ejecución podría ser algo como esto:

¿Precio? 44
¿Pagado? 100
Su cambio es 56: 50 5 1
¿Precio? 1
¿Pagado? 100
Su cambio es 99: 50 20 20 5 2 2


Código:

Imports System
Public Class Exercise47
    Public Shared Sub Main()
        Dim price, paid, change As Integer
        Console.Write("Price? ")
        price = Convert.ToInt32(Console.ReadLine())
        Console.Write("Paid? ")
        paid = Convert.ToInt32(Console.ReadLine())
        change = paid - price
        Console.Write("Your change is {0}: ", change)

        While change > 0

            If change >= 50 Then
                Console.Write("50 ")
                change -= 50
            Else

                If change >= 20 Then
                    Console.Write("20 ")
                    change -= 20
                Else

                    If change >= 10 Then
                        Console.Write("10 ")
                        change -= 10
                    Else

                        If change >= 5 Then
                            Console.Write("5 ")
                            change -= 5
                        Else

                            If change >= 2 Then
                                Console.Write("2 ")
                                change -= 2
                            Else
                                Console.Write("1 ")
                                change -= 1
                            End If
                        End If
                    End If
                End If
            End If
        End While

        Console.WriteLine()
    End Sub
End Class