1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| static float lireReel(float min,float max ){
return lireReelMess(min, max, "_silent_") ;
}
static float lireReelMess(float min,float max,const char* invite ){
int cr ;
bool fini ;
float n ;
char buf[256] ;
fini = false ;
while ( !fini ){
assert (min <= max) ;
if ( 0 == strcmp(invite,"") )
(void)printf ( "Entrer un nombre rÈel compris entre %.2f et %.2f\n",min, max ) ;
else if ( 0 != strcmp(invite,"_silent_") )
(void)printf ( "%s",invite ) ;
assert ( buf == fgets(buf,sizeof(buf),stdin) ) ;
cr = sscanf(buf,"%f",&n) ;
if ( cr != 1 || n < min || n > max ) {
(void)printf("Saisie incorrecte, recommencez!\n") ;
(void)printf ( "Entrer un nombre rÈel compris entre %.2f et %.2f\n",min, max ) ;
}
else
fini = true ;
}
assert ( min <= n && n <= max ) ;
return n ; |
Partager