Validador de cartão de crédito


Autor/fonte: Djames Suhanko
E-mail/Url: http://www.vivaolinux.com.br/scripts/verScript.php?codigo=1672
Tags: [ validação de cc ]



Digg del.icio.us

Um validador mais ou menos pra validar cartão de crédito. Leia o código online para copiar os cabeçalhos.

Script:

#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 == '.' || lercartao == '-')
            {
            i=i+1;
            }
         cartaolimpo[a] = lercartao-48;
         a = a+1;
         }
        }

//multiplica posicao impar , soma aos demais numeros e valida
multi(){
     for (i=0;i<15;i++)
      {
      acum=cartaolimpo*2;
      if (acum >9)
         {
         acum=acum-9;
         }
      total=total+acum;
      i=i+1;
      }
   for (i=1;i<16;i++)
      {
      total=total+cartaolimpo;
      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);
            }
            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");
      }
   }
*/




Enviado por xKuRt em 28/12/2007 às 10:32


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Terça, 30 de Setembro de 2014




Top 5 membros

Últimos membros online

  • 1em 30/09 às 07:14
  • kelexem 24/09 às 09:55
  • xKuRtem 23/09 às 20:00

Últimos membros cadastrados



Capa do livro
PHP para Quem Conhece PHP


Capa do livro
Aplicativos Web Pro Android: Desenvolvimento Pro Android Usando HTML5, CSS3 e JavaScript


Capa do livro
PHP para Quem Conhece PHP





Hostnet

IMD