Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Problema con codigo en C] Algoritmo de Luhn
Autor Mensaje
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.565
Agradecimientos dados: 594
Agradecimientos: 2.490 en 411 posts
Registro en: Apr 2010
Mensaje: #1
[Problema con codigo en C] Algoritmo de Luhn Dudas y recomendaciones Informática I (Electrónica)
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 =(


#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 funcionConfused[/quote]

[Imagen: digitalizartransparent.png]
24-07-2011 02:35
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.762
Agradecimientos dados: 136
Agradecimientos: 381 en 132 posts
Registro en: May 2008
Mensaje: #2
RE: [Problema con codigo en C] Algoritmo de Luhn
estas poniendo en tarjetaNum los caracteres a pesar de que nunca le asignaste memoria.
Supogno que nunca vas a leer mas de 16 caracteres por lo que lo mas simple seria hacerlo un array estatico de 16 caracteres.

Bah, no acostumbro usar esto, pero supongo que fgets no te reserva la memoria no?
24-07-2011 04:08
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
lucho6 Sin conexión
Profesor del Modulo A
Sin estado :)
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 325
Agradecimientos dados: 5
Agradecimientos: 5 en 3 posts
Registro en: Nov 2008
Mensaje: #3
RE: [Problema con codigo en C] Algoritmo de Luhn
se eso q dice bruno, hacele malloc
24-07-2011 04:25
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 posts
Registro en: Aug 2010
Mensaje: #4
RE: [Problema con codigo en C] Algoritmo de Luhn
Yo haría un array también.. Nomás le pusiste que es un puntero a char; no sé, no me hace muy feliz eso. Si estás limitando a 16, yo le mandaría un array, y fue.

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
24-07-2011 13:53
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.565
Agradecimientos dados: 594
Agradecimientos: 2.490 en 411 posts
Registro en: Apr 2010
Mensaje: #5
RE: [Problema con codigo en C] Algoritmo de Luhn
isaaaaaaaaaaaaaaaaaaaaaaaa
Ahí anduvo =D

Le agregué: tarjetaNum = malloc(sizeof(char));
Gracias!=D, se suponía que en el programa entero yo ya mando el vector creado...-.-'

[Imagen: digitalizartransparent.png]
24-07-2011 14:10
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.762
Agradecimientos dados: 136
Agradecimientos: 381 en 132 posts
Registro en: May 2008
Mensaje: #6
RE: [Problema con codigo en C] Algoritmo de Luhn
Sigue estando mal y te va a fallar de forma random.
Eso serviria si la contraseña fuera de un solo char.
Vos queres que sea de MAX+1
Igual si no va a ser dinamico ese tamaño no te conviene hacerlo asi, sino que tarjeta num sea un char[MAX+1] y no meterte con memoria dinamica.
Tendrias que tener en cuenta si esta bien desechar todo lo que este dsp de los 16 caracteres si el tipo pone de mas.
24-07-2011 15:06
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.565
Agradecimientos dados: 594
Agradecimientos: 2.490 en 411 posts
Registro en: Apr 2010
Mensaje: #7
RE: [Problema con codigo en C] Algoritmo de Luhn
char *tarjetaNum[MAX+1]; (?)

[Imagen: digitalizartransparent.png]
24-07-2011 15:14
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.762
Agradecimientos dados: 136
Agradecimientos: 381 en 132 posts
Registro en: May 2008
Mensaje: #8
RE: [Problema con codigo en C] Algoritmo de Luhn
Si le pones el tamaño entre corchetes el puntero esta de mas.
Gracias por la reputacion positiva Feer.
(Este mensaje fue modificado por última vez en: 24-07-2011 15:20 por brunodiaz.)
24-07-2011 15:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
lucho6 Sin conexión
Profesor del Modulo A
Sin estado :)
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 325
Agradecimientos dados: 5
Agradecimientos: 5 en 3 posts
Registro en: Nov 2008
Mensaje: #9
RE: [Problema con codigo en C] Algoritmo de Luhn
char *tarjeta = malloc (1000) ; nunca falla
24-07-2011 15:22
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Feer Sin conexión
Presidente del CEIT
win-win
**********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 4.565
Agradecimientos dados: 594
Agradecimientos: 2.490 en 411 posts
Registro en: Apr 2010
Mensaje: #10
RE: [Problema con codigo en C] Algoritmo de Luhn
(24-07-2011 15:18)brunodiaz escribió:  Si le pones el tamaño entre corchetes el puntero esta de mas.
Gracias por la reputacion positiva Feer.

(24-07-2011 15:22)lucho6 escribió:  char *tarjeta = malloc (1000) ; nunca falla

Gracias=D=D=D
Voy a ver si con tiempo me armbo algunas funciones para encriptar y para estas validaciones:b
Aunque después no me sirvan para mucho (en electrónica) ajaja

[Imagen: digitalizartransparent.png]
24-07-2011 15:25
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.