24-07-2011, 02:35
Me tira un error muy grosero...
Les diría cual pero es el clasico: te cuelgo la pc y te tiro error de memoria y anda a llorar a la iglesia
No se que puede ser-.-'
Solamente estoy probando la funcion[/quote]
Les diría cual pero es el clasico: te cuelgo la pc y te tiro error de memoria y anda a llorar a la iglesia
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#define MAX 16
#define cantidadDigitos 16
int validarluhn(char *tarjetaNum);
int main(void){
int terminar=1;
int flag;
char *tarjetaNum;
printf("Usted va a probar el nuevo sistema de seguridad\r\n");
do{
printf("Ingrese la contraseña (16 digitos)\r\n");
fgets(tarjetaNum,MAX+1,stdin);
getchar();
flag = validarluhn(tarjetaNum);
}while(flag=0);
getch();
return(0);
}
int validarluhn(char *tarjetaNum){
int suma=0;
char digito;
int i;
int validacion;
for(i=0; i< cantidadDigitos; i++){
digito = tarjetaNum[i] - '0';
if((i%2)==0) {
digito = digito*2;
if (digito >= 10) {
digito = digito - 10 + 1;
}
}
suma += digito;
}
if(suma%10==0){
validacion = 1;
puts("Valor de tarjeta correcto\r\n");
}
else{
validacion = 0;
puts("Valor de tarjeta incorrecto\r\n");
}
return(validacion);
}
No se que puede ser-.-'
Solamente estoy probando la funcion[/quote]