C++在头文件中定义一个数据结构Book,成员包含书名,价格等,在源文件中调用,定义三种书籍的名称与价格,生成50本书销售记录(string数组存储销售书名),分别计算各书销售数量及总价
时间: 2024-09-09 12:03:28 浏览: 42
在C++中,你可以这样做:
首先,在`Book.h`头文件中定义一个数据结构(称为类)来表示书籍:
```cpp
// Book.h
#ifndef BOOK_H
#define BOOK_H
#include <string>
class Book {
public:
std::string title;
double price;
// 构造函数和析构函数(默认)
Book(const std::string& title, double price);
~Book();
};
#endif // BOOK_H
```
接下来,在`Book.cpp`中提供实现细节:
```cpp
// Book.cpp
#include "Book.h"
Book::Book(const std::string& title, double price) : title(title), price(price) {}
Book::~Book() {}
// 如果需要,可以在这里添加其他相关函数,比如打印信息、处理销售记录等
```
然后,在主程序文件(例如`main.cpp`)中,你可以创建三个具体的书籍实例并定义销售记录数组:
```cpp
// main.cpp
#include <iostream>
#include <string>
#include "Book.h"
#include "Book.cpp" // 需要包含头文件的实际内容,避免循环依赖
const int NUM_BOOKS = 50;
std::string bookNames[] = {"《Python入门》", "《C++ Primer》", "《算法导论》"};
double bookPrices[NUM_BOOKS] = {20.0, 35.0, 45.0}; // 假设这里分别是对应书籍的价格
int main() {
Book books[NUM_BOOKS];
for (int i = 0; i < NUM_BOOKS; ++i) {
books[i].title = bookNames[i];
books[i].price = bookPrices[i];
}
// 创建销售记录数组,并在此处处理数量统计和总价计算
std::string saleRecord[NUM_BOOKS];
// ... 实现对saleRecord数组的填充和销售数量统计
// 计算总价
double totalPrice = 0;
for (Book& book : books) {
totalPrice += book.price;
}
std::cout << "总价: " << totalPrice << std::endl;
return 0;
}
```
在这个例子中,你需要将`Book.cpp`中的内容包含进来以使用`Book`类。注意,通常不会在一个`.cpp`文件中直接定义其他`.cpp`文件的内容,而是遵循头文件包含原则,但在示例中为了简化演示,我们将其合并了。
阅读全文