InformáticaBásico1 respuestas

Hola tengo un pequeño problema con este código, en este mismo quiero saber si un numero de tarjeta es valido o invalido utilizando el método de luhn?

Hola tengo un pequeño problema con este código, en este mismo quiero saber si un numero de tarjeta es valido o invalido utilizando el método de luhn. En el cual se pide el numero de tarjeta dígito por dígito al probar me funciono pero el profesor me dijo que no lo quería dígito por dígito si no el numero completo. Y así lo hice pero, a la hora de ejecutar el programa siempre me sale el mensaje de "Tarjeta Invalida", aunque el numero de tarjeta ingresado sea invalido ¿Podrían ayudarme a saber cual es el error? Si pueden me gustaría que me ayudasen lo antes posible ya que el trabajo es para dentro de 13 horas. Como dato extra el profesor pidió que no se utilicen arreglos en el código. Aun soy un principiante en esto así que me es algo difícil. #include #include int main() { long long num, suma = 0, n = 0 ; printf("Ingresa el numero de tu tarjeta \ n") ; scanf("%lli", &num) ; for(num = 0 ; num < 16 ; num + + ) { if(num%2 = = 0) { n = num * 2 ; if(n > = 10) n = (n - 10) + 1 ; } else { n = num ; } suma = suma + n ; } if(suma%10 = = 0) { printf("Tarjeta Valida %lli \ n", suma) ; } else { printf("Tarjeta Invalida %lli \ n", suma) ; } system("pause") ; }.

En resumen

LINK DEL CODIGOhttps : / / onlinegdb. Com / B1HEm9Ua7ES NECESARIO PONER LOS 16 DIGITOS, SI NO FUNCIONA REVISA QUE SEAN LOS 16 DIG.

Mejor respuesta

Camilaacevedo1
10

LINK DEL CODIGOhttps : / / onlinegdb.

Com / B1HEm9Ua7ES NECESARIO PONER LOS 16 DIGITOS, SI NO FUNCIONA REVISA QUE SEAN LOS 16 DIG.