⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prog14_04.cpp

📁 一本语言类编程书籍
💻 CPP
字号:
// Program 14.4 Adding Box objects  File: prog14_04.cpp
#include <iostream>
#include <cstdlib>               // For random number generator
#include <ctime>                 // For time function
using std::cout;
using std::endl;

#include "Box.h"

// Function to generate random integers from 1 to count
inline int random(int count) {
  return 
      1+static_cast<int>(count* static_cast<double>(std::rand())/(RAND_MAX + 1.0));
}

// Display box dimensions
void show(const Box& aBox) {
  cout << endl
       << aBox.getLength() << " by " << aBox.getWidth() << " by " << aBox.getHeight();
}

int main() {
  const int dimLimit = 100;           // Upper limit on Box dimensions
  std::srand((unsigned)std::time(0)); // Initialize the random number generator

  const int boxCount = 20;            // Number of elements in Box array
  Box boxes[boxCount];                // Array of Box objects
  
  // Create 20 Box objects
  for(int i = 0 ; i < boxCount ; i++)
    boxes[i] = Box(random(dimLimit), random(dimLimit), random(dimLimit));

  int first = 0;                      // Index of first Box object of pair
  int second = 1;                     // Index of second Box object of pair
  double minVolume = (boxes[first] + boxes[second]).volume();

  for(int i = 0 ; i < boxCount - 1 ; i++)
    for(int j = i + 1 ; j < boxCount ; j++)
      if(boxes[i] + boxes[j] < minVolume)       {
        first = i;
        second = j;
        minVolume = (boxes[i] + boxes[j]).volume();
      }

  cout << "The objects that sum to the smallest volume are:";
  cout << endl << "boxes[" << first << "] ";
  show(boxes[first]);
  cout << endl << "boxes[" << second << "] ";
  show(boxes[second]);
  cout << endl << "Volume of the sum is " << minVolume << endl;

  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -