定义一个包含图书信息、(书号、书名、价格)的顺序表C++当输入均为0时退出循环
时间: 2024-10-14 08:10:19 浏览: 50
1.基于顺序存储结构的图书信息表的创建和输出 2..基于顺序存储结构的图书信息表的排序 3.基于顺序存储结构的图书信息表的修改
在C++中,我们可以定义一个结构体`Book`来存储图书的信息,包括书号、书名和价格。然后创建一个动态数组或者链表作为顺序表(这里我们假设使用动态数组),用于存储这些`Book`对象。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 定义图书信息结构体
struct Book {
int isbn; // 书号
string title; // 书名
double price; // 价格
};
int main() {
Book books[100]; // 创建一个动态数组用于存储书籍
int inputChoice;
do {
for (int i = 0; i < sizeof(books)/sizeof(books[0]); ++i) { // 循环直到输入0
cout << "请输入第" << (i+1) << "本书的信息(输入0结束):" << endl;
cin >> books[i].isbn >> books[i].title >> books[i].price;
}
// 检查是否所有输入都为0,如果是则退出循环
bool allZero = true;
for (const auto &book : books) {
if (book.isbn != 0 || book.title != "" || book.price != 0.0) {
allZero = false;
break;
}
}
if (allZero) {
cout << "所有输入都是0,退出循环。" << endl;
} else {
// 打印已输入的书籍信息
for (const auto &book : books) {
if (book.isbn > 0) {
cout << "书号: " << book.isbn << ", 书名: " << book.title << ", 价格: " << book.price << endl;
}
}
}
} while (!allZero);
return 0;
}
```
在这个程序中,用户可以持续输入图书信息,直到所有输入项的书号、书名和价格均等于0,这时会提示并退出循环。
阅读全文