本文只代表自己观点。当作学习记录:
题目描述 头文件中包含命名空间,第二个文件是cpp文件,是对命名空间的
扩展。有setScale(Sales &s, const double ar[], int n);和setScale(Sales &s);函数。及显示函数showScale(const Sales &s);
代码:
corrdin.h
#pragma once
#ifndef COORDIN_H_
#define COORDIN_H_
namespace SALES
{
const int QUARTERS = 4;
struct Sales
{
double sales[QUARTERS];
double average;
double max;
double min;
};
void setScale(Sales &s, const double ar[], int n);
void setScale(Sales &s);
void showScale(const Sales &s);
}
#endif // !COORDIN_H_
coordin.cpp
#include "coordin.h"
#include <iostream>
#include <math.h>
#include <cstring>
using namespace std;
namespace SALES
{
void setScale(Sales &s, const double ar[], int n)
{
if (n > 4)
{
return;
}
double sum = 0;
double d_max = ar[0];
double d_min = ar[0];
for (int i = 0; i < n; ++i)
{
s.sales[i] = ar[i];
sum += ar[i];
if (ar[i] > d_max)
{
d_max = ar[i];
}
if (ar[i] < d_min)
{
d_min = ar[i];
}
}
s.average = double(sum / n);
s.max = d_max;
s.min = d_min;
}
void setScale(Sales &s)
{
cout << "please input four double numbers :";
cin >> s.sales[0] >> s.sales[1] >> s.sales[2] >> s.sales[3];
double sum = 0;
double d_max = s.sales[0];
double d_min = s.sales[0];
for (int i = 0; i < 4; ++i)
{
sum += s.sales[i];
if (s.sales[i] > d_max)
{
d_max = s.sales[i];
}
if (s.sales[i] < d_min)
{
d_min = s.sales[i];
}
}
s.average = double(sum / 4);
s.max = d_max;
s.min = d_min;
}
void showScale(const Sales &s)
{
cout << "Sales :\n";
cout << "value = " << s.sales[0] << "," << s.sales[1] << "," << s.sales[2] << "," << s.sales[3] << endl;
cout << "advange = " << s.average << " max = " << s.max << " min = " << s.min << endl;
}
}
main.cpp
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include "coordin.h"
using namespace std;
using namespace SALES;
int main()
{
Sales s;
double nums[4] = { 2.5,1.3,4.2,3.7 };
setScale(s, nums, 4);
showScale(s);
Sales s1;
setScale(s1);
showScale(s1);
return 0;
}
效果: