/*
8. Write a program that reads and stores a series of integers and then 
computes the sum of the first N integers. First ask for N, then read 
the values into a vector, then calculate the sum of the first
N values. For example:
“Please enter the number of values you want to sum:”
3
“Please enter some integers (press '|' to stop):”
12 23 13 24 15 |
“The sum of the first 3 numbers ( 12 23 13 ) is 48.”
Handle all inputs. For example, make sure to give an error message if 
the user asks for a sum of more numbers than there are in the vector.
*/

#include "std_lib_facilities.h"

int sumOfN(vector<int>, int);

int main() {
	int N{ 0 }, n{ 0 };
	vector<int> vInts;
	do {
		vInts.clear();
		cout << "Enter the number of ints to add ('\' to quit): ";
		cin >> N;
		while (cin >> n) {
			vInts.push_back(n);
		}
		cin.clear();
		cin.ignore(100, '\n');
		cout << "The sum of the first " << N << " ints is " << sumOfN(vInts, N) << '\n';
	} while (1);
}

//precondition: N>=v.size();
int sumOfN(vector<int> v, int N) {
	if (!(v.size() >= N)) error("v too small for that.");
	int sum{ 0 };
	for (int i = 0; i < N; ++i)
		sum += v[i];
	return sum;
}