C++ Book 类实现及测试:图书信息管理

本文将介绍如何用 C++ 实现一个 Book 类,用于管理图书信息。该类包含图书编号、名称和存书量,并提供相应的成员函数用于操作这些数据。同时,我们将编写测试程序来验证类的功能。

Book 类结构

数据成员:

  • ID (私有,string):图书编号
  • name (私有,string):图书名称
  • num (私有,int):存书量

成员函数:

  • 构造函数: Book(string value1 = '000', string value2 = 'book', int value3 = 0)

    • 功能:初始化图书信息。
    • 参数:
      • value1: 图书编号,默认值为 '000'。
      • value2: 图书名称,默认值为 'book'。
      • value3: 存书量,默认值为 0。
  • void setID(string value): 设置图书编号。

  • void setName(string value): 设置图书名称。

  • void setNum(int value): 设置存书量。

  • string getID(void): 获取图书编号。

  • string getName(void): 获取图书名称。

  • int getNum(void): 获取存书量。

  • void display(void) const: 显示图书信息到控制台,格式为:编号-名称-存书量。

测试程序

测试程序将创建一个 Book 类的对象数组,并从键盘输入数据存储到数组中。然后,程序将查找数组中存书量最少的图书,并输出所有存书量最少的图书的信息。

代码实现

#include <iostream>
#include <string>
using namespace std;

class Book {
public:
    Book(string value1 = '000', string value2 = 'book', int value3 = 0) {
        ID = value1;
        name = value2;
        num = value3;
    }
    void setID(string value) { ID = value; }
    void setName(string value) { name = value; }
    void setNum(int value) { num = value; }
    string getID(void) { return ID; }
    string getName(void) { return name; }
    int getNum(void) { return num; }
    void display(void) const { cout << ID << '-' << name << '-' << num << endl; }
private:
    string ID, name;
    int num;
};

void in(Book book[], int n) {
    string id, name;
    int num;
    for (int i = 0; i < n; i++) {
        cin >> id >> name >> num;
        book[i] = Book(id, name, num);
    }
}

int findMin(Book book[], int n) {
    int minNum = book[0].getNum();
    for (int i = 1; i < n; i++) {
        if (book[i].getNum() < minNum) {
            minNum = book[i].getNum();
        }
    }
    return minNum;
}

void outmin(Book book[], int n, int minNum) {
    for (int i = 0; i < n; i++) {
        if (book[i].getNum() == minNum) {
            book[i].display();
        }
    }
}

int main(void) {
    Book book[4];
    int minNum = 0;
    in(book, 4);
    minNum = findMin(book, 4);
    outmin(book, 4, minNum);
    return 0;
}

输入样例

001 C语言程序设计 38
002 面向对象系统分析 114
003 数据结构 38
004 统一建模语言 91

输出样例

001-C语言程序设计-38
003-数据结构-38

总结

通过以上步骤,我们实现了 Book 类,并编写了测试程序来验证其功能。该类可以用于管理图书信息,并进行相关的操作,例如输入、查找、输出等。

C++ Book 类实现及测试:图书信息管理

原文地址: https://www.cveoy.top/t/topic/osIU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录