golf.hpp
//golf.hpp
const int len=40;
struct golf
{
char fullname[len];
int handicap;
};
void setgolf(golf & g, const char * name, int hc);
int setgolf(golf & g);
void handicap(golf & g, int hc);
void showgolf(const golf & g);
golf.cpp
//golf.cpp
#include "golf.hpp"
#include <iostream>
using namespace std;
void setgolf(golf & g, const char * name, int hc)
{
strcpy(g.fullname, name);
g.handicap=hc;
}
int setgolf(golf & g)
{
char name[len];
cout<<"Please enter your name: ";
cin.getline(name,len);
if(strcmp(name,"")==0)
return 0;
else
{
strcpy(g.fullname,name);
cout<<"Please enter the handicap: ";
cin>>g.handicap;
cin.get();
return 1;
}
golf.main.cpp
//golf.main.cpp
#include "golf.hpp"
#include <iostream>
using namespace std;
const int N=3;
int main()
{
golf g1[N];
int count=0;
for(int i=0;i<N;i++)
{
if(!setgolf(g1[i]))
break;
else
count++;
}
for(int i=0;i<count;i++)
{
showgolf(g1[i]);
}
handicap(g1[0], 5);
for(int i=0;i<count;i++)
{
showgolf(g1[i]);
}
}
// static.cpp -- using a static local variable
#include <iostream>
// constants
using namespace std;
// function prototype
void strcount(const string str);
int main()
{
string input;
cout << "Enter a line:\n";
getline(cin, input);
while (cin)
{
strcount(input);
if (input=="")
break; // dispose of remainder
cout << "Enter next line (empty line to quit):\n";
getline(cin, input);
}
cout << "Bye\n";
return 0;
}
void strcount(const string str)
{
static int total = 0;
int count = 0;
cout << "\"" << str <<"\" contains ";
while(str[count])
count++;
total += count;
cout << count << " characters\n";
cout << total << " characters total\n";
}
#include <iostream>
using namespace std;
const int N=2;
const int len=20;
struct chaff
{
char dross[len];
int slag;
};
chaff buffer[N];
int main()
{
char temp_dross[len];
chaff *p1=new (buffer)chaff[N];
for(int i=0;i<N;i++)
{
cout<<"Enter the dross: ";
cin.getline(temp_dross,len);
strcpy(p1[i].dross,temp_dross);
cout<<"Enter the slag: ";
cin>>p1[i].slag;
cin.get();
}
for(int i=0;i<N;i++)
{
cout<<"#"<<i+1<<": "
<<p1[i].dross<<", "<<p1[i].slag<<endl;
}
delete [] p1;
}
sales.hpp
//sales.hpp
namespace Sales
{
const int quarters=4;
struct sales
{
double sales[quarters];
double average;
double max;
double min;
};
void setsales(sales & s, const double ar[], int n);
void setsales(sales & s);
void showsales(const sales & s);
}
saless.cpp
#include "sales.hpp"
#include <iostream>
namespace Sales
{
void setsales(sales & s, const double ar[], int n)
{
int size=quarters<n?quarters:n;
s.average=0;
s.max=ar[0];
s.min=ar[0];
for(int i=0;i<size;i++)
{
s.sales[i]=ar[i];
if(ar[i]>s.max) s.max=ar[i];
if(ar[i]<s.min) s.min=ar[i];
s.average+=ar[i];
}
if(quarters>n)
{
for(int i=n;i<quarters;i++)
s.sales[i]=0;
}
else
{
for(int i=quarters;i<n;i++)
s.sales[i]=0;
}
s.average/=size;
}
void setsales(sales & s)
{
using namespace std;
double average=0;
double max=s.sales[0];
double min=s.sales[0];
cout<<"Please enter the value of sales: ";
for(int i=0;i<quarters;i++)
{
cin>>s.sales[i];
if(s.sales[i]>max) max=s.sales[i];
if(s.sales[i]<min) min=s.sales[i];
average+=s.sales[i];
}
s.average/=average/4;
s.max=max;
s.min=min;
}
void showsales(const sales & s)
{
using namespace std;
for(int i=0;i<quarters;i++)
cout<<"#"<<i+1<<": "<<s.sales[i]
<<endl;
cout<<"The maximum sales is "<<s.max<<endl;
cout<<"The minimum sales is "<<s.min<<endl;
cout<<"The average sales is "<<s.average<<endl;
}
}
salesm.cpp
#include <iostream>
#include "sales.hpp"
using namespace std;
int main()
{
using namespace Sales;
sales ss[2];
setsales(ss[0]);
showsales(ss[0]);
double arr[4]={433.3,34.25};
setsales(ss[1], arr, 2);
showsales(ss[1]);
}
根据结果来看此题答案有误,先放在这里,以后来改。