Validador de Cartão de Credito

Publicado por Djames Suhanko 29/01/2006

[ Hits: 16.566 ]

Homepage: http://phantomclone.com

Download cartao.c




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

  



Esconder código-fonte

#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");
      }
   }
*/

Scripts recomendados

Biblioteca do Calculo do Retangulo em C++

Processo em background

Agenda de Contatos v1.0

Conversão do número de dias em anos (meu segundo programa em C)

Trabalhando com argumentos e ponteiros


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts