64,654
社区成员
发帖
与我相关
我的任务
分享
//sales.h
#ifndef SALES_H_
#define SALES_H_
namespace SALES
{
const int QUARTERS = 4;
struct Sales
{
double sales[QUARTERS];
double average;
double max;
double min;
};
// copies the lesser of 4 or n items from the array ar
// to the sales member of s and computes and stores the
// average, maximum, and minmum values of the entered items;
// remaining elements of sales, if any, set to 0
void setSales(Sales & s, const double ar[], int n);
// gathers sales for 4 quarters integeractively, stores them
// in the sales member of s and computes and stores the
// average, maximum, and minmum values
void setSales(Sales & s);
// display all information in structure s
void showSales(const Sales & s);
}
#endif
// sales.cpp
#include <iostream>
#include "sales.h"
void SALES::setSales(Sales & s, const double ar[], int n)
{
double sum = 0.;
s.sales[0] = ar[0];
s.max = s.sales[0];
s.min = s.sales[0];
sum += s.sales[0];
for(int i = 1; i < n; i++)
{
s.sales[i] = ar[i];
sum += s.sales[i];
if(s.max < s.sales[i])
s.max = s.sales[i];
else if(s.min > s.sales[i])
s.min = s.sales[i];
}
s.average = sum / n;
}
void SALES::setSales(Sales & s)
{
using std::cout;
using std::cin;
using std::endl;
for(int i = 0; i < SALES::QUARTERS; i++)
{
cout << "Enter number: ";
cin >> s.sales[i];
}
double sum = 0.;
s.max = s.sales[0];
s.min = s.sales[0];
sum += s.sales[0];
for(int i = 1; i < SALES::QUARTERS; i++)
{
sum += s.sales[i];
if(s.max < s.sales[i])
s.max = s.sales[i];
else if(s.min > s.sales[i]);
s.min = s.sales[i];
}
s.average = sum / SALES::QUARTERS;
}
void SALES::showSales(const Sales & s)
{
using std::cout;
using std::endl;
cout << "Sales:" << endl;
for(int i = 0; i < SALES::QUARTERS; i++)
cout << s.sales[i] << "\t";
cout << "Average: " << s.average << endl;
cout << "Max: " << s.max << endl; // 这里显示Max和Min是一样的
cout << "Min: " << s.min << endl;
}
// main.cpp
#include <iostream>
#include "sales.h"
int main()
{
SALES::Sales dat1, dat2;
double ar[4] = {3.2, 4.8, 5.2, 6.3};
SALES::setSales(dat1, ar, 4);
SALES::setSales(dat2);
std::cout << "Sales 1: " << std::endl;
showSales(dat1);
std::cout << "Sales 2: " << std::endl;
showSales(dat2);
return 0;
}