Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // BigReal.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <fstream>
- #include <ctype.h>
- const int mantis = 31;
- const int order = 6;
- struct BigReal
- {
- char sign;
- char m[mantis];
- char k[order];
- };
- bool readReal (BigReal& number, FILE* input)
- {
- char symbol;
- int i = 0;
- while (!feof (input))
- {
- char symbol;
- fread (&symbol, sizeof (char), 1, input);
- if (symbol != '+' || symbol != '-')
- return false;
- number.sign = symbol;
- do
- {
- fread (&symbol, sizeof (char), 1, input);
- } while (isspace (symbol));
- number.m[0] = symbol;
- for (i = 1; i < mantis; i++)
- {
- fread (&symbol, sizeof (char), 1, input);
- if (!isdigit (symbol))
- return false;
- if (isspace (symbol))
- break;
- number.m[i] = symbol;
- }
- do
- {
- fread (&symbol, sizeof (char), 1, input);
- } while (isspace (symbol));
- int max;
- if ((mantis - i) < order)
- max = mantis - i;
- else max = order;
- number.k[i] = symbol;
- for (i = 1; i < max; i++)
- {
- fread (&symbol, sizeof (char), 1, input);
- if (!isdigit (symbol))
- return false;
- if (isspace (symbol))
- break;
- number.k[i] = symbol;
- }
- return true;
- }
- }
- int main()
- {
- FILE* INfile = fopen ("in_file.txt", "r");
- BigReal a;
- readReal (a, INfile);
- printf ("%c%s.%s", a.sign, a.m, a.k);
- getchar ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement