int main(void){ FILE *in; int i; /* Create file handle */ if((in = fopen(FILENAME, "r")) == NULL){ printf("Unable to open file '%s'\n", FILENAME); return 1; } /* Construct sum and current number lists */ list *sum = malloc(sizeof(list)); constructList(sum, LENGTH); list *currNum = malloc(sizeof(list)); constructList(currNum, LENGTH); /* Compute the large number by repetitively loading the numbers from file and adding to sum */ loadNumber(in, sum); for (i = 1; i < NUMBERS; i++) { loadNumber(in, currNum); addNumber(sum, currNum); } /* Print the first 10 digits of sum */ printNumber(sum); /* Deconstruct all constructs */ fclose(in); destructList(sum); free(sum); free(currNum); return 0; }
bool Number::loadNumber(const char* name, const char* fmt, int base /* = 0 */) { auto numberSeries = NumberSeries::create(); numberSeries->loadNumber(fmt, base); _numberContainer.insert(name, numberSeries); return true; }