Validador de Cartão de Credito
Publicado por Djames Suhanko 29/01/2006
[ Hits: 18.745 ]
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");
}
}
*/
Conta e substitui caracteres de uma frase
Ordenar vetor com algoritmo Insertion Sort
Barra de carregamento (Loading Bar)
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6
É normal não gostar de KDE? (21)
Servidor para arquivos e banco de dados (4)
780 mil usuários do Janelas baIxaram Linux em um mês (4)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (12)









