[renommé] algorithme de luhn vb.net
liver13
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
je traite un exercice sur la verification des carte bancaire en effet il faille que je passe par l'algorithme de luhn.
mon hic ! je le trouve seulement en php or moi je travail en visual basic puis je avoir la traduction du code source php en code source visual basic
merci pour votre sincere reponse
voici le code
S'il vous plait... Merci d'avance..!?
mon hic ! je le trouve seulement en php or moi je travail en visual basic puis je avoir la traduction du code source php en code source visual basic
merci pour votre sincere reponse
voici le code
<?php
@param string $num
/
function test_cb($num){
if(strlen($num) == 16){ // 16 caractères
// Séparation de tous les caractères
$c = array();
for($i=0; $i<16; $i++){
if(is_numeric(substr($num,$i,1))){ // Uniquement des chiffres
$c[$i] = substr($num,$i,1);
}else{
return false;
}
}
// Contrôle
$m1 = 0;
for($i=0; $i<16; $i++){
if(($i%2)==0){
$x = $c[$i]*2;
if($x>9){
$m1 += $x-9;
}else{
$m1 += $x;
}
}else{
$m1 += $c[$i];
}
}
if(($m1%10)!=0){ // Doit être multiple de 10
return false;
}
// Pas d'erreur
return true;
}else{
return false;
}
}
S'il vous plait... Merci d'avance..!?
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- [renommé] algorithme de luhn vb.net
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Algorithme application pc - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
4 réponses
Bonjour.
Merci de prendre en compte que tous les intervenants sont bénévoles.
Nous sommes là pour aider oui, mais faire le travail de recherche à ta place non.
Cet algorithme est décrit en français, puis un algorithme est proposé sur Wikipedia. (Entre autres).
C'est quand même un qui arrive en tête des recherches quelques soit le moteur utlisé.
Je te propose donc d'aller lire l'article, de tenter de traduire en VB.Net, et si tu n'y arrives pas de le poster ici, en utilisant la coloration syntaxique (voir la procédure ici), ce qui rend le code facile à lire (contrairement à celui que tu as posté) et donc augmentera tes chances qu'un bénévole s'intéresse à ton problème.
Merci de prendre en compte que tous les intervenants sont bénévoles.
Nous sommes là pour aider oui, mais faire le travail de recherche à ta place non.
Cet algorithme est décrit en français, puis un algorithme est proposé sur Wikipedia. (Entre autres).
C'est quand même un qui arrive en tête des recherches quelques soit le moteur utlisé.
Je te propose donc d'aller lire l'article, de tenter de traduire en VB.Net, et si tu n'y arrives pas de le poster ici, en utilisant la coloration syntaxique (voir la procédure ici), ce qui rend le code facile à lire (contrairement à celui que tu as posté) et donc augmentera tes chances qu'un bénévole s'intéresse à ton problème.
<?php
@param string $num
/
function test_cb($num){
if(strlen($num) == 16){ // 16 caractères
// Séparation de tous les caractères
$c = array();
for($i=0; $i<16; $i++){
if(is_numeric(substr($num,$i,1))){ // Uniquement des chiffres
$c[$i] = substr($num,$i,1);
}else{
return false;
}
}
// Contrôle
$m1 = 0;
for($i=0; $i<16; $i++){
if(($i%2)==0){
$x = $c[$i]*2;
if($x>9){
$m1 += $x-9;
}else{
$m1 += $x;
}
}else{
$m1 += $c[$i];
}
}
if(($m1%10)!=0){ // Doit être multiple de 10
return false;
}
// Pas d'erreur
return true;
}else{
return false;
}
}
@param string $num
/
function test_cb($num){
if(strlen($num) == 16){ // 16 caractères
// Séparation de tous les caractères
$c = array();
for($i=0; $i<16; $i++){
if(is_numeric(substr($num,$i,1))){ // Uniquement des chiffres
$c[$i] = substr($num,$i,1);
}else{
return false;
}
}
// Contrôle
$m1 = 0;
for($i=0; $i<16; $i++){
if(($i%2)==0){
$x = $c[$i]*2;
if($x>9){
$m1 += $x-9;
}else{
$m1 += $x;
}
}else{
$m1 += $c[$i];
}
}
if(($m1%10)!=0){ // Doit être multiple de 10
return false;
}
// Pas d'erreur
return true;
}else{
return false;
}
}