1.
golf.h 頭文件
// golf.h -- for pe9.1
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 函數定義文件
#include "golf.h"
#include <iostream>
#include <cstring>
using namespace std;
//由題目提示,需要輸入名稱和handicap的值,直接將這兩個輸入參數賦給golf結構的相應變量
//name是char數組,所以需strcpy()函數來賦值,所以需要<cstring>頭文件
void setgolf(golf & g, const char * name, int hc){
strcpy(g.fullname, name);
g.handicap = hc;
}
//提示用戶輸入姓名和handicap值,賦給相應變量
int setgolf(golf & g){
cout << "Enter fullname of golf plyer: ";
cin.getline(g.fullname, Len);//char數組輸入
if (strcmp(g.fullname, "") == 0)
return 0;
cout << "Enter handicap of golf plyer: ";
cin >> g.handicap;
cin.get();//必須有,否則出錯
return 1;
}
//對handicap賦值
void handicap(golf & g, int hc){
g.handicap = hc;
}
//輸出內容
void showgolf(const golf & g){
cout << "Name: " << g.fullname << endl;
cout << "Handicap: " << g.handicap << endl;
}
play.cpp 測試執行文件
#include <iostream>
#include "golf.h"
using namespace std;
int main(){
golf a;
setgolf(a, "Li Ming", 10);
showgolf(a);
golf b[3];
int i = 0;
while ((i<3) && setgolf(b[i])) //當數組填滿或輸入的姓名爲空,循環結束
{
showgolf(b[i]);
cout << "Next golf: \n";
i++;
}
golf c;
setgolf(c, "Mao Mao", 50);
handicap(c, 60);
showgolf(c);
return 0;
}
2.暫
3.暫
4.
func.h 頭文件
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);
}
func.cpp
#include <iostream>
#include "func.h"
using namespace std;
namespace SALES
{
void setSales(Sales & s, const double ar[], int n)
{
//賦值
//根據題目,n小於4,則多餘的4-n個置0
if(n < 4)
{
for(int i=0; i<n; i++)
{
s.sales[i] = ar[i];
}
for(int j=n; j<4; j++)
{
s.sales[j] = 0;
}
}
else
{
for(int i=0; i<4; i++)
{
s.sales[i] = ar[i];
}
}
//求均值
s.average = (s.sales[0] + s.sales[1] + s.sales[2] + s.sales[3]) / 4;
//求最值
double max = 0;
double min = 100000000;
for(int i=0; i<4; i++)
{
if(s.sales[i] > max)
{
max = s.sales[i];
}
if(s.sales[i] < min)
{
min = s.sales[i];
}
}
s.max = max;
s.min = min;
}
void setSales(Sales & s)
{
cout << "Enter 4 quarters: \n";
for(int i=0; i<4; i++)
{
cout << "The #" << i+1 << "quarter is: ";
cin >> s.sales[i];
}
s.average = (s.sales[0] + s.sales[1] + s.sales[2] + s.sales[3]) / 4;
double max = 0;
double min = 100000000;
for(int i=0; i<4; i++)
{
if(s.sales[i] > max)
{
max = s.sales[i];
}
if(s.sales[i] < min)
{
min = s.sales[i];
}
}
s.max = max;
s.min = min;
}
void showSales(const Sales &s)
{
cout << "The 4 quarters are $" << s.sales[0] << ", $" << s.sales[1] << ", $" << s.sales[2] << ", $" << s.sales[3] << endl;
cout << "The average income is: $" << s.average <<endl;
cout << "The maximum income is: $" << s.max <<endl;
cout << "The minimum income is: $" << s.min <<endl;
}
}
sales.cpp
#include "func.h"
#include <iostream>
using namespace std;
using namespace SALES;
int main()
{
Sales s1;
cout << "The 1st sale's information: \n";
setSales(s1);
showSales(s1);
cout << endl << endl;
Sales s2;
cout << "The 2nd sale's information: \n";
double ar[2] = {1.1, 2.2};
setSales(s2, ar, 2);
showSales(s2);
return 0;
}