您的位置:首页 > 编程语言

第十章编程练习(4)

2016-02-03 00:22 363 查看
ff.h

#pragma once

#ifndef ff_H_

#define ff_H_

namespace SALES

{

 class  Sudio{

 private:

  static const int QUARTER = 4;

  struct Sales

  {

   double sales[QUARTER];

   double average;

   double max;

   double min;

  }sa;

 public:

  Sudio();

  ~Sudio();

  Sudio(const double ar[], int n);

  void showSales(int m);

  void show(int m)

  {

   for (int i = 0; i < m; i++)

    std::cout << "Array: " << sa.sales[i] << std::endl;

  }

 };

}

#endif

function.cpp

#include <iostream>
#include "ff.h"
static int m = 0;
namespace SALES {
Sudio ::~Sudio()
{
}
Sudio::Sudio(const double ar[], int n)
{
if (n < 0)
std::cout << "Error\n";
bool flag = false;
double temp = ar[0];
double late = ar[0];
double sum = 0.0;
if (n > 0 && n <= QUARTER)
{
m = n;
flag = true;
for (int i = 0; i < n; i++)
{
if (ar[i] > temp)
temp = ar[i];
else if (ar[i] < late)
late = ar[i];
sum += ar[i];
sa.sales[i] = ar[i];
}
}
if (flag)
{
sa.max = temp;
sa.min = late;
sa.average = sum / n;
}
else {
sa.max = 0;
sa.min = 0;
sa.average = 0;
}
}
Sudio::Sudio()
{
std::cout << "Please enter four digital: ";
for (int i = 0; i < 4; i++)
{
if (!(std::cin >> sa.sales[i]))
exit(EXIT_FAILURE);
}
double temp = sa.sales[0], late = sa.sales[0], sum = 0.0;
for (int i = 0; i < 4; i++)
{
if (sa.sales[i] > temp)
temp = sa.sales[i];
else if (sa.sales[i]<late)
{
late = sa.sales[i];
}
sum += sa.sales[i];
}
sa.max = temp;
sa.min = late;
sa.average = sum / 4;
}
void Sudio::showSales(int m)
{
std::cout << "MAX: " << sa.max << std::endl
<< "MIN: " << sa.min << std::endl
<< "Average: " << sa.average << std::endl;
if(m<=QUARTER)
show(m);
else {
std::cout << "Blank line!\n";
}
}
}
main.cpp
<pre class="cpp" name="code">#include <iostream>
#include "ff.h"
#include <cstdlib>
using namespace SALES;
int main()
{
double du[6] = { 1.1,1.2,1.3,1.4,1.5,1.6 };
int n = 5;
Sudio su;
su.showSales(4);
Sudio ss(du, n);
ss.showSales(n);
system("pause");
return 0;
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: