A lo mejor es un poco tarde. Yo tengo que hacer el mismo programa pero mi duda es otra.
Bueno intentaré explicar lo de los dígitos de control Una cuenta se compone: EEEE OOOO DD NNNNNNNNNN E- entidad o- oficina d- dígitos de control n - número de la cuenta
PARA CALCULAR EL PRIMER DÍGITO DE CONTROL tienes que añadir dos ceros al principio y coger los número de entidad y oficina, de tal modo que te quede un número de 10 dígitos. A continuación tienes que multiplicar cada dígito que te dio anteriormente ( es decir, 00 eeee oooo) por los siguientes números según el orden: 1, 2, 4, 8, 5, 10, 9, 7, 3, 6 El resultado de cada multiplicación tiene que sumarlo (es decir hacer un sumatorio) Ese resultado debes dividirlo entre 11 El resto de esta división es el dígito de control // excepto en los siguientes casos:
Si el resto es 10 -- el dígito que se tomará es 1 Si el resto es 11 -- el dígito que se tomará es 0
PARA CALCULAR EL SEGUNDO DÍGITO DE CONTROL lo mismo que antes pero el primer paso (lo de añadir dos 00 al inicio no debes hacerlo) pero tomando los número de cuenta (N)
** Espero que te sirva
************************************************** Mi duda: En mi programa guarde la cuenta como un int Y guarde la combinación de números como un array para que con un for-in pueda recorrer el array para realizar lo de las multiplicaciones
¿como separo mi cuenta en dígitos? He pensado en transformar la cuenta en un String y con un lenght ir separando los dígitos Pero ¿se os ocurre otro modo más limpio?
|