Advertisement
bepisXDDD

getDouble c++

Oct 13th, 2020
1,634
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | None | 0 0
  1. double getDouble()
  2. {
  3.     char line[MAXBUFFER];   //buffer
  4.     char curChar = ' ';
  5.     double result;
  6.     int temp;
  7.     do {
  8.         line[MAXBUFFER - 1] = '\n';
  9.         fgets(line, MAXBUFFER - 1, stdin);
  10.         temp = sscanf(line, "%lf%c", &result, &curChar);
  11.         temp = !temp || temp < 0 || (curChar != '\n' && curChar != ' ');
  12.         if (temp)
  13.             printf("Error reading double value. Please, try input a double value again.\n");
  14.     } while (temp); //not a result, but a number of read values
  15.     if (line[MAXBUFFER - 1] != '\n') //clear garbage from console buffer
  16.         while ((curChar = getchar()) != '\n' && curChar != EOF);
  17.     return result;
  18. }
  19.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement