Заготовка (в наличии глюки и баги) :
#include
#include
void clear_input() { while ( getchar() != '\n' ) ; }
int input_double(double *result) {
int c;
double ip = 0, fp = 0, nfp = 1;
while (1) {
c = getchar();
if ( isdigit(c) ) {
ip = ip * 10 + (c - '0');
} else if (c == '.' || c == '\n') {
break;
} else {
clear_input();
return 0;
}
}
if (c == '\n') {
*result = ip;
return 1;
}
while (1) {
c = getchar();
if ( isdigit(c) ) {
fp = fp * 10 + (c - '0');
nfp *= 10;
} else if (c == '\n') {
break;
clear_input();
} else {
return 0;
}
}
*result = ip + (fp / nfp);
return 1;
}
int main(){
double l,g;
printf("* ");
while ( !input_double(&l) ) {
printf("error ");
}
printf("%f\n", l);
g=l*0.26;
printf("Gallоni=%f\n",g);
getchar();
return 0;
}
ЗЫ: "начинающий", ты для кого начинаешь то? Если для себя, то постарайся хоть немного сам разобраться.