Validador de Cartão de Credito
Publicado por Djames Suhanko 29/01/2006
[ Hits: 18.708 ]
Homepage: http://phantomclone.com
Um validador mais ou menos pra validar cartão de crédito. Leia o código online para copiar os cabeçalhos.
#include <stdio.h>
#include "banco.h"
#include "tipo.h"
// Criado por: Djames Suhanko
//os cabeçalhos estão na parte de baixo do codigo
// Funcao para ler o cartao
digcart() {
printf("Digite seu cartao (1234-1234-1234-1234 ou 1234123412341234)\nCartao: >> ");
fflush(NULL);
scanf("%s",&lercartao);
printf("\e[H\e[2J");
}
//converter para numerico e remover caracteres nao-numericos
convform() {
int a=0;
for (i=0; i<20;i++)
{
if (lercartao[i] == '.' || lercartao[i] == '-')
{
i=i+1;
}
cartaolimpo[a] = lercartao[i]-48;
a = a+1;
}
}
//multiplica posicao impar , soma aos demais numeros e valida
multi(){
for (i=0;i<15;i++)
{
acum=cartaolimpo[i]*2;
if (acum >9)
{
acum=acum-9;
}
total=total+acum;
i=i+1;
}
for (i=1;i<16;i++)
{
total=total+cartaolimpo[i];
i=i+1;
}
int modulo;
modulo=total%10;
if (modulo == 0)
{
if (total<150)
{
printf("Cartao: ");
for (i=0;i<16;i++)
{
if (i == 4 || i == 8 || i == 12 )
{
printf(" ");
}
printf("%d",cartaolimpo[i]);
}
printf("\n");
printf("Numero valido\n\n");
}
}
else
{
printf("Cartao Invalido\n\n");;
}
}
main()
{
digcart();
convform();
multi();
tipo();
//banco();
return (0);
}
//banco.h
/*
char lercartao[17];
int cartaolimpo[19];
int total, acum;
int i;
int CityBank[20]={4, 1, 2, 8, 4, 0, 1, 3, 4, 2, 7, 1, 4, 5, 5, 6};
int Bradesco[10]={4, 0, 9, 6, 4, 5, 5, 1};
int Real[6]={4, 9, 1, 6};
banco(){
printf("");
}
*/
//tipo.h
/*
tipo(){
// identifica o tipo do cartao
if (cartaolimpo[0] == 3)
{
printf("Tipo: American Express\n");
}
else if (cartaolimpo[0] == 4)
{
printf("Tipo: VISA\n");
}
else if (cartaolimpo[0] == 5)
{
printf("Tipo: MasterCard\n");
}
else if (cartaolimpo[0] == 6)
{
printf("Tipo: Discover\n");
}
else
{
printf("Operadora invalida\n");
}
}
*/
Problema de Equação do Primeiro Grau
CALCULADORA DO IMC (VERSÃO C++)
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









