C++ Primer Plus第六版编程练习9.1解答

golf.h

#ifndef GOLF_H_INCLUDED
#define GOLF_H_INCLUDED


const int Len=40;
struct golf
{
    char fullname[Len];
    int handicap;
};


//non-interactive version
void setgolf(golf & g, const char * name, int hc);


//interactive version
int setgolf(golf & g);
void handicap(golf & g, int hc);


void showgolf(const golf & g);


#endif // GOLF_H_INCLUDED

golf.cpp
#include <iostream>
#include "golf.h"
#include <cstring>


using namespace std;


//non-interactive version
void setgolf(golf & g, const char * name, int hc)
{
    strcpy(g.fullname,name);
    g.handicap=hc;
}


//interactive version
int setgolf(golf & g)
{
    cout<<"Please enter fullname:";
    cin.getline(g.fullname,Len);
    if(g.fullname[0]=='\0')
        return 0;
    else
    {
        cout<<"Please enter handicap:";
        cin>>g.handicap;
        cin.get();
    }
    return 1;
}


void handicap(golf & g, int hc)
{
    g.handicap=hc;
}


void showgolf(const golf & g)
{
    cout<<"fullname: "<<g.fullname<<endl;
    cout<<"handicap: "<<g.handicap<<endl;
    cout<<endl;
}

main.cpp
#include <iostream>
#include "golf.h"
#include <cstring>


const int ArSize=10;


using namespace std;


int main()
{
    golf ann;
    setgolf(ann,"Ann Birdfree",24);
    showgolf(ann);


    golf andy[ArSize];
    int i=0;
    while(i<ArSize)
    {
        if(!setgolf(andy[i]))
            break;
        i++;
    }
    i--;
    if(andy[i].fullname=="")
        handicap(andy[i],0);


    //输出team数组的内容
    cout<<endl;
    for(i=0; i<ArSize && strlen(andy[i].fullname)!=0; i++)
        showgolf(andy[i]);


    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值