sum up all integers from input text file

Bjarne Stroustrup “Programming Principles and Practice Using C++”
Chapter 10 Exercise 11
Using std_lib_facilities.h by Bjarne Stroustrup.

[code language=”cpp”]
// Philipp Siedler
// Bjarne Stroustrup’s PPP
// Chapter 10 Exercise 11

#include "std_lib_facilities.h"

void read(ifstream& _ist, double& _sum) {
char in;

while (true) {
if (_ist.eof()) {
break;
}
else {
_ist >> in;
if (isdigit(in)) {
_ist.unget();
double d;
_ist >> d;
_sum += d;
}
}
}
}

void calculate() {
double sum = 0;
ifstream ist{ "input/ch10_11_in.txt" };
read(ist, sum);
cout << sum << endl;
}

int main()
try {

calculate();
keep_window_open();
}
catch (exception& e) {
cout << e.what() << endl;
keep_window_open();
}
catch (…) {
cout << "Exiting" << endl;
keep_window_open();
}
[/code]

Output:
26
Please enter a character to exit
Input-File: ch10_11_in.txt
bears: 17 elephants 9 end

Leave a Reply