1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
// Ch7_7.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
const int Max = 5;
double *fill_array(double *ar, int limit);
void show_array(double *ar,double *end);
void revalue(double r, double *ar,double *end);
using namespace std;
int main()
{
double properties[Max];
double *prop = &properties[0];
double *size = fill_array(prop, Max);
show_array(prop, size);
double factor;
if(size > 0)
{
cout << "Enter revaluation factor: ";
while(!(cin >> factor))
{
cin.clear();
while(cin.get() != '\n')
continue;
cout << "Bad input; Please enter a number: ";
}
}
revalue(factor, prop, size);
show_array(prop, size);
cin.get();
cin.get();
return 0;
}
double * fill_array(double *ar, int limit)
{
int i = 0;
double temp;
while(i < limit)
{
cout << "Enter value #" << ar << ": ";
cin >> temp;
if(!cin)
{
cin.clear();
while(cin.get() != '\n')
continue;
cout << "Bad input; input process terminated. \n";
break;
}
else if(temp < 0)
break;
*ar = temp;
i += 1;
}
return ar;
}
void show_array(double * ar, double *end)
{
using namespace std;
double *pt = ar;
for(;pt != end;*pt++)
{
cout << "property #" << ar << ": ";
cout << *ar << endl;
}
}
void revalue(double r, double *ar, double *end)
{
while (ar != end) // Also here
{
*ar *= r; // You are multiplying the value I hope this is right
ar++;
}
}
|