[c] verif bancaire
perdu
-
tatou_38 Messages postés 1220 Date d'inscription Statut Membre Dernière intervention -
tatou_38 Messages postés 1220 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
pour vérifier la validité d'un compte bancaire, il faut regarder si le reste de la division (modulo%97) des 10 premier chiffres est égale au deux dernier chiffres!
XXXXXXXXXX-XX
mon programme ne fonctionne pas!
pour vérifier la validité d'un compte bancaire, il faut regarder si le reste de la division (modulo%97) des 10 premier chiffres est égale au deux dernier chiffres!
XXXXXXXXXX-XX
mon programme ne fonctionne pas!
#include <stdio.h>
#include<stdlib.h>
void main (void)
{
long nonmbre1,reste;
short nombre2;
;
do
{
printf("entrez les 10 premiers chiffres de votre compte bancaire\n\t");
scanf("%l",&nombre1);
printf("entrez les deux derniers chiffres de votre compte bancaire\n\t");
scanf("%hd",&nombre2);
}while ( nombre1 >99999 && nombre2>9)
reste= nombre1%97;
if(reste == nombre2)
{
printf(" le compte bancaire est valide\n");
}
else
{
printf(" le compte bancaire est invalide\n");
}
}
Configuration: Windows XP Firefox 2.0.0.11
3 réponses
-
long nonmbre1,reste;
short nombre2;
;
tu as un point virgule qui est en trop en dessous de la déclaration du short normalement c'est ca qui bloque -
c'est une faute de frappe mais ce n'est pas ça qui bloque!
#include <stdio.h> #include<stdlib.h> void main (void) { long nombre1,reste; short nombre2; do { printf("entrez les 10 premiers chiffres de votre compte bancaire\n\t"); scanf("%l",&nombre1); }while ( nombre1 >99999); do { printf("entrez les deux derniers chiffres de votre compte bancaire\n\t"); scanf("%hd",&nombre2); }while(nombre2>9); reste= nombre1%97; if(reste == nombre2) { printf(" le compte bancaire est valide\n"); } else { printf(" le compte bancaire est invalide\n"); } } -
Ton problème est d'un autre ordre.
En C, un entier long est sur 32 bits. Donc en non signé, tu peux représenter des nombres de 0 à 4294967296, soient maximum 8 chiffres !
Il te faut faire de l'arithmétique 64 bits, tout simplement !