cin returns fail on trying to read double value.
please help me find the bug.
Code:#include<iostream> #include<array> using namespace std; const int MAX = 10; void read_donations(array<double, MAX>& a, int& count); int main() { array<double, MAX> donations; int count; read_donations(donations, count); double sum = 0; int i; for (i = 0; i < count; ++i) { sum += donations[i]; } double average = sum / count; cout << "average is " << average << endl; int larger=0; for (i = 0; i < count; i++) { if (donations[i]>average) ++larger; } cout << larger << " elements are larger than the average.\n"; } void read_donations(array<double, MAX>& a,int& count) { int i = 0; count = 0; cout << "element 1: "; while ((i<a.size())&&!(cin >> a[i])) { ++i; ++count; cout << "element " << i + 1 << ": "; } if (count != MAX) cout << "read only upto " << count << " elements.\n"; else cout << "all elements read.\n"; }