C++primer plus 6th 第7章7.7编程答案

#include <iostream>
using namespace std;
double * fill_array(double  * ar,double * br);
void show_array(const double *ar,double *br);
void revalue (double r,double * ar,double *br);
const int size=5;
int main() {
    double propertier[size];
    double *ptr;
    ptr=fill_array(propertier,propertier+size);
    show_array(propertier,ptr);
    if((ptr-propertier)>0)
    {
        cout<<"Enter revaluation factor: ";
        double factor;
        while(!(cin>>factor))
        {
            cin.clear();
            while(cin.get()!='\n')
                continue;
            cout<<"Bad input ;Please enter anumber: ";
        }
        revalue(factor,propertier,ptr);
        show_array(propertier,ptr);
    }
    cout<<"Done!\n";
    return 0;
}
double * fill_array(double  * ar,double * br)
{
    double temp;
    int i;
    for(i=0;i<br-ar;++i)
    {
        cout<<"Enter value #"<<i+1<<": ";
        cin>>temp;
        if(!cin)
        {
            cin.clear();
            while(cin.get()!='\n')
                continue;
            cout<<"Bad input; input process terminated.\n";
            break;
        }
        if(temp<0)
            break;
        ar[i]=temp;
    }
    return ar+i;
}
void show_array(const double *ar,double *br)
{
    for(int i=0;i<br-ar;++i)
    {
        cout<<"Property #"<<i+1<<": $";
        cout<<ar[i]<<endl;
    }
}
void revalue (double r,double * ar,double *br)
{
    for(int i=0;i<br-ar;++i)
        ar[i]*=r;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值