用c++ list容器以文件的方式记录每一条书店入库的数据
时间: 2024-02-13 17:07:29 浏览: 29
好的,下面是使用C++的list容器以文件的方式记录每一条书店入库的数据的示例代码:
```cpp
#include <iostream>
#include <list>
#include <fstream>
using namespace std;
struct Book {
string title;
string author;
int year;
double price;
};
int main() {
list<Book> books; // 创建一个存储书籍信息的list容器
int n; // 书店入库记录的数量
cout << "请输入书店入库记录的数量:";
cin >> n;
// 向list中添加书籍信息
for (int i = 1; i <= n; i++) {
Book book;
cout << "请输入第" << i << "本书籍的信息:" << endl;
cout << "书名:";
cin >> book.title;
cout << "作者:";
cin >> book.author;
cout << "出版年份:";
cin >> book.year;
cout << "价格:";
cin >> book.price;
books.push_back(book);
}
// 将list中的书籍信息写入文件
ofstream outFile("bookstore.txt");
if (outFile.is_open()) {
for (const auto& book : books) {
outFile << book.title << ", " << book.author << ", " << book.year << ", " << book.price << endl;
}
outFile.close();
cout << "书店入库记录已写入文件!" << endl;
} else {
cout << "无法打开文件!" << endl;
}
return 0;
}
```
在这个示例中,我们先输入了书店入库记录的数量`n`,然后使用`for`循环向`list`容器`books`中添加了`n`条书籍信息。在每次循环中,我们先创建了一个`Book`类型的结构体`book`,并依次输入了书名、作者、出版年份和价格等信息。接着,我们使用`list`的`push_back`方法将该结构体添加到容器中。最后,我们将容器中的所有书籍信息逐个输出到名为`bookstore.txt`的文件中。
注意,在实际应用中,我们可能需要对输入的数据进行一些合法性检查,例如检查价格是否为正数、年份是否合法等等。这里只是给出了一个简单的示例,希望能够帮助你理解如何使用C++的`list`容器以文件的方式记录每一条书店入库的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)