c++ primer plus 第七章《编程题7.13.7》

来源:互联网 发布:qq克隆软件 编辑:程序博客网 时间:2024/06/11 23:32
/* Enter value #1: 10000 Enter value #2: 8000 Enter value #3: 2000 Enter value #4: 10000 Enter value #5: -9 Value #1: 10000 Value #2: 8000 Value #3: 2000 Value #4: 10000 Enter ravalue #1: 0.8 Enter ravalue #2: .2 Enter ravalue #3: .1 Enter ravalue #4: .55 Value #1: 8000 Value #2: 1600 Value #3: 200 Value #4: 5500*/#include <iostream>using namespace std;double * Fill_array(double *, int);void Show_array(double *, double *);void Revalue_array(double *, double *);int main() {    const int SIZE = 6;    double a[SIZE];    double * pEnd = Fill_array(a, SIZE);    Show_array(a, pEnd);    Revalue_array(a, pEnd);    Show_array(a, pEnd);}double * Fill_array(double a[], int n) {    int i = 0;    double temp;    double * pEnd = a;    while (i < n) {        cout << "Enter value #" << i + 1 << ": ";        cin >> temp;        if (!cin) {      //  bad input            cin.clear();            while (cin.get() != '\n')                ;            cout << "Bad input, input process terminated.\n";            continue;        }        else if (temp < 0)            break;        a[i] = temp;        i++;        pEnd++;    }    return pEnd;}void Show_array(double a[], double * pEnd) {    int i = 0;    while (a < pEnd) {        cout << "Value #" << i + 1 << ": " << *a++ << "\n";        i++;    }}void Revalue_array(double a[], double * pEnd) {    int i = 0;    double temp;    while (a < pEnd) {        cout << "Enter ravalue #" << i + 1 << ": ";        if (!(cin >> temp)) {      //  bad input            cin.clear();            while (cin.get() != '\n')                ;            cout << "Bad input, input process terminated.\n";            continue;        }        *a *= temp;        i++;        a++;    }}
0 0