[c] verif bancaire

perdu -  
tatou_38 Messages postés 1937 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!

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

	}
	
}
A voir également:

3 réponses

wolveryne Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
perdu
 
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");

	}
	
}
0
tatou_38 Messages postés 1937 Date d'inscription   Statut Membre Dernière intervention   121
 
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 !
0