Validador de Cartão de Credito
Publicado por Djames Suhanko 29/01/2006
[ Hits: 16.566 ]
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"); } } */
Biblioteca do Calculo do Retangulo em C++
Conversão do número de dias em anos (meu segundo programa em C)
Trabalhando com argumentos e ponteiros
Nenhum comentário foi encontrado.
Rodando um aplicativo em modo Kiosk no Ubuntu Linux 20.04
Instalação do Gentoo em HD Externo para dual boot com Windows
Instalação do OCS Inventory (última versão, 2.9.2 - 2022) no Debian 11
VOIP - Interceptando tráfego de pacotes
Sistemas de proteção de acesso a dados do seu HD, será efetivo?
Arduino IDE não reconhece portas USB no Ubuntu 22.04
Passando parâmetros do cliente SSH para o GIT
Auto indentar linhas selecionadas no Vim
Som estourado ou falhando na Steam com Proton
Habilitando a compilação JIT (Just In Time) para o PHP8 no Ubuntu
Contar numero de arquivos que tem em um diretório específico (4)
Como mover apenas *arquivos* (2)
O quão código fechado é o windows? (0)