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 29 30 31 32 33 34 35 36 37
|
int choix;
float fr=0;
float eu=0;
int vir_lu=0;
int nb_after_vir=0;
int nb_lu=0;
int err;
regex_t preg;
int match;
char *str_regex="[:digit:]";
int buf_touche_int=0;
char buf_touche[64];
int touche=0;
err=regcomp(&preg,str_regex,REG_NOSUB | REG_EXTENDED);
if (err==0){
do{
touche=getch();
sprintf(buf_touche,"%d",touche);
sscanf(buf_touche,"%d",&buf_touche_int);
match=regexec(&preg,buf_touche,0,NULL,0);
if(match==0){
if(vir_lu==0){
fr=(fr*10)+(buf_touche_int/10);
}else{
fr=((fr*pow(10,nb_after_vir))+(buf_touche_int/10))/pow(10,nb_after_vir+1);
nb_after_vir++;
}
}else{
if(buf_touche_int=='.' && vir_lu==0){
vir_lu=1;
}
}
}while(touche!=ESCAPE && touche!=KEY_F(1) && touche!=KEY_F(2) && touche!=ENTER);
regfree(&preg);
printw("\n%f",fr); |
Partager