none
Analisis de codigo RRS feed

  • Pregunta

  • Hola amigos.

    Williams Morales, un super colaborador del foro me dio un enlace donde esta este código para que lo adaptara a mis necesidades.

    Así lo hice pero, me da devuelta siempre con un peso menos.

    Es un desglose del efectivo que tiene que devolver la cajera. Siempre da un desglose con menos uno.

    Dim denominations As Integer() = {2000, 1000, 500, 100, 50, 25, 20, 10, 5, 1}
            Dim numberOfBills As Integer() = New Integer(9) {}
            numberOfBills(0) = 0
            numberOfBills(0) = 0
            While totalAmount >= 2000
                totalAmount = totalAmount - 2000
                numberOfBills(0) += 1
            End While
            numberOfBills(1) = 0
            While totalAmount >= 1000
                totalAmount = totalAmount - 1000
                numberOfBills(1) += 1
            End While
            numberOfBills(2) = 0
            While totalAmount >= 500
                totalAmount = totalAmount - 500
                numberOfBills(2) += 1
            End While
            numberOfBills(3) = 0
            While totalAmount > 100
                totalAmount = totalAmount - 100
                numberOfBills(3) += 1
            End While
    
            numberOfBills(4) = 0
            While totalAmount > 50
                totalAmount = totalAmount - 50
                numberOfBills(4) += 1
            End While
    
            numberOfBills(5) = 0
            While totalAmount > 25
                totalAmount = totalAmount - 25
                numberOfBills(5) += 1
            End While
    
            numberOfBills(6) = 0
            While totalAmount > 20
                totalAmount = totalAmount - 20
                numberOfBills(6) += 1
            End While
    
            numberOfBills(7) = 0
            While totalAmount > 10
                totalAmount = totalAmount - 10
                numberOfBills(7) += 1
            End While
    
            numberOfBills(8) = 0
            While totalAmount > 5
                totalAmount = totalAmount - 5
                numberOfBills(8) += 1
            End While
    
            numberOfBills(9) = 0
            While totalAmount > 1
                totalAmount = totalAmount - 1
                numberOfBills(9) += 1
            End While
    
            b2000.Text = numberOfBills(0)
            b1000.Text = numberOfBills(1)
            b500.Text = numberOfBills(2)
            b100.Text = numberOfBills(3)
            b50.Text = numberOfBills(4)
            b25.Text = numberOfBills(5)
            b20.Text = numberOfBills(6)
            b10.Text = numberOfBills(7)
            b5.Text = numberOfBills(8)
            b1.Text = numberOfBills(9)

    Gracias por su colaboración.

    sábado, 17 de septiembre de 2016 1:16

Respuestas

  • Formulaz5,

    Equivocas en parte de tu código con el operador de comparación, en algunas expresiones utilizas el operador '>=' y en otros expresiones el operador '>', todas las expresiones deben de tener el operador mayor o igual '>='

    'Realiza el cambio en todas las expresiones anteriores
    'Nota que las primeras si están correctamente escritas
    numberOfBills(9) = 0
    While totalAmount >= 1
            totalAmount = totalAmount - 1
            numberOfBills(9) += 1
    End While



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 17 de septiembre de 2016 4:55

Todas las respuestas

  • Formulaz5,

    Equivocas en parte de tu código con el operador de comparación, en algunas expresiones utilizas el operador '>=' y en otros expresiones el operador '>', todas las expresiones deben de tener el operador mayor o igual '>='

    'Realiza el cambio en todas las expresiones anteriores
    'Nota que las primeras si están correctamente escritas
    numberOfBills(9) = 0
    While totalAmount >= 1
            totalAmount = totalAmount - 1
            numberOfBills(9) += 1
    End While



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 17 de septiembre de 2016 4:55
  • Mil gracias Williams.

    Tienes la razón, fue que lo extendí copiando la ultima columna y esta a su vez tenia esta característica y no me di cuenta, al no entender el código por completo o no detenerme a eso.

    Hasta luego.

    sábado, 17 de septiembre de 2016 14:41